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

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"
}

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"
}

AcceptGoodsQuote

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "goodsPurchase": GoodsPurchase
}

Account

The account object can be one of several attached to a Portfolio (which usually has an AccountUser which is used to authenticate access to the Portfolio's accounts). Typically a person has a single account attached to a portfolio and properties on the same account will appear on the same bill. Where separate bills are desired, multiple accounts are created and added to the same portfolio of accounts.

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.

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.

availableDemandResponseCampaignsForRegistration([String])

A list of available demand response campaigns in which this account can participate.

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.

billingAddress(String)

The billing address of the account.

billingAddressLine1(String)

Override Field to add additional attributes and extend description with possible_errors

billingAddressLine2(String)

Override Field to add additional attributes and extend description with possible_errors

billingAddressLine3(String)

Override Field to add additional attributes and extend description with possible_errors

billingAddressLine4(String)

Override Field to add additional attributes and extend description with possible_errors

billingAddressLine5(String)

Override Field to add additional attributes and extend description with possible_errors

billingAddressPostcode(String)

Override Field to add additional attributes and extend description with possible_errors

billingCountryCode(String)

Override Field to add additional attributes and extend description with possible_errors

billingDeliveryPointIdentifier(String)

Override Field to add additional attributes and extend description with possible_errors

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.

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.

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.

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.

canBeWithdrawn(Boolean)

Check whether the account can be withdrawn.

canRequestRefund(Boolean)

Whether the account can request a credit refund.

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)

consentData(GenericScalar)

A JSON object containing consent information.

consents([ConsentType!]!)

Consents linked to this account.

contributionAgreements([ContributionAgreementType])

Contribution agreements for account.

createdAt(DateTime)

The datetime that the account was originally created.

debtCollectionProceedings([DebtCollectionProceedingType])

Debt collection proceedings for account.

demandResponseCampaignParticipants([DemandResponseCampaignParticipantType])

The demand response campaigns associated with an 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.

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.

hasActiveAgreement(Boolean)

Check whether the account has an active energy agreement.

hasFutureAgreement(Boolean)

Check whether the account has a future energy agreement.

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.

lifelineAgencyApplication(LifelineAgencyApplication)

Lifeline Agency application.

marketSupplyAgreements(AgreementConnection)

Retrieve all market supply 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.

after (String)

before (String)

first (Int)

id (ID)

Filter the list to the agreement with this id.

last (Int)

maximumRefund(MaximumRefundType)

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

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.

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.

paymentInstructions(PaymentInstructionConnectionTypeConnection)

The payment instructions of the account

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([PaymentInstructionStatus])

Filter the payment instructions by status

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.

paymentPlans(PaymentPlanConnectionTypeConnection)

The payment plans that have been created for this account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

paymentPreferences(PaymentPreferenceConnectionTypeConnection)

The customer's preferred payment methods.

Arguments

after (String)

before (String)

first (Int)

last (Int)

paymentSchedule(PaymentScheduleType)

Current active payment schedule detail of the account.

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.

properties([Property])

Properties linked to the account now and in the future.

Arguments

activeFrom (DateTime)

Returns properties that have an effective period that ends at or after the given 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.

rewards([RewardType])

The rewards applied to this account.

splitBillingAddress([String])

List of billing address lines.

status(AccountStatus)

The current status of the account.

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.

users([AccountUser!]!)

Example

{
  "id": "abc123",
  "number": "abc123",
  "status": "PENDING",
  "paymentSchedules": PaymentScheduleConnectionTypeConnection,
  "users": AccountUser,
  "brand": "abc123",
  "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,
  "portfolio": PortfolioType,
  "ledgers": [LedgerType],
  "metadata": [Metadata],
  "canRequestRefund": true,
  "requestRefundEligibility": RequestRefundEligibilityType,
  "payments": AccountPaymentConnectionTypeConnection,
  "repayments": AccountRepaymentConnectionTypeConnection,
  "paymentPlans": PaymentPlanConnectionTypeConnection,
  "paymentForecast": [PaymentForecastType],
  "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
  "referrals": ReferralConnectionTypeConnection,
  "referralsCreated": 1,
  "rewards": [RewardType],
  "activeReferralSchemes": ReferralSchemeTypes,
  "transactions": TransactionConnectionTypeConnection,
  "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
  "annualStatements": AnnualStatementConnectionTypeConnection,
  "bills": BillConnectionTypeConnection,
  "billingOptions": BillingOptionsType,
  "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,
  "complaints": ComplaintConnectionTypeConnection,
  "properties": [Property],
  "marketSupplyAgreements": AgreementConnection,
  "consentData": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "paymentSchedule": PaymentScheduleType,
  "paymentInstructions": PaymentInstructionConnectionTypeConnection,
  "paymentPreferences": PaymentPreferenceConnectionTypeConnection,
  "availableDemandResponseCampaignsForRegistration": ["abc123"],
  "demandResponseCampaignParticipants": [DemandResponseCampaignParticipantType],
  "canBeWithdrawn": true,
  "hasActiveAgreement": true,
  "hasFutureAgreement": true,
  "lifelineAgencyApplication": LifelineAgencyApplication
}

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"
}

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
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)

Override Field to add additional attributes and extend description with possible_errors

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(Account)

The item at the end of the edge

Example

{
  "node": Account,
  "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
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
loyaltyPoints(Int)

The number of loyalty points the account has.

totalMonetaryAmount(Int)

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

Example

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

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 pence

billingDocumentIdentifier(String)

The billing document identifier to which the payment relates.

id(ID!)

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!)

status(AccountPaymentStatusOptions)

The current status of the payment.

surchargeAmount(Int)

Surcharge amount generated by this payment.

transactionType(AccountPaymentTransactionTypeChoices)

The transaction type of the payment.

Example

{
  "id": "abc123",
  "amount": 1,
  "paymentDate": "2020-01-01",
  "reference": "abc123",
  "transactionType": "DD_FIRST_COLLECTION",
  "status": "SCHEDULED",
  "paymentInstruction": PaymentInstructionType,
  "surchargeAmount": 1,
  "billingDocumentIdentifier": "abc123"
}

Fields

NameDescription
account(Account!)

createdAt(DateTime!)

namespace(String!)

updatedAt(DateTime!)

value(String!)

Example

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

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 pence

id(ID!)

paymentDate(Date!)

The date this payment is scheduled to be debited

status(AccountRepaymentStatusOptions)

The current status of the repayment.

Example

{
  "id": "abc123",
  "amount": 1,
  "paymentDate": "2020-01-01",
  "status": "REQUESTED"
}

AccountUser

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
accountUserMeta(AccountUserMeta)

Additional user details, if they exist.

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.

alternativePhoneNumbers([String])

List of alternative phone numbers for the account user.

consents([ConsentType!]!)

Consents linked to this user.

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!)

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!)

isDeceased(Boolean!)

Designates whether this user is deceased.

isInHardship(Boolean)

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

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.

liveSecretKey(String)

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

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.

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.

pronouns(String)

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

specialCircumstances(SpecialCircumstancesType)

title(String)

Example

{
  "id": "abc123",
  "number": "abc123",
  "accounts": AccountInterface,
  "givenName": "abc123",
  "familyName": "abc123",
  "email": "abc123",
  "mobile": "abc123",
  "landline": "abc123",
  "title": "abc123",
  "pronouns": "abc123",
  "isDeceased": true,
  "liveSecretKey": "abc123",
  "portfolios": PortfolioConnectionTypeConnection,
  "dateOfBirth": "2020-01-01",
  "details": [AccountUserDetailType],
  "displayName": "abc123",
  "firstName": "abc123",
  "lastName": "abc123",
  "fullName": "abc123",
  "preferredName": "abc123",
  "portfolioId": "abc123",
  "portfolioIds": ["abc123"],
  "specialCircumstances": SpecialCircumstancesType,
  "preferences": AccountUserCommsPreferences,
  "landlinePhoneNumber": "abc123",
  "alternativePhoneNumbers": ["abc123"],
  "hasFamilyIssues": true,
  "isInHardship": true,
  "accountUserRoles": [AccountUserRoleType],
  "portfolioUserRoles": [PortfolioUserRoleType],
  "consents": ConsentType,
  "paymentMethods": PaymentInstructionConnectionTypeConnection,
  "accountUserMeta": AccountUserMeta
}

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.

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.

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"
}

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(AccountUser)

The item at the end of the edge

Example

{
  "node": AccountUser,
  "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
kanaFamilyName(String)

kanaGivenName(String)

kanjiFamilyName(String)

kanjiGivenName(String)

Example

{
  "kanjiGivenName": "abc123",
  "kanjiFamilyName": "abc123",
  "kanaGivenName": "abc123",
  "kanaFamilyName": "abc123"
}

AccountUserRoleType

The role a user has in association with one account.

Fields

NameDescription
account(Account!)

id(ID!)

role(RoleString)

The account role.

user(AccountUser!)

Example

{
  "id": "abc123",
  "user": AccountUser,
  "account": Account,
  "role": RoleString
}

AddCampaignToAccount

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-7427: No campaign found with given slug.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • 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-Possible-Errors' header instead.

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

Example

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

Fields

NameDescription
addon(AddOnType)

Add-on details.

productRate(ProductRate)

Add-on's product rate details.

Example

{
  "addon": AddOnType,
  "productRate": ProductRate
}

Fields

NameDescription
band(String)

Rate band for rates matching this add-on.

description(String)

Customer-facing long description.

family(String)

What family does the add-on belong to.

title(String)

Customer-facing short title.

Example

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

Fields

NameDescription
addonRates([AddOnRateType])

List of add-on rates on the agreement.

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

id(Int)

The ID of the agreement.

isRevoked(Boolean)

Whether the agreement is revoked.

params(GenericScalar)

The agreement additional params.

product(Product)

Override Field to add additional attributes and extend description with possible_errors

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",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "addonRates": [AddOnRateType],
  "product": ElectricitySingleStepProduct,
  "params": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType
}

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"
}

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"
}

AmendPayment

The possible errors that can be raised are:

  • KT-CT-3924: 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
payment(AccountPaymentType)

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "payment": AccountPaymentType
}

AmperageChangeInitiated

AmperageChange was successfully initiated.

Fields

NameDescription
message(String!)

The message to display to the user on amperage change initiation.

Example

{
  "message": "abc123"
}

Fields

NameDescription
amperageChangeDate(Date)

The requested change date provided by the customer.

requestedAmperageValue(Int)

The requested amperage value to change to, provided by the customer.

Example

{
  "requestedAmperageValue": 1,
  "amperageChangeDate": "2020-01-01"
}

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!)

pdfUrl(String)

URL to the PDF of the annulment.

Example

{
  "id": 1,
  "annulledBillingDocumentId": 1,
  "firstIssued": "2020-01-01T00:00:00.000Z",
  "pdfUrl": "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"
}

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"
}

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "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
accountNumber(String!)

Account that has switched to bank transfer payment method.

Example

{
  "accountNumber": "abc123"
}

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.

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"
}

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"
}

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"
}

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"
}

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"
}

BillingDocumentIssuanceFrequencyType

Represents billing document issuance frequency to be applied during 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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

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"
}

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
billingAddress(RichAddressType)

The billing address of the business.

businessType(BusinessTypeOptions)

The company type of a business account.

details([BusinessDetailType])

The details of the business.

kanaCompanyName(String)

Company name in Kana.

kanjiCompanyName(String)

Company name in Kanji.

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

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.

segmentName(String)

The segment this business is assigned to

Example

{
  "name": "abc123",
  "number": "abc123",
  "businessType": "SOLE_TRADER",
  "details": [BusinessDetailType],
  "billingAddress": RichAddressType,
  "linkedAccountNumber": "abc123",
  "linkedAccountNumbers": "abc123",
  "segmentName": "abc123",
  "paymentMethods": PaymentInstructionConnectionTypeConnection,
  "kanjiCompanyName": "abc123",
  "kanaCompanyName": "abc123"
}

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"
}

CancelMoveOut

The possible errors that can be raised are:

  • KT-JP-4537: Move out cancel input data is invalid.
  • KT-JP-4501: Unauthorized.
  • KT-JP-4536: Move out active process not found.
  • KT-JP-4535: Move out cancel cannot self-service.
  • KT-JP-4101: Unauthorized.
  • KT-JP-4520: Unable to process request.
  • KT-JP-4538: Move out process not withdrawable.
  • 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-Possible-Errors' header instead.

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

spin(String!)

Supply point identification number.

Example

{
  "possibleErrors": [PossibleErrorType],
  "spin": "abc123"
}

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
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-Possible-Errors' header instead.

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

repaymentRequest(CancelRepaymentRequestOutputType)

The cancelled repayment/refund request.

Example

{
  "possibleErrors": [PossibleErrorType],
  "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"
}

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
}

CharacteristicOverrideConfigurationType

Represents a characteristic override configuration 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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

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.

Deprecated

The 'amount' field is deprecated.

Use `amounts` instead for a breakdown of the relevant net, tax, and gross amounts.

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

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.

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.

hasStatement(Boolean)

Returns True if the transaction is linked with a statement.

id(ID)

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!)

lineItems(LineItemConnectionTypeConnection)

The line items that make up the charge.

Arguments

after (String)

before (String)

first (Int)

last (Int)

note(String)

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

postedDate(Date)

readingId(String)

The reading ID associated with the charge.

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)

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,
  "lineItems": LineItemConnectionTypeConnection,
  "readingId": "abc123"
}

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"
}

Fields

NameDescription
grossAmount(BigInt)

The gross amount charged.

lineItems([LineItemType])

The line items for the charge.

salesTaxAmount(BigInt)

The sales tax amount charged.

Example

{
  "grossAmount": 1,
  "salesTaxAmount": 1,
  "lineItems": [LineItemType]
}

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
}

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"
}

CollectPayment

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "payment": AccountPaymentType
}

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.

issuedDate(Date)

The date the bill was sent to the customer.

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,
  "constituents": ConstituentConnection
}

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


Fields

NameDescription
agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

id(ID!)

isActive(Boolean)

Whether the agreement is currently active.

isRevoked(Boolean)

Whether the agreement is revoked.

product(SupplyProductType)

The product associated with the agreement.

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",
  "supplyPoint": SupplyPointType,
  "product": SupplyProductType,
  "isActive": true,
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true
}

CommonError

A Common 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"
}

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!)

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"
}

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
}

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "consent": ConsentType
}

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.

value(ConsentValue!)

Value of the consent.

Example

{
  "id": 1,
  "code": "abc123",
  "value": "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)

quantity(Decimal)

startDate(Date)

supplyCharge(Int)

unit(ConsumptionUnit)

usageCost(Int)

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
}

Fields

NameDescription
band(String)

The product rate band information.

pricePerUnitIncTax(Decimal!)

The price per unit including tax.

stepEnd(Int)

The step end for the consumption tier for the charge.

stepStart(Int)

The step start for the consumption tier for the charge.

Example

{
  "pricePerUnitIncTax": 1.0,
  "stepStart": 1,
  "stepEnd": 1,
  "band": "abc123"
}

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per kWh without tax.

pricePerUnitIncTax(Decimal!)

Price per kWh including tax.

regionOfOperation(String)

Region of operation.

timeOfUse(String)

Time of use label for the rate.

unitType(UnitType)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "DAYS_ON_SUPPLY",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0,
  "timeOfUse": "abc123"
}

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.

party(ContractParty)

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

signedAt(DateTime)

Date when the contract was signed.

status(ContractStatus)

The status of the contract.

subject([Account])

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": Account,
  "subject": [Account],
  "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",
  "lifecycle": ContractVersion,
  "terms": TermInterface
}

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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

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,
  "isAmendable": true,
  "isVariable": true,
  "metadata": {"key": "value"}
}

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"
}

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
}

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",
  "agreement": ContributionAgreementType,
  "fulfilledAt": "2020-01-01T00:00:00.000Z",
  "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
}

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"
}

Fields

NameDescription
availableActions([SelfServiceAction])

Available self-service actions.

customerName(String)

The name of the customer.

customerNameKana(String)

The name of the customer, in kana.

forecastedSupplyStartDate(Date)

The forecasted supply start date provided by OCCTO. Subject to change.

requestId(String)

The ID of the switch-in request.

Example

{
  "requestId": "abc123",
  "customerName": "abc123",
  "customerNameKana": "abc123",
  "forecastedSupplyStartDate": "2020-01-01",
  "availableActions": "CUSTOMER_NAME_CORRECTION"
}

Fields

NameDescription
requestedSupplyEndDate(Date)

The requested supply end date provided by the customer.

status(CosLossProcessStatus)

The status of the switch-out request.

Example

{
  "requestedSupplyEndDate": "2020-01-01",
  "status": "READY_TO_SEND_DECISION"
}

CreateAccountPaymentSchedule

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-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-Possible-Errors' header instead.

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

schedule(PaymentScheduleType!)

New payment schedule.

Example

{
  "possibleErrors": [PossibleErrorType],
  "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)

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountReference": AccountReferenceType
}

CreateContributionAgreement

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "contributionAgreement": ContributionAgreementType
}

CreateCreditTransferPermission

Mutation to 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
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-Possible-Errors' header instead.

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

validFrom(DateTime)

Datetime when the credit transfer permission is valid.

Example

{
  "possibleErrors": [PossibleErrorType],
  "validFrom": "2020-01-01T00:00:00.000Z"
}

CreateGoodsPurchase

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "goodsPurchase": GoodsPurchase
}

CreateGoodsQuote

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "goodsQuote": GoodsQuote
}

CreateGoodsQuoteWithoutAccount

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "goodsQuote": GoodsQuote
}

CreatePaymentMethod

Creates a new customer in GMO, a PaymentInstruction, and PaymentSchedule for an existing user.

This is called when creating a new CREDIT CARD payment method. Direct debit uses the IncomingGMOCreationExistingAccountCallback webhook.

This endpoint is designed to be used on an account with no existing payment method.

Fields

NameDescription
reference(String!)

GMO payment instruction reference.

Example

{
  "reference": "abc123"
}

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
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-Possible-Errors' header instead.

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

referredAccountRewardAmount(Int)

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "referredAccountRewardAmount": 1
}

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.

Deprecated

The 'amount' field is deprecated.

Use `amounts` instead for a breakdown of the relevant net, tax, and gross amounts.

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

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)

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)

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)

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
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"
}

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"
}

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"
}

DelayerDaysType

Represents delayer days for active payment 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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

DeletePushNotificationBinding

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
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-Possible-Errors' header instead.

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

status(DeletePushNotificationBindingOutput)

Example

{
  "possibleErrors": [PossibleErrorType],
  "status": "SUCCESSFUL"
}

Fields

NameDescription
isOptedIntoDemandResponseEvents(Boolean)

Opt-in or out of future events.

isOptedIntoEmails(Boolean)

Opt-in or out to email communications.

isOptedIntoLine(Boolean)

Opt-in or out to line communications.

Example

{
  "isOptedIntoDemandResponseEvents": true,
  "isOptedIntoEmails": true,
  "isOptedIntoLine": true
}

Fields

NameDescription
tips(JSONString)

Campaign participant tips.

totalNumberOfEntries(Int)

Get the number of entries the participant has for the next prize draw.

Example

{
  "tips": {"key": "value"},
  "totalNumberOfEntries": 1
}

DemandResponseCampaignParticipantType

Type representing the fields in the model representing a customer's results for the latest demand response campaign.

Fields

NameDescription
averagePercentageDifference(Float)

The average percentage difference across all demand response days.

campaignEnd(DateTime)

The end date of this campaign.

campaignName(String)

The campaign that the participant belongs to.

campaignStart(DateTime)

The start date of this campaign.

demandResponseDailyResults([DemandResponseDailyResultType!]!)

Fetch a list of each demand response date the customer participated in.

isEligibleForEvents(Boolean)

A participant is eligible for events if they have been more than a few days on supply.

isOptedIntoEmails(Boolean)

Whether the participant is opted in to email communications.

isOptedIntoEvents(Boolean)

Whether the participant is opted in to future events.

isOptedIntoLine(Boolean)

Whether the participant is opted in to line communications.

numberOfEntries(Int)

Get the number of entries the participant has for the next prize draw.

optedInAt(DateTime)

The timestamp when the account opted in for this campaign.

spin(String)

Signed up supply point identification number.

successfulDaysCount(Int)

The number of demand response event days where a customer achieved the target.

tips(JSONString)

Get the campaign tips and whether they've been completed by the participant.

totalDiffCarbon(Float)

The total CO2 that a customer saved or increased due to their consumption change.

totalDiffKwh(Float)

The total in kWh that a customer's consumption changed by participating in the latest campaign.

totalTreesSaved(Float)

The total CO2 that a customer saved converted into trees.

Example

{
  "totalDiffKwh": 1.0,
  "successfulDaysCount": 1,
  "campaignName": "abc123",
  "campaignStart": "2020-01-01T00:00:00.000Z",
  "campaignEnd": "2020-01-01T00:00:00.000Z",
  "averagePercentageDifference": 1.0,
  "demandResponseDailyResults": DemandResponseDailyResultType,
  "totalDiffCarbon": 1.0,
  "totalTreesSaved": 1.0,
  "optedInAt": "2020-01-01T00:00:00.000Z",
  "tips": {"key": "value"},
  "numberOfEntries": 1,
  "isEligibleForEvents": true,
  "isOptedIntoEvents": true,
  "isOptedIntoEmails": true,
  "isOptedIntoLine": true,
  "spin": "abc123"
}

DemandResponseDailyResultType

Type representing a single day's results for a customer attempting a demand response event.

Fields

NameDescription
amountSaved(Float)

The amount in yen that have been saved in this challenge.

baselineConsumptionKwh(Float)

The expected consumption of a customer with responding to a demand response event.

eventDate(Date)

The date of a particular demand response event.

numberOfEntries(Int)

Get the number of entries the participant has got from this daily result.

outturnConsumptionKwh(Float)

The actual consumption of a customer, having responded to an event.

percentageDifference(Float)

The percentage difference between the target and actual consumption.

validFrom(DateTime)

The start time of a particular demand response event.

validTo(DateTime)

The end time of a particular demand response event.

Example

{
  "eventDate": "2020-01-01",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "baselineConsumptionKwh": 1.0,
  "outturnConsumptionKwh": 1.0,
  "percentageDifference": 1.0,
  "amountSaved": 1.0,
  "numberOfEntries": 1
}

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",
  "sortCode": "abc123",
  "iban": "abc123",
  "accountHolder": "abc123",
  "instructionType": "abc123",
  "cardPaymentNetwork": "abc123",
  "cardExpiryMonth": 1,
  "cardExpiryYear": 1,
  "lastFourDigitsOfAccountNumber": "abc123",
  "maskedAccountIdentifier": "abc123",
  "maskedIban": "abc123",
  "owners": [PaymentInstructionOwnerType]
}

Fields

NameDescription
status(DisconnectionProcessStatus!)

The status of the disconnection process.

supplyEndDate(Date)

The date when the supply is scheduled to be disconnected.

Example

{
  "status": "WAITING_TO_APPLY",
  "supplyEndDate": "2020-01-01"
}

Fields

NameDescription
actionedAt(DateTime)

createdAt(DateTime!)

dueDate(Date!)

stepName(String!)

usedChannel(DunningActionUsedChannel)

Example

{
  "stepName": "abc123",
  "usedChannel": "EMAIL",
  "dueDate": "2020-01-01",
  "actionedAt": "2020-01-01T00:00:00.000Z",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
actions([DunningAction])

Actions associated with a DunningProces.

badDebt(Int)

Delinquent debt for an Account.

concludedAt(DateTime)

The date and time where the process reached a terminal state, such as complete or withdrawn.

createdAt(DateTime!)

createdBy(String)

Created by SupportUser reference.

createdNote(String!)

nextStep(String)

The next step in the DunningProcess.

pathName(String!)

previousStep(String)

The previous step in the DunningProcess.

startDate(Date!)

status(DunningProcessStatus!)

updatedAt(DateTime!)

withdrawnBy(String)

Withdrawn by SupportUser reference.

Example

{
  "pathName": "abc123",
  "startDate": "2020-01-01",
  "status": "ACTIVE",
  "createdBy": "abc123",
  "createdNote": "abc123",
  "withdrawnBy": "abc123",
  "concludedAt": "2020-01-01T00:00:00.000Z",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "actions": [DunningAction],
  "previousStep": "abc123",
  "nextStep": "abc123",
  "badDebt": 1
}

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)

Override Field to add additional attributes and extend description with possible_errors

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"
}

ElectricityFitProduct

Product that has the FiT tariff.

Fields

NameDescription
code(String!)

Product code.

displayName(String!)

Human friendly name to be displayed in interfaces.

generationCredits([GenerationCreditRate]!)

Generation credit rate information.

params(GenericScalar)

A JSON object containing extra information.

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "params": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "generationCredits": GenerationCreditRate
}

Fields

NameDescription
agreements([GenerationAgreement])

The Agreements linked to this electricity generation point.

gpin(String!)

The generation point identification number.

halfHourlyReadings([ElectricityHalfHourReading!]!)

Fetch Half Hourly Readings for this GPIN from and to a given datetime of any version. Restricted by the Agreement Periods.

Arguments

fromDatetime (DateTime)

Search for Readings where the start of the period is greater than or equal to this datetime.

productCode (String)

Base cost estimations on this product.

toDatetime (DateTime)

Search for Readings where the start of the period is less than this datetime.

id(ID)

Electricity generation point id.

intervalReadings([ExportIntervalReadings!]!)

Return the monthly confirmed Export readings associated with a given Electricity Generation Point.Restricted by the Agreement Periods.

Arguments

productCode (String)

Base cost estimations on this product.

latestExportCosGainProcess(ExportCosGainProcess)

The most recent Export Cos Gain Process.

status(GenerationPointStatus!)

The generation point status.

Example

{
  "id": "abc123",
  "gpin": "abc123",
  "status": "UNDER_CONTRACT",
  "agreements": [GenerationAgreement],
  "latestExportCosGainProcess": ExportCosGainProcess,
  "intervalReadings": ExportIntervalReadings,
  "halfHourlyReadings": ElectricityHalfHourReading
}

ElectricityHalfHourReading

Half Hourly Interval Reading - can be a variety of different versions.

Fields

NameDescription
consumptionRateBand(String!)

The tariff's consumption product rate band that this reading falls into.

consumptionStep(Int!)

Placeholder for FED type check, will remove it soon.

costEstimate(Decimal!)

Estimated cost for amount of Electricity used.

endAt(DateTime!)

End of Interval Period - always 30mins later.

startAt(DateTime!)

Start of Interval Period.

value(Decimal!)

Consumed amount of Electricity during period, in kWh.

version(HalfHourlyReadingsVersions!)

The version of the half hourly reading.

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "value": 1.0,
  "costEstimate": 1.0,
  "version": "DAILY",
  "consumptionRateBand": "abc123",
  "consumptionStep": 1
}

ElectricityIntervalReading

Monthly Interval Reading - which may have associated 30min Readings

Fields

NameDescription
billableMonth(String!)

The month with which the monthly interval reading is associated.

costEstimate(Decimal!)

Estimated cost for amount of Electricity used.

endAt(DateTime!)

End of Interval Period.

halfHourlyReadings([ElectricityHalfHourReading!]!)

Fetch Half Hourly Readings associated with this interval reading. Will return an empty list if hashalfhourlydatafor_period is False.

hasHalfHourlyDataForPeriod(Boolean!)

Tracks whether there are Half Hourly Readings associated with this Interval.

id(ID)

periodLengthDays(Int!)

The interval period length, in days.

readingDate(Date)

Date when the reading was taken.

startAt(DateTime!)

Start of Interval Period.

value(Decimal!)

Consumed amount of Electricity during period, in kWh.

Example

{
  "id": "abc123",
  "readingDate": "2020-01-01",
  "billableMonth": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "periodLengthDays": 1,
  "value": 1.0,
  "hasHalfHourlyDataForPeriod": true,
  "halfHourlyReadings": ElectricityHalfHourReading,
  "costEstimate": 1.0
}

ElectricitySingleStepProduct

Product with a single unit rate.

Fields

NameDescription
code(String!)

Product code.

consumptionCharges([ConsumptionRate]!)

displayName(String!)

Human friendly name to be displayed in interfaces.

fuelCostAdjustment(FuelCostAdjustmentRate)

Fuel cost adjustment rate information.

params(GenericScalar)

A JSON object containing extra information.

standingChargePricePerDay(Decimal)

Price per day for standing charge.

standingChargeUnitType(String)

Unit type for standing charge.

standingCharges([StandingCharge]!)

List of standing charge product rates.

standingChargesBad([StandingCharge]!)

List of standing charge product rates.

tags([String]!)

Product Tags.

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "params": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "standingChargeUnitType": "abc123",
  "standingChargePricePerDay": 1.0,
  "standingCharges": StandingCharge,
  "standingChargesBad": StandingCharge,
  "fuelCostAdjustment": FuelCostAdjustmentRate,
  "tags": "abc123",
  "consumptionCharges": ConsumptionRate
}

ElectricitySteppedProduct

Product where kilowatt-hour rate varies according to the level of consumption during the period specified in the rates.

Fields

NameDescription
code(String!)

Product code.

consumptionCharges([SteppedConsumptionRate]!)

List of consumption product rates.

displayName(String!)

Human friendly name to be displayed in interfaces.

fuelCostAdjustment(FuelCostAdjustmentRate)

Fuel cost adjustment rate information.

params(GenericScalar)

A JSON object containing extra information.

standingChargePricePerDay(Decimal)

Price per day for standing charge.

standingChargeUnitType(String)

Unit type for standing charge.

standingCharges([StandingCharge]!)

List of standing charge product rates.

standingChargesBad([StandingCharge]!)

List of standing charge product rates.

tags([String]!)

Product Tags.

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "params": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "standingChargeUnitType": "abc123",
  "standingChargePricePerDay": 1.0,
  "standingCharges": StandingCharge,
  "standingChargesBad": StandingCharge,
  "fuelCostAdjustment": FuelCostAdjustmentRate,
  "tags": "abc123",
  "consumptionCharges": SteppedConsumptionRate
}

Fields

NameDescription
activeAmperageChangeProcess(AmperageChangeProcess)

A currently active amperage change process.

activeCosLossProcess(CosLossProcess)

Override Field to add additional attributes and extend description with possible_errors

activeMoveOutProcess(MoveOutProcess)

Override Field to add additional attributes and extend description with possible_errors

agreements([Agreement]!)

The Agreements linked to this electricity supply point.

Arguments

onlyActive (Boolean)

amperage(Int)

The supply point capacity in Amperes.

Deprecated

This field may not contain the most up-to-date information. Please check the supply details list for the current value.

canApplyAmperageChange(Boolean)

An indication of whether a customer can apply for the change themselves.

canUpdateMoveInDate(Boolean)

An indication of whether the move-in date can be updated.

canUpdateMoveOutDate(Boolean)

An indication of whether the move-out date can be updated.

contractedCapacity(String)

The calculated capacity based on the agreement.

contractedCapacityOld(String)

(Soon to be deprecated) The calculated capacity based on the agreement.

earliestAmperageChangeDate(Date!)

The earliest date in which an amperage change can be performed.

halfHourlyReadings([ElectricityHalfHourReading!]!)

Fetch Half Hourly Readings for this SPIN from and to a given datetime of any version. Restricted by the Agreement Periods.

Arguments

fromDatetime (DateTime)

Search for Readings where the start of the period is greater than or equal to this datetime.

productCode (String)

Base cost estimations on this product.

toDatetime (DateTime)

Search for Readings where the start of the period is less than this datetime.

id(ID)

intervalReadings([ElectricityIntervalReading!]!)

Return the monthly confirmed readings associated with a given Supply Point. Restricted by the Agreement Periods.

Arguments

productCode (String)

Base cost estimations on this product.

sortOrder (IntervalReadingsSortOrder)

Sort order of the readings.

kva(Int)

The supply point capacity in kVA.

Deprecated

This field may not contain the most up-to-date information. Please check the supply details list for the current value.

kw(Decimal)

The supply point capacity in kW.

Deprecated

This field may not contain the most up-to-date information. Please check the supply details list for the current value.

latestCosGainProcess(CosGainProcess)

Override Field to add additional attributes and extend description with possible_errors

latestCosLossProcess(CosLossProcess)

The latest switch-out process active on this account.

latestMoveInProcess(MoveInProcess)

Override Field to add additional attributes and extend description with possible_errors

latestMoveOutProcess(MoveOutProcess)

The latest move-out process active on this account.

newAmperageOptions([Int]!)

A list of the possible amperage values to select.

nextNextReadingDate(Date)

Date of when the reading after the next reading will be collected by the grid operator.

nextReadingDate(Date)

Date of when the next reading will be collected by the grid operator.

readingDateDayOfMonth(Int)

The day of the month on which the reading is collected.

references([ElectricitySupplyPointReference])

References for the electricity supply point.

spin(String!)

The supply point identification number.

status(SupplyPointStatus!)

The meter point status.

supplyDetails([SupplyDetails])

Historical supply details list for this account, ordered by the valid_from date in descending order.

supplyPeriods([SupplyPeriodType])

The supply periods for the supply point.

Example

{
  "id": "abc123",
  "spin": "abc123",
  "amperage": 1,
  "kva": 1,
  "kw": 1.0,
  "status": "ON_SUPPLY",
  "agreements": Agreement,
  "supplyDetails": [SupplyDetails],
  "latestCosGainProcess": CosGainProcess,
  "activeCosLossProcess": CosLossProcess,
  "latestMoveInProcess": MoveInProcess,
  "activeMoveOutProcess": MoveOutProcess,
  "latestCosLossProcess": CosLossProcess,
  "latestMoveOutProcess": MoveOutProcess,
  "activeAmperageChangeProcess": AmperageChangeProcess,
  "canApplyAmperageChange": true,
  "canUpdateMoveInDate": true,
  "canUpdateMoveOutDate": true,
  "newAmperageOptions": 1,
  "earliestAmperageChangeDate": "2020-01-01",
  "intervalReadings": ElectricityIntervalReading,
  "halfHourlyReadings": ElectricityHalfHourReading,
  "nextReadingDate": "2020-01-01",
  "nextNextReadingDate": "2020-01-01",
  "readingDateDayOfMonth": 1,
  "supplyPeriods": [SupplyPeriodType],
  "references": [ElectricitySupplyPointReference],
  "contractedCapacity": "abc123",
  "contractedCapacityOld": "abc123"
}

Fields

NameDescription
namespace(String)

Key to identify the reference.

value(String)

Value for this namespace.

Example

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

EmailAttachmentType

Represents a file to attach to a email message.

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
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
}

EmailQuote

The possible errors that can be raised are:

  • KT-JP-4609: Terms and conditions not found.
  • KT-CT-1113: Disabled GraphQL field requested.

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-Possible-Errors' header instead.

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

sent(Boolean)

Example

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

EmailType

Represents an email communication

Fields

NameDescription
attachments([EmailAttachmentType])

Attachments of the email message.

channel(MessageChannel!)

createdAt(DateTime!)

fromEmail(String!)

fromNumber(String!)

htmlBody(String)

id(ID!)

recipient(String)

Email recipient.

sender(String)

Email sender.

sentAt(DateTime)

subject(String)

Subject line of the email message.

templateCode(String!)

textBody(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": [EmailAttachmentType],
  "subject": "abc123",
  "textBody": "abc123",
  "htmlBody": "abc123",
  "sender": "abc123",
  "recipient": "abc123"
}

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)

Override Field to add additional attributes and extend description with possible_errors

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"
}

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"
}

EndContributionAgreement

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "contributionAgreement": ContributionAgreementType
}

EnergyMixDataType

Energy mix data can include the latest carbon intensity index in a region.

Fields

NameDescription
carbonIntensityIndex(String)

Current carbon intensity index.

Example

{
  "carbonIntensityIndex": "abc123"
}

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-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
outcome(EnrollAccountInLoyaltyProgramOutcome)

Outcome of the loyalty points campaign enrollment.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "outcome": EnrollAccountInLoyaltyProgramOutcome
}

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
}

Fields

NameDescription
field(String!)

messages([String!]!)

Example

{
  "field": "abc123",
  "messages": "abc123"
}

EstimateUsage

Estimate average monthly electricity usage in kwh based on EstimateUsageInputType fields.

Fields

NameDescription
usageEstimate(Int)

Example

{
  "usageEstimate": 1
}

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
}

Fields

NameDescription
availableActions([SelfServiceAction])

Available self-service actions.

customerName(String)

The name of the customer.

customerNameKana(String)

The name of the customer, in kana.

forecastedExportStartDate(Date)

The forecasted export start date provided by OCCTO. Subject to change.

requestId(String)

The ID of the Export Switch-In Request.

Example

{
  "requestId": "abc123",
  "customerName": "abc123",
  "customerNameKana": "abc123",
  "forecastedExportStartDate": "2020-01-01",
  "availableActions": "CUSTOMER_NAME_CORRECTION"
}

ExportIntervalReadings

Monthly Interval Reading - which may have associated 30min Readings

Fields

NameDescription
billableMonth(String!)

The month with which the monthly interval reading is associated.

costEstimate(Decimal!)

Estimated cost for amount of Electricity generated.

endAt(DateTime!)

End of Interval Period.

halfHourlyReadings([ElectricityHalfHourReading!]!)

Fetch Half Hourly Readings associated with this interval reading. Will return an empty list if hashalfhourlydatafor_period is False.

hasHalfHourlyDataForPeriod(Boolean!)

Tracks whether there are Half Hourly Readings associated with this Interval.

periodLengthDays(Int!)

The interval period length, in days.

readingDate(Date)

Date when the reading was taken.

startAt(DateTime!)

Start of Interval Period.

value(Decimal!)

Generated amount of Electricity during period, in kWh.

Example

{
  "readingDate": "2020-01-01",
  "billableMonth": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "periodLengthDays": 1,
  "value": 1.0,
  "hasHalfHourlyDataForPeriod": true,
  "halfHourlyReadings": ElectricityHalfHourReading,
  "costEstimate": 1.0
}

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
amount(Int!)

The suggested fixed payment amount.

Example

{
  "amount": 1
}

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
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
}

FuelCostAdjustmentRate

Fuel cost adjustment product rate.

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per kWh without tax.

pricePerUnitIncTax(Decimal!)

Price per kWh including tax.

regionOfOperation(String)

Region of operation.

unitType(UnitType)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime!)

Fuel cost adjustment rate valid from datetime.

validTo(DateTime!)

Fuel cost adjustment rate valid to datetime.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "DAYS_ON_SUPPLY",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0
}

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
}

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"
}

GasIntervalReading

Gas Interval Reading

Fields

NameDescription
daysOfGasUsage(Int!)

Number of days of gas usage.

endAt(DateTime!)

End of interval period.

id(ID)

Kraken gas reading id.

readingDate(Date!)

Date reading was taken.

readingReason(String!)

Reason for reading.

startAt(DateTime!)

Start of interval period.

usage(Int!)

Gas usage in cubic meters.

Example

{
  "id": "abc123",
  "daysOfGasUsage": 1,
  "endAt": "2020-01-01T00:00:00.000Z",
  "readingDate": "2020-01-01",
  "readingReason": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "usage": 1
}

Fields

NameDescription
activeDisconnectionProcess(DisconnectionProcess)

The latest active disconnection process for the supply point.

agreements([Agreement]!)

The Agreements linked to this gas supply point.

Arguments

onlyActive (Boolean)

Whether only active agreements should be returned.

intervalReadings([GasIntervalReading])

The meter readings for the supply point.

Arguments

fromDatetime (DateTime)

Find readings that end after this datetime.

sortOrder (IntervalReadingsSortOrder)

Chronological sort order of the readings.

toDatetime (DateTime)

Find readings that start before this datetime.

meterCapacity(String)

The meter capacity of the supply point.

nextNextReadingDate(Date)

Date of when the reading after the next reading will be collected by the grid operator.

nextReadingDate(Date)

Date of when the next reading will be collected by the grid operator.

physicalMeterNumber(String!)

previousReadingDate(Date)

Date of when the previous reading was collected by the grid operator.

readingBatch(String!)

readingDateType(String!)

readingMethodType(String!)

spin(String!)

The supply point identification number.

status(GasSupplyPointStatus!)

The meter point status.

supplyPeriods([SupplyPeriodType])

The supply periods for the supply point.

Example

{
  "spin": "abc123",
  "physicalMeterNumber": "abc123",
  "readingBatch": "abc123",
  "readingDateType": "abc123",
  "readingMethodType": "abc123",
  "meterCapacity": "abc123",
  "status": "ON_SUPPLY",
  "previousReadingDate": "2020-01-01",
  "nextReadingDate": "2020-01-01",
  "nextNextReadingDate": "2020-01-01",
  "supplyPeriods": [SupplyPeriodType],
  "activeDisconnectionProcess": DisconnectionProcess,
  "intervalReadings": [GasIntervalReading],
  "agreements": Agreement
}

GasTieredProduct

Product for the gas market.

Fields

NameDescription
code(String!)

Product code.

consumptionCharges([TieredConsumptionRate]!)

List of consumption product rates.

displayName(String!)

Human friendly name to be displayed in interfaces.

params(GenericScalar)

A JSON object containing extra information.

standingChargeUnitType(String)

Unit type for standing charge.

standingCharges([TieredStandingCharge]!)

List of standing charge product rates.

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "params": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "standingChargeUnitType": "abc123",
  "standingCharges": TieredStandingCharge,
  "consumptionCharges": TieredConsumptionRate
}

Fields

NameDescription
product(Product)

The product for the generation agreement.

validFrom(DateTime)

Agreement valid-from datetime.

validTo(DateTime)

Agreement valid-to datetime.

Example

{
  "product": ElectricitySingleStepProduct,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per kWh without tax.

pricePerUnitIncTax(Decimal!)

Price per kWh including tax.

regionOfOperation(String)

Region of operation.

unitType(UnitType)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "DAYS_ON_SUPPLY",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0
}

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
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-Possible-Errors' header instead.

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

secretKey(String)

Example

{
  "possibleErrors": [PossibleErrorType],
  "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.

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-Possible-Errors' header instead.

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

secretKey(String)

The client secret needed to create a new stored payment instruction.

Example

{
  "possibleErrors": [PossibleErrorType],
  "secretKey": "abc123"
}

GetHostedUrlForNewPaymentInstruction

Get 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-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-Possible-Errors' header instead.

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

url(String)

URL at which payment instruction can be set up.

Example

{
  "possibleErrors": [PossibleErrorType],
  "url": "abc123"
}

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"
}

GuaranteeOfOriginConfigurationType

Configuration for Guarantee of Origin term, defining percentage of energy from renewable sources.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

guaranteeOfOriginPercentage(GuaranteeOfOriginPercentage)

The percentage of the guarantee of origin.

identifier(NonEmptyString)

The identifier of the term.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

HardshipAgreementType

Represents a Hardship Agreement for a particular Account.

Fields

NameDescription
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"
}

Fields

NameDescription
isHeld(Boolean)

Whether a statement is currently held.

reason(String)

Reason for statement being held.

Example

{
  "isHeld": true,
  "reason": "abc123"
}

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"
}

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"
}

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "payment": InitiateHostedStandalonePaymentOutput
}

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"
}

Fields

NameDescription
clientMutationId(String)

liveChat(InkLiveChat)

The live chat.

Example

{
  "liveChat": InkLiveChat,
  "clientMutationId": "abc123"
}

InitiateProductSwitch

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-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-Possible-Errors' header instead.

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

productCode(String!)

The selected product for a specific product switch.

switchDate(Date!)

The date at which the product switch becomes effective.

Example

{
  "possibleErrors": [PossibleErrorType],
  "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)

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "payment": InitiateStandalonePaymentOutput
}

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
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
accountUsers([AccountUser!])

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!)

status(InkConversationStatus!)

The status of the conversation.

Example

{
  "id": "abc123",
  "status": "OPEN",
  "contactChannelIdentities": InkContactChannelIdentities,
  "accountUsers": [AccountUser],
  "events": InkConversationEventsConnection
}

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"
}

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.

delivery(InkMessageDelivery!)

The delivery status of the message.

direction(InkMessageDirection!)

The direction of the email.

displayContent(String!)

The content of the message.

fromHandle(String!)

From email address.

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
}

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.

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"
}

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
}

InkLiveChat

Ink live chat

Fields

NameDescription
id(ID!)

The ID of the live chat.

liveChatConversation(InkConversation!)

Live chat conversation.

Example

{
  "id": "abc123",
  "liveChatConversation": InkConversation
}

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
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
}

InkPost

This type wraps around the Message type for Post.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

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
}

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
}

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
}

Fields

NameDescription
status(IntegrationStatus)

Override Field to add additional attributes and extend description with possible_errors

type(IntegrationType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "type": "LINE",
  "status": "ACTIVE"
}

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
}

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)

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "instruction": InvalidatePaymentInstructionOutput
}

InvalidatePaymentInstructionOutput

Output for invalidating an arbitrary payment instruction.

Fields

NameDescription
id(Int)

Example

{
  "id": 1
}

InvalidatePreSignedToken

Invalidate a previously issued expiring/pre-signed token.

This mutation can be used to invalidate the token itself.

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
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-Possible-Errors' header instead.

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

token(PreSignedToken)

Example

{
  "possibleErrors": [PossibleErrorType],
  "token": PreSignedToken
}

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.

firstIssued(DateTime)

First time the invoice was issued.

id(Int)

invoicedAmount(Int)

The invoiced amount of the billing document.

number(String)

The unique billing document's reference that can be used for identifying it externally.

pdfUrl(String)

URL to the PDF of the Invoice.

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,
  "number": "abc123",
  "invoicedAmount": 1,
  "totalCharges": InvoiceTotalType,
  "totalCredits": InvoiceTotalType,
  "transactions": BillTransactionConnectionTypeConnection
}

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.

isAnnulled(Boolean!)

Whether the billing document has been annulled.

issuedDate(Date)

The date the bill was sent to the customer.

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 ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

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,
  "grossAmount": 1,
  "isAnnulled": true,
  "totalCharges": InvoiceTotalType,
  "totalCredits": InvoiceTotalType,
  "totalPayments": 1,
  "transactions": BillTransactionConnectionTypeConnection
}

JoinSupplierAcceptTermsAndConditions

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-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-Possible-Errors' header instead.

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

success(Boolean)

Indicator that the mutation has completed successfully.

Example

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

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"
}

JoinSupplierProcessDataType

Represents the data associated with a Join Supplier process.

Fields

NameDescription
affiliateLink(AffiliateLinkType)

requestedAt(DateTime!)

salesChannel(String)

salesSubchannel(String)

supplyPointContexts([SupplyPointContextDataType])

The supply point context data.

Example

{
  "salesChannel": "abc123",
  "salesSubchannel": "abc123",
  "requestedAt": "2020-01-01T00:00:00.000Z",
  "supplyPointContexts": [SupplyPointContextDataType]
}

JoinSupplierProcessType

Represents a Join Supplier process.

Fields

NameDescription
currentProcessData(JoinSupplierProcessDataType)

The current process data associated with the Join Supplier process.

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,
  "currentProcessData": JoinSupplierProcessDataType
}

Fields

NameDescription
expireAt(DateTime!)

The konbini payment expiration time.

receiptEmail(String!)

The konbini payment voucher email is sent to this email address.

voucherUrl(String!)

The konbini payment voucher url.

Example

{
  "receiptEmail": "abc123",
  "expireAt": "2020-01-01T00:00:00.000Z",
  "voucherUrl": "abc123"
}

Fields

NameDescription
reference(String!)

Stripe Konbini Payment reference.

Example

{
  "reference": "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.

number(String)

The version number that is being executed.

Example

{
  "number": "abc123",
  "SHA": "abc123"
}

LatePaymentFeesType

Represents later payment fees 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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

Fields

NameDescription
paymentDate(Date)

THe payment deadline for the most recent 'Scheduled' Konbini payment.

url(String)

The payment voucher URL of the most recent 'Scheduled' Konbini payment.

Example

{
  "url": "abc123",
  "paymentDate": "2020-01-01"
}

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
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
}

Fields

NameDescription
electricitySupplyPointData([ElectricityTerminationOutput])

A list of Electricity leave supplier details.

gasSupplyPointData([GasTerminationOutput])

A list of Gas leave supplier details.

Example

{
  
}

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.

processData(LeaveSupplierProcessData)

Data associated with the Leave Supplier 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
}

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.

creditTransferPermissionsData(CreditTransferPermissionsDataType)

Permissions data for credit transfers involving the given ledger.

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)

first (Int)

invoiceId (Int)

The id of the invoice.

last (Int)

ledgerType(String)

The ledger type code.

name(String)

The display name of the ledger.

number(String)

The canonical name of the ledger.

paymentAdequacy(PaymentAdequacyDetailsType)

Override Field to add additional attributes and extend description with possible_errors

paymentPreferences(PaymentPreferenceConnectionTypeConnection)

The customer's preferred payment methods.

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)

statementId (Int)

The id of billing document.

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.

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,
  "debtLedger": LedgerType,
  "agreements": AgreementConnection
}

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


Fields

NameDescription
status(LifelineAgencySignUpsFileRecordStatus!)

Lifeline Agency Application status.

Example

{
  "status": "AWAITING_CUSTOMER_DATA_VALIDATION"
}

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"
}

Fields

NameDescription
displayName(String!)

status(IntegrationStatus)

Override Field to add additional attributes and extend description with possible_errors

type(IntegrationType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "type": "LINE",
  "status": "ACTIVE",
  "displayName": "abc123"
}

LineItemConnectionTypeConnection

Paginator of LineItemType.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([LineItemConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

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

LineItemConnectionTypeEdge

A Relay edge containing a LineItemConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(LineItemType)

The item at the end of the edge

Example

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

Fields

NameDescription
currency(String)

The currency of the charge.

electricitySupplyPoint(ElectricitySupplyPoint)

The electricity supply point of the charge.

gasSupplyPoint(GasSupplyPoint)

The gas supply point of the charge.

grossAmount(Decimal)

The gross amount charged.

netAmount(Decimal)

The net amount charged.

numberOfUnits(Decimal)

The supplied quantity.

periodEndAt(DateTime)

The end of the period the charge covers.

periodStartAt(DateTime)

The start of the period the charge covers.

productCode(String)

The product code of the charge.

supplyType(String)

The type of charge. Based on Product Rates registered in the support site. Will resolve to JPN{MARKET}{RATENAME}, for example JPNELECTRICITYCONSUMPTIONSTEPPED0301.

Example

{
  "supplyType": "abc123",
  "periodStartAt": "2020-01-01T00:00:00.000Z",
  "periodEndAt": "2020-01-01T00:00:00.000Z",
  "numberOfUnits": 1.0,
  "netAmount": 1.0,
  "grossAmount": 1.0,
  "currency": "abc123",
  "productCode": "abc123",
  "electricitySupplyPoint": ElectricitySupplyPoint,
  "gasSupplyPoint": GasSupplyPoint
}

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"
}

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"
}

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!)

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",
  "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
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
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]
}

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"
}

Fields

NameDescription
key(String!)

The key for the metadata.

value(JSONString)

The metadata value.

Example

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

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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

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,
  "isAmendable": true,
  "isVariable": true,
  "length": 1,
  "unitOfTime": "abc123"
}

MoveInDateInvalid

Returned when a supplied move in date is invalid

Fields

NameDescription
endDate(Date!)

The last day that a customer may request a move in.

field(String)

The field that for which this error should be associated.

message(String!)

The error message to display to the user.

startDate(Date!)

The first day that a customer may request a move in.

Example

{
  "message": "abc123",
  "field": "abc123",
  "startDate": "2020-01-01",
  "endDate": "2020-01-01"
}

Fields

NameDescription
requestedMoveInDate(Date)

The requested move out date provided by the customer.

Example

{
  "requestedMoveInDate": "2020-01-01"
}

MoveInSuccess

Returned upon a successful Move In request.

Fields

NameDescription
accountNumber(String!)

Kraken account number.

hasUsablePassword(Boolean!)

Indicates if the user has a usable password and can log in immediately.

hashedAccountApplicationId(String)

Hashed account application ID.

token(String)

Kraken token.

userId(String)

Kraken user id.

Example

{
  "accountNumber": "abc123",
  "token": "abc123",
  "userId": "abc123",
  "hasUsablePassword": true,
  "hashedAccountApplicationId": "abc123"
}

MoveOutAndMoveInInitiated

MoveOut was successfully initiated.

Fields

NameDescription
accountNumber(String!)

The account number for the newly created account for the property the customer is moving in to.

hasUsablePassword(Boolean!)

Indicates if the user has a usable password and can log in immediately.

message(String!)

The message to display to the user on move out and move in initiation.

token(String)

Example

{
  "accountNumber": "abc123",
  "token": "abc123",
  "message": "abc123",
  "hasUsablePassword": true
}

MoveOutDateInvalid

Returned when a supplied move out date is outside of the OCCTO accepted range

Fields

NameDescription
endDate(Date!)

The last day that a customer may request a move out. Always today + 31 days.

field(String)

The field that for which this error should be associated.

message(String!)

The error message to display to the user.

startDate(Date!)

The first day that a customer may request a move out. Always today.

Example

{
  "message": "abc123",
  "field": "abc123",
  "startDate": "2020-01-01",
  "endDate": "2020-01-01"
}

MoveOutInitiated

MoveOut was successfully initiated.

Fields

NameDescription
message(String!)

The message to display to the user on move out initiation.

Example

{
  "message": "abc123"
}

Fields

NameDescription
canBeCancelled(Boolean)

Whether the move out request can be cancelled.

requestedMoveOutDate(Date)

The requested move out date provided by the customer.

status(MoveOutProcessStatus)

The status of the move out request.

Example

{
  "requestedMoveOutDate": "2020-01-01",
  "canBeCancelled": true,
  "status": "WAITING_TO_APPLY"
}

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
}

Fields

NameDescription
brandCode(String)

createdAt(DateTime!)

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)

text(String!)

version(String)

Example

{
  "text": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "name": "abc123",
  "pdfUrl": "abc123",
  "brandCode": "abc123",
  "markdown": "abc123",
  "html": "abc123",
  "version": "abc123",
  "effectiveFrom": "2020-01-01T00:00:00.000Z"
}

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-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

{
  "possibleErrors": [PossibleErrorType],
  "token": "abc123",
  "payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "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)

isOccupier(Boolean)

Whether the account associated with the occupancy period is an occupier account type.

Example

{
  "id": "abc123",
  "effectiveFrom": "2020-01-01T00:00:00.000Z",
  "effectiveTo": "2020-01-01T00:00:00.000Z",
  "isOccupier": true,
  "accountNumber": "abc123"
}

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
}

OnSiteJobsAppointmentType

An appointment linked to a request

Fields

NameDescription
appointmentDate(Date!)

createdAt(DateTime!)

externalReference(String)

The external reference provided by the vendor/contractor for the appointment.

id(UUID!)

jobType(String)

status(AppointmentStatus)

The current status of the appointment.

timeSlotEnd(Time)

timeSlotStart(Time)

Example

{
  "id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "jobType": "abc123",
  "appointmentDate": "2020-01-01",
  "timeSlotStart": "00:00:00.000Z",
  "timeSlotEnd": "00:00:00.000Z",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "status": "BOOKED",
  "externalReference": "abc123"
}

Fields

NameDescription
email(String)

Lead legal contact email.

extraDetails(JSONString)

Extra details about the opportunity.

name(String)

Lead legal name.

number(String)

Opportunity number.

opportunityId(ID)

Opportunity ID.

phoneNumber(String)

Lead legal contact phone number.

stage(String)

Current stage in a funnel.

Example

{
  "opportunityId": "abc123",
  "name": "abc123",
  "email": "abc123",
  "phoneNumber": "abc123",
  "number": "abc123",
  "stage": "abc123",
  "extraDetails": {"key": "value"}
}

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"
}

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.

Deprecated

The 'amount' field is deprecated.

Use `amounts` instead for a breakdown of the relevant net, tax, and gross amounts.

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

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)

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!)

note(String)

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

postedDate(Date)

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)

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
}

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.

Example

{
  "isCurrentlyExempt": 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(AccountUser)

The account user who is an owner of this payment instruction.

business(BusinessType)

The business who is an owner of this payment instruction.

Example

{
  "accountUser": AccountUser,
  "business": BusinessType
}

PaymentInstructionType

Direct Debit Instructions

Fields

NameDescription
accountHolder(String!)

cardExpiryMonth(Int)

cardExpiryYear(Int)

cardPaymentNetwork(String)

iban(String!)

id(ID!)

instructionType(String)

Payment instruction type.

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",
  "sortCode": "abc123",
  "iban": "abc123",
  "accountHolder": "abc123",
  "cardPaymentNetwork": "abc123",
  "cardExpiryMonth": 1,
  "cardExpiryYear": 1,
  "lastFourDigitsOfAccountNumber": "abc123",
  "maskedAccountIdentifier": "abc123",
  "maskedIban": "abc123",
  "owners": [PaymentInstructionOwnerType],
  "instructionType": "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"
}

PaymentPlanType

An object that represents a payment plan.

Fields

NameDescription
acceptedAt(DateTime)

account(Account!)

id(ID!)

initialScheduleType(String!)

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!)

Example

{
  "id": "abc123",
  "account": Account,
  "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",
  "payments": PaymentPlanPaymentType,
  "nextPayment": PaymentPlanPaymentType,
  "strategyDisplayName": "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"
}

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


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"
}

Fields

NameDescription
paymentAmount(Int!)

The create schedules payment amount.

paymentDay(Int!)

The created schedules payment day.

Example

{
  "paymentDay": 1,
  "paymentAmount": 1
}

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
delayConfiguration(PaymentScheduleDelayConfigurationType)

The delay configuration for this payment schedule.

id(ID!)

isPaymentHoliday(Boolean)

isVariablePaymentAmount(Boolean!)

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.

validFrom(Date!)

validTo(Date)

Example

{
  "id": "abc123",
  "supplementaryLedger": SupplementaryLedgerType,
  "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,
  "isPaymentHoliday": true,
  "scheduleType": "BACS_TRANSFER",
  "paymentDayDetails": PaymentSchedulePaymentDayDetailsType,
  "delayConfiguration": PaymentScheduleDelayConfigurationType
}

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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

Fields

NameDescription
attachments(BillingAttachmentConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

billType(BillTypeEnum)

The type of the bill.

closingBalance(Int!)

The closing balance of an issued billing document.

fromDate(Date)

The date of the constituent bill covered from.

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.

issuedDate(Date)

The date the bill was sent to the customer.

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.

transactions(BillTransactionConnectionTypeConnection)

Transactions on the given ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

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,
  "identifier": "abc123",
  "totalCharges": StatementTotalType,
  "totalCredits": StatementTotalType,
  "isAnnulled": true,
  "transactions": BillTransactionConnectionTypeConnection,
  "closingBalance": 1
}

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.

Some fields are only available when the portfolio is part of an enterprise hierarchy:

  • name
  • depth
  • parent
  • ancestors
  • descendants

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(AccountUser!)

Example

{
  "id": "abc123",
  "user": AccountUser,
  "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]
}

Fields

NameDescription
area(String!)

Area.

city(String!)

City.

postcode(String!)

Postcode.

prefecture(String!)

Prefecture.

Example

{
  "postcode": "abc123",
  "prefecture": "abc123",
  "city": "abc123",
  "area": "abc123"
}

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(BigInt)

The gross amount of the historical bill.

id(ID)

The ID of the bill.

issuedDate(Date)

The date the bill was sent to the customer.

params(JSONString)

The params associated with the historical bill.

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,
  "params": {"key": "value"},
  "grossAmount": 1
}

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

{
  "key": "abc123",
  "scope": "SUBMIT_METER_READINGS",
  "isValid": true
}

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
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"
}

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"
}

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(Account)

attachments([PrintAttachmentType])

Attachments of the message.

highPriority(Boolean)

Comms that are marked as high priority.

id(ID!)

The ID of the object

templateCode(String!)

Example

{
  "id": "abc123",
  "templateCode": "abc123",
  "account": Account,
  "attachments": [PrintAttachmentType],
  "highPriority": true
}

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"
}

ProductEligibleStatus

Flags for the user to switch to the product with FCA rate.

Fields

NameDescription
isCampaignAvailable(Boolean!)

Check if the product reaches to the maximum number of active agreements.

isUserEligible(Boolean!)

Check if the user is from allowed areas and has the campaign registered to account.

isUserOptedIn(Boolean!)

Check if the user has switched to the product with FCA rate.

Example

{
  "isUserEligible": true,
  "isCampaignAvailable": true,
  "isUserOptedIn": true
}

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal)

Price per unit.

regionOfOperation(String)

Region of operation.

unitType(UnitType)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "DAYS_ON_SUPPLY",
  "pricePerUnit": 1.0,
  "durationMonths": 1
}

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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

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,
  "isAmendable": true,
  "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"
}

Fields

NameDescription
isCampaignAvailable(Boolean!)

Check if the product reaches to the maximum number of active agreements.

isUserEligible(Boolean!)

Check if the user is from allowed areas and has the campaign registered to account.

isUserOptedIn(Boolean!)

Check if the user has switched to the product with FCA rate.

Example

{
  "isUserEligible": true,
  "isCampaignAvailable": true,
  "isUserOptedIn": true
}

Fields

NameDescription
address(String)

The address of the property, formatted into a single string.

coordinates(CoordinatesType)

Coordinates for the property, useful for displaying the property on a map.

electricityGenerationPoints([ElectricityGenerationPoint])

All the electricity generation points at this property.

electricitySupplyPoints([ElectricitySupplyPoint])

All the electricity supply points at this property.

embeddedNetwork(EmbeddedNetworkType)

The embedded network this property belongs to, if any.

gasSupplyPoints([GasSupplyPoint])

All the gas supply points at this property.

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.

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.

postcode(String)

The postcode of the property.

richAddress(PropertyRichAddressType)

Property rich address.

splitAddress([String])

List of address lines.

Example

{
  "id": "abc123",
  "address": "abc123",
  "richAddress": PropertyRichAddressType,
  "splitAddress": ["abc123"],
  "label": "abc123",
  "occupancyPeriods": [OccupancyPeriodType],
  "coordinates": CoordinatesType,
  "embeddedNetwork": EmbeddedNetworkType,
  "measurements": MeasurementConnection,
  "postcode": "abc123",
  "electricitySupplyPoints": [ElectricitySupplyPoint],
  "electricityGenerationPoints": [ElectricityGenerationPoint],
  "gasSupplyPoints": [GasSupplyPoint]
}

Fields

NameDescription
administrativeArea(String)

Top-level administrative subdivision, e.g. US state, AU state/territory, 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.

country(String)

ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. AU, GB.

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, 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

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"
}

Fields

NameDescription
property(Property!)

The matched property.

score(Decimal!)

A score representing the degree of confidence for a match.

Example

{
  "score": 1.0,
  "property": Property
}

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"
}

PushNotificationBindingType

Represents a pairing of a single app installation to an account user.

Fields

NameDescription
application(NotifiableApplicationType!)

expiresAt(DateTime!)

id(ID!)

messages([SMSMessageType!]!)

registeredAt(DateTime!)

token(String!)

user(AccountUser!)

Example

{
  "id": "abc123",
  "messages": SMSMessageType,
  "user": AccountUser,
  "token": "abc123",
  "application": NotifiableApplicationType,
  "registeredAt": "2020-01-01T00:00:00.000Z",
  "expiresAt": "2020-01-01T00:00:00.000Z"
}

Quote

DEPRECATED - A set of products return to a prospective customer for quote supply points.

Fields

NameDescription
code(String!)

The quote code that identifies the quote.

params(QuoteRequestParams)

Quote-related params that are permitted to be fetched with the quote-code alone.

quotedGenerationPoints([QuotedSupplyPoint])

Quoted generation points.

quotedSupplyPoints([QuotedSupplyPoint]!)

Quoted supply points.

Example

{
  "params": QuoteRequestParams,
  "code": "abc123",
  "quotedSupplyPoints": QuotedElectricitySupplyPoint,
  "quotedGenerationPoints": QuotedElectricitySupplyPoint
}

QuoteRequestParams

Quote-related params that are permitted to be fetched with the quote-code alone.

Fields

NameDescription
affiliateLinkSubdomain(String)

The subdomain of the affiliate link.

audioRecordingId(String)

An optional audio recording id.

referralCode(String)

The friend referral code.

referralSchemeCode(String)

The bespoke referral scheme code.

Example

{
  "affiliateLinkSubdomain": "abc123",
  "referralSchemeCode": "abc123",
  "referralCode": "abc123",
  "audioRecordingId": "abc123"
}

QuotedElectricityGenerationPoint

DEPRECATED - A single quoted generation point for a customers quote request.

Fields

NameDescription
annualEstimatedGeneration([String])

Annual estimated electricity generation.

canSupply(Boolean!)

Whether we can connect the generation point or not, according to our business logic.

gridOperatorCode(String)

Grid operator code.

hasMultipleSpins(Boolean)

Whether the property of the generation point has multiple generation points.

id(Int)

ID of the quoted generation point.

postalArea(PostalArea)

Postal area for the quote.

quotedProducts([QuotedElectricityProduct]!)

Quoted products.

rejectionReasons([CanSupplyRejectionType]!)

If we cannot connect a generation point, this list of rejection reasons will show what errors fired.

Example

{
  "id": 1,
  "quotedProducts": QuotedElectricityProduct,
  "postalArea": PostalArea,
  "gridOperatorCode": "abc123",
  "annualEstimatedGeneration": ["abc123"],
  "canSupply": true,
  "hasMultipleSpins": true,
  "rejectionReasons": "INVALID_GRID_OPERATOR"
}

QuotedElectricityProduct

DEPRECATED - Customer's quoted product, for the quoted supply point.

Fields

NameDescription
estimatedCosts(QuotedProductEstimatedCosts!)

Override Field to add additional attributes and extend description with possible_errors

id(Int!)

The id of the quoted product.

product(Product!)

Override Field to add additional attributes and extend description with possible_errors

Arguments

gridOperatorCode (String)

Example

{
  "id": 1,
  "product": ElectricitySingleStepProduct,
  "estimatedCosts": QuotedProductEstimatedCosts
}

QuotedElectricitySupplyPoint

DEPRECATED - A single quoted supply point for a customers quote request.

Fields

NameDescription
amperage(Int)

annualEstimatedUsage([String]!)

canSupply(Boolean!)

Whether we can supply the supply point or not, according to our business logic.

gridOperatorCode(String)

hasMultipleSpins(Boolean)

Whether the property of the supply point has multiple supply points.

id(Int)

ID of the quoted supply point.

kva(Int)

kw(Int)

postalArea(PostalArea)

Override Field to add additional attributes and extend description with possible_errors

quotedProducts([QuotedElectricityProduct]!)

rejectionReasons([CanSupplyRejectionType]!)

If we cannot supply a supply point, this list of rejection reasons will show what errors fired.

supplyPointDetails(SupplyPointDetailsRaw)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "id": 1,
  "quotedProducts": QuotedElectricityProduct,
  "postalArea": PostalArea,
  "amperage": 1,
  "kva": 1,
  "kw": 1,
  "gridOperatorCode": "abc123",
  "annualEstimatedUsage": "abc123",
  "supplyPointDetails": SupplyPointDetailsRaw,
  "canSupply": true,
  "hasMultipleSpins": true,
  "rejectionReasons": "INVALID_GRID_OPERATOR"
}

Fields

NameDescription
monthlyBreakdown([Int]!)

quotedMonth(QuotedProductEstimatedCostsQuotedMonth!)

Override Field to add additional attributes and extend description with possible_errors

standingChargePricePerDay(Decimal)

standingChargeUnitType(String)

Example

{
  "quotedMonth": QuotedProductEstimatedCostsQuotedMonth,
  "monthlyBreakdown": 1,
  "standingChargePricePerDay": 1.0,
  "standingChargeUnitType": "abc123"
}

Fields

NameDescription
cost(String!)

month(String!)

usageAmount(String)

Example

{
  "cost": "abc123",
  "month": "abc123",
  "usageAmount": "abc123"
}

RateGroupEligibilityType

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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

Fields

NameDescription
intervalEnd(DateTime)

The exclusive end of this reading's interval.

intervalStart(DateTime)

The inclusive start of this reading's interval.

quality(String)

The quality of this reading if applicable.

source(String)

The source of this reading if applicable.

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",
  "source": "abc123",
  "quality": "abc123"
}

ReadingsConnection

Pagination for utility usage readings.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ReadingsEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

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

ReadingsEdge

A Relay edge containing a Readings 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"
}

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 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.

Fields

NameDescription
pointsRedeemed(Int)

The number of loyalty points that were redeemed.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "pointsRedeemed": 1
}

RedeemReferralClaimCode

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
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-Possible-Errors' header instead.

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

success(Boolean!)

Whether or not the request was successful.

Example

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

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 'referringFamilyName' 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

{
  "id": "abc123",
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "referredUserName": "abc123",
  "paymentStatus": "abc123",
  "referredUserJoinDate": "2020-01-01T00:00:00.000Z",
  "code": "abc123",
  "referredUserPaymentAmount": 1,
  "referringUserPaymentAmount": 1,
  "combinedPaymentAmount": 1
}

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.

Deprecated

The 'amount' field is deprecated.

Use `amounts` instead for a breakdown of the relevant net, tax, and gross amounts.

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

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)

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)

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)

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
reference(String!)

Refunds Payment reference.

Example

{
  "reference": "abc123"
}

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"
}

RegenerateSecretKey

Regenerate the user's API key.

Fields

NameDescription
key(String!)

The generated key value, which is only ever available once (here).

viewer(AccountUser)

The currently authenticated user.

Example

{
  "key": "abc123",
  "viewer": AccountUser
}

Fields

NameDescription
campaignName(String)

Campaign name.

registeredAt(DateTime)

Date and time at which the participant was registered.

Example

{
  "campaignName": "abc123",
  "registeredAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
pushNotificationBinding(PushNotificationBindingType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "pushNotificationBinding": PushNotificationBindingType
}

Fields

NameDescription
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.

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",
  "assigneeTeamName": "abc123",
  "reopenInkConversation": true,
  "createdAt": "2020-01-01T00:00:00.000Z"
}

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"
}

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-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
consent(ConsentType)

The consent that was created or updated.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "consent": ConsentType
}

Fields

NameDescription
email(String)

The email that requested a password reset email.

Example

{
  "email": "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
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-Possible-Errors' header instead.

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

success(Boolean)

Whether the request was successful.

Example

{
  "possibleErrors": [PossibleErrorType],
  "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
clientMutationId(String)

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"]
}

Fields

NameDescription
code(String!)

displayName(String)

displayOrder(Int)

name(String!)

params(RetailerParams!)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "code": "abc123",
  "name": "abc123",
  "displayName": "abc123",
  "displayOrder": 1,
  "params": RetailerParams
}

Fields

NameDescription
aliases([String!]!)

A list of aliases to use with autocomplete suggestions.

Example

{
  "aliases": "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
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

{
  "id": "abc123",
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "rewardAmount": 1,
  "paymentStatus": "Pending"
}

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.

Fields

NameDescription
administrativeArea(String)

Top-level administrative subdivision, e.g. US state, AU state/territory, 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.

country(String)

ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. AU, GB.

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, 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

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"
}

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(Account)

attachments([AttachmentType])

Attachments of the message.

id(ID!)

recipient(String)

SMS recipient.

sender(String)

SMS sender.

sentAt(DateTime)

textBody(String)

SMS body.

Example

{
  "id": "abc123",
  "sentAt": "2020-01-01T00:00:00.000Z",
  "account": Account,
  "attachments": [AttachmentType],
  "sender": "abc123",
  "recipient": "abc123",
  "textBody": "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
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-Possible-Errors' header instead.

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

success(Boolean!)

Whether the message was scheduled successfully.

Example

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

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
}

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
}

SendFamilySwitchInOffer

Mutation to send family switch in offer to the customer. This mutation calls the process to send family switch in offer to the customer.

The possible errors that can be raised are:

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

Fields

NameDescription
hasSent(Boolean)

Boolean indicator that indicated family switch in offer is sent.

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-Possible-Errors' header instead.

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

Example

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

Fields

NameDescription
clientMutationId(String)

liveChat(InkLiveChat)

The live chat.

Example

{
  "liveChat": InkLiveChat,
  "clientMutationId": "abc123"
}

Fields

NameDescription
code(String)

message(String)

Example

{
  "message": "abc123",
  "code": "abc123"
}

Fields

NameDescription
errors([ErrorTypeUnion!])

field(String)

Example

{
  "field": "abc123",
  "errors": SerializerErrorType
}

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.

Fields

NameDescription
newLoyaltyPointsUserId(String)

ID of the new Loyalty Points user.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "newLoyaltyPointsUserId": "abc123"
}

SetUpDirectDebitInstruction

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-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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "paymentInstruction": DirectDebitInstructionType
}

ShareGoodsQuote

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
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-Possible-Errors' header instead.

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

share(GoodsQuoteShare)

Goods quote shared.

Example

{
  "possibleErrors": [PossibleErrorType],
  "share": GoodsQuoteShare
}

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
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per ampere per day without tax.

pricePerUnitIncTax(Decimal!)

Price per ampere per day including tax.

regionOfOperation(String)

Region of operation.

threshold(Decimal)

Threshold for tiered standing charge rates.

unitType(String)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "abc123",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0,
  "threshold": 1.0
}

Fields

NameDescription
label(String!)

The standing charge's label.

pricePerUnitIncTax(Decimal!)

Price per unit per day including tax.

unitType(String!)

The standing charge's unit type.

Example

{
  "pricePerUnitIncTax": 1.0,
  "label": "abc123",
  "unitType": "abc123"
}

Fields

NameDescription
amperage([StandingChargeRate])

The amperage the standing charge is for.

kva([StandingChargeRate])

The kVA that the standing charge is for.

Example

{
  "amperage": [StandingChargeRate],
  "kva": [StandingChargeRate]
}

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.

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)

identifier(String)

The unique reference of the statement that can be used for identifying the statement externally.

latestChargeAt(DateTime)

The latest charge date of the statement.

paymentDueDate(Date)

The date due for payment for the statement.

pdfUrl(String)

URL to the PDF of the statement.

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",
  "paymentDueDate": "2020-01-01",
  "pdfUrl": "abc123",
  "annulledBy": AnnulmentBillingDocumentType,
  "totalCharges": StatementTotalType,
  "totalCredits": StatementTotalType,
  "transactions": BillTransactionConnectionTypeConnection
}

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.

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.

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,
  "closingBalance": 1,
  "openingBalance": 1,
  "isExternalBill": true,
  "transactions": TransactionConnectionTypeConnection,
  "userId": 1,
  "toAddress": "abc123",
  "paymentDueDate": "2020-01-01",
  "consumptionStartDate": "2020-01-01",
  "consumptionEndDate": "2020-01-01",
  "reversalsAfterClose": "ALL",
  "status": "OPEN",
  "heldStatus": HeldStatus,
  "totalCharges": StatementTotalType,
  "totalCredits": StatementTotalType
}

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
}

SteppedConsumptionRate

Unit rate which is valid within a consumption range.

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per kWh without tax.

pricePerUnitIncTax(Decimal!)

Price per kWh including tax.

regionOfOperation(String)

Region of operation.

stepEnd(Int)

The kWh that the unit rate is valid until.

stepStart(Int)

The kWh that the unit rate is valid from.

timeOfUse(String)

Time of use label for the rate.

unitType(UnitType)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "DAYS_ON_SUPPLY",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0,
  "timeOfUse": "abc123",
  "stepStart": 1,
  "stepEnd": 1
}

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-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentInstruction(PaymentInstructionType)

The stored payment instruction.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "paymentInstruction": PaymentInstructionType
}

SubmitCustomerFeedback

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "customerFeedback": CustomerFeedbackType
}

SubmitRepaymentRequest

Mutation for executing the repayment request use case.

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-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
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-Possible-Errors' header instead.

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

repaymentRequest(RequestRepaymentOutputType)

The newly created repayment request.

Example

{
  "possibleErrors": [PossibleErrorType],
  "repaymentRequest": RequestRepaymentOutputType
}

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)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "id": "abc123",
  "name": "abc123",
  "ledgerType": "abc123",
  "number": "abc123",
  "currentBalance": 1,
  "paymentAdequacy": PaymentAdequacyDetailsType
}

Fields

NameDescription
amperage(Int)

Supply details capacity in Amperes.

kva(Int)

Supply details capacity in kVA.

kw(Decimal)

Supply details capacity in kW.

validFrom(Date)

Date when supply details came into effect. This can be before the account came on supply.

Example

{
  "amperage": 1,
  "kva": 1,
  "kw": 1.0,
  "validFrom": "2020-01-01"
}

Fields

NameDescription
id(ID!)

isBillable(Boolean!)

Should this period be billed? False for accepted erroneous gains.

supplyEndAt(DateTime)

supplyStartAt(DateTime!)

Example

{
  "id": "abc123",
  "supplyStartAt": "2020-01-01T00:00:00.000Z",
  "supplyEndAt": "2020-01-01T00:00:00.000Z",
  "isBillable": true
}

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.

Example

{
  "externalIdentifier": "abc123",
  "marketName": "abc123",
  "requestedSupplyStartDate": "2020-01-01"
}

SupplyPointDetailsRaw

Customer's supply point details, raw, as fetched from OCCTO

Fields

NameDescription
address(String!)

Address of the Supply Point.

addressBuildingName(String!)

Building name of the Supply Point.

addressPostcode(String!)

Postcode of the Supply Point.

gridOperatorCode(String!)

The code describing the electrical service area - e.g. 03 = TEPCO.

readingDateNext(String!)

The next reading date for this meter.

spin(String!)

SPIN - Supply Point Identification Number.

Example

{
  "spin": "abc123",
  "readingDateNext": "abc123",
  "gridOperatorCode": "abc123",
  "addressPostcode": "abc123",
  "address": "abc123",
  "addressBuildingName": "abc123"
}

SupplyPointType

Represents a SupplyPoint.

Fields

NameDescription
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(Property)

The supply point's property

readings(ReadingsConnection)

Get readings from this supply point.

Arguments

after (String)

before (String)

endAt (DateTime!)

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

first (Int)

last (Int)

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.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "externalIdentifier": "abc123",
  "property": Property,
  "readings": ReadingsConnection
}

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!)

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.

tags([String!]!)

Tags associated with the product.

term(Int)

The product term in months.

termsAndConditionsTypes([TermsAndConditionsType!]!)

Active terms and conditions for a market supply product.

termsContractType(String)

The product contract type.

Example

{
  "id": "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",
  "brandCode": "abc123",
  "marketName": "abc123",
  "availabilityStatus": "EVERYONE",
  "termsContractType": "abc123",
  "termsAndConditionsTypes": TermsAndConditionsType,
  "params": {"key": "value"},
  "tags": "abc123"
}

SwitchInCorrectionPerformed

Switch-in correction was performed.

Fields

NameDescription
performedActions([SelfServiceAction]!)

List of actions that were performed.

Example

{
  "performedActions": "CUSTOMER_NAME_CORRECTION"
}

Fields

NameDescription
code(String!)

The tariff's product code.

displayName(String!)

The tariff's product's human-readable name.

gridOperatorCode(String!)

The grid operator code for this specific tariff.

productParams(GenericScalar)

A JSON object containing extra information.

tiers([TariffTier]!)

A list of tiers available to the tariff.

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "gridOperatorCode": "abc123",
  "productParams": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "tiers": TariffTier
}

Fields

NameDescription
consumptionRates([ConsumptionChargeRate]!)

A list of consumption charge rates.

contractCapacityPattern(ContractCapacityPattern)

The contract capacity pattern of the product.

standingRates(StandingChargeValues!)

A list of consumption charge rates.

Example

{
  "contractCapacityPattern": "NON_TIERED",
  "consumptionRates": ConsumptionChargeRate,
  "standingRates": StandingChargeValues
}

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"
}

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"
}

TerminateCreditTransferPermission

Mutation to 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
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-Possible-Errors' header instead.

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

validTo(DateTime)

Datetime when the credit transfer permission ends.

Example

{
  "possibleErrors": [PossibleErrorType],
  "validTo": "2020-01-01T00:00:00.000Z"
}

TerminationFeeType

Represents the termination term of a contract.

Fields

NameDescription
amount(Decimal)

The amount of the termination fee.

description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

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"
}

TieredConsumptionRate

Unit rate which is valid within a consumption range.

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per kWh without tax.

pricePerUnitIncTax(Decimal!)

Price per kWh including tax.

regionOfOperation(String)

Region of operation.

tierEnd(Int)

The m3 that the unit rate is valid until.

tierStart(Int)

The m3 that the unit rate is valid from.

timeOfUse(String)

Time of use label for the rate.

unitType(UnitType)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "DAYS_ON_SUPPLY",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0,
  "timeOfUse": "abc123",
  "tierStart": 1,
  "tierEnd": 1
}

TieredStandingCharge

Standing charge rate which is valid within a consumption range.

Fields

NameDescription
band(String)

The product rate band information.

durationMonths(Int)

Duration in months for discount product rates.

gridOperatorCode(String)

Grid operator.

pricePerUnit(Decimal!)

Price per ampere per day without tax.

pricePerUnitIncTax(Decimal!)

Price per ampere per day including tax.

regionOfOperation(String)

Region of operation.

threshold(Decimal)

Threshold for tiered standing charge rates.

tierEnd(Int)

The m3 that the unit rate is valid until.

tierStart(Int)

The m3 that the unit rate is valid from.

unitType(String)

What are we charging for (kWhs consumed, Days on supply, etc).

validFrom(DateTime)

Rate validity start.

validTo(DateTime)

Rate validity end.

Example

{
  "gridOperatorCode": "abc123",
  "regionOfOperation": "abc123",
  "band": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitType": "abc123",
  "pricePerUnit": 1.0,
  "durationMonths": 1,
  "pricePerUnitIncTax": 1.0,
  "threshold": 1.0,
  "tierStart": 1,
  "tierEnd": 1
}

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.

isAmendable(Boolean)

Whether the term is amendable.

Deprecated

The 'isAmendable' field is deprecated.

This field has been replaced by isVariable.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-05-01.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

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

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"
}

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.

Fields

NameDescription
pointsTransferred(Int)

The number of loyalty points that were transferred.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "pointsTransferred": 1
}

UpdateAccountBillingAddress

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(Account)

The updated 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-Possible-Errors' header instead.

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

Example

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

UpdateAccountBillingEmail

Update the billing email for the input account number to the received email value.

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.

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-Possible-Errors' header instead.

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

Example

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

UpdateAccountConsentData

Updates Account consent data.

Fields

NameDescription
consentData(GenericScalar)

Example

{
  "consentData": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType
}

UpdateAccountConsents

Update the consents for an account 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-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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "consents": ConsentType
}

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)

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountReference": AccountReferenceType
}

UpdateAccountUser

Updates AccountUser and JPN AccountUserDetails

The possible errors that can be raised are:

  • KT-CT-5414: Invalid data.
  • KT-JP-5401: Account user details not found.
  • KT-JP-5402: 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-Possible-Errors' header instead.

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

viewer(AccountUser)

Example

{
  "possibleErrors": [PossibleErrorType],
  "viewer": AccountUser
}

UpdateAccountUserCommsPreferencesMutationPayload

Update the account user comms preferences.

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-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountUserConsents(AccountUserConsents)

All the consents for an account user.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountUserConsents": AccountUserConsents
}

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

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.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "goodsPurchase": GoodsPurchase
}

UpdateAutoTopUpAmount

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-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-Possible-Errors' header instead.

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

schedule(PaymentScheduleType)

The new schedule created.

Example

{
  "possibleErrors": [PossibleErrorType],
  "schedule": PaymentScheduleType
}

UpdateBankAccountDetails

Update bank account details for an existing customer in GMO.

Fields

NameDescription
financialInstitutionRedirectUrl(String)

Financial institution redirect URL.

token(String)

Financial institution token.

Example

{
  "financialInstitutionRedirectUrl": "abc123",
  "token": "abc123"
}

UpdateCommsDeliveryPreference

Update the comms delivery preference for the input account number to the received commsDeliveryPreference value.

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)

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-Possible-Errors' header instead.

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

Example

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

UpdateCreditCardDetails

Updates the credit card details of an account through GMO.

The possible errors that can be raised are:

  • KT-JP-3902: Payment instruction creation using the same card number on the same day is not allowed.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
cardNumber(String!)

Credit card number.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "cardNumber": "abc123"
}

UpdateMetadata

Update existing metadata on an object.

The possible errors that can be raised are:

  • KT-CT-4323: 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)

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "metadata": Metadata
}

UpdateMoveInDate

Updates a move-in date for a supply point.

Fields

NameDescription
newMoveInDate(Date!)

New move-in date in YYYY-MM-DD format.

spin(String!)

Supply point information number.

Example

{
  "spin": "abc123",
  "newMoveInDate": "2020-01-01"
}

UpdateMoveOutDate

Updates a move-out date for a supply point.

The possible errors that can be raised are:

  • KT-JP-4539: Move out date update input data is invalid.
  • KT-JP-4501: Unauthorized.
  • KT-JP-4536: Move out active process not found.
  • KT-JP-4540: Move out date update cannot self-service.
  • KT-JP-4101: Unauthorized.
  • KT-JP-4541: Not allowed to update move out process.
  • KT-JP-4520: Unable to process request.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
newMoveOutDate(Date!)

New move-out date in YYYY-MM-DD format.

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-Possible-Errors' header instead.

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

spin(String!)

Supply point information number.

taskId(ID)

Task ID for the update move-out date task.

Example

{
  "possibleErrors": [PossibleErrorType],
  "spin": "abc123",
  "newMoveOutDate": "2020-01-01",
  "taskId": "abc123"
}

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
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-Possible-Errors' header instead.

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

viewer(AccountUser)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "possibleErrors": [PossibleErrorType],
  "viewer": AccountUser
}

UpdateUserMutation

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-Possible-Errors' header instead.

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

viewer(AccountUser)

Example

{
  "possibleErrors": [PossibleErrorType],
  "viewer": AccountUser
}

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"
}

VerifyIdentity

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
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-Possible-Errors' header instead.

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

token(String!)

An expiring token that can be used to request to update the user's email address.

Example

{
  "possibleErrors": [PossibleErrorType],
  "token": "abc123"
}

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"
}

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
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
body(String!)

Whatsapp text message body.

Example

{
  "body": "abc123"
}

WithdrawAccount

Withdraws an account.

The possible errors that can be raised are:

  • KT-JP-7801: Unknown error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
accountNumber(String!)

The number of the account to withdraw.

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-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountNumber": "abc123"
}

Authentication Server

Fields

NameDescription
clientId(String)

The client ID of the application.

name(String)

The name of the application.

Example

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

CreateMfaDevice

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

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-1153: Unable to create MFA device.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
deviceEmail(String)

Email address to send the MFA code by default.

devicePhone(String)

Phone number to send the MFA code by default.

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-Possible-Errors' header instead.

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

totpSecret(String)

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "deviceEmail": "abc123",
  "devicePhone": "abc123",
  "totpSecret": "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.

Fields

NameDescription
deviceDeleted(Boolean)

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

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-Possible-Errors' header instead.

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

Example

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

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.

number(String)

The version number that is being executed.

Example

{
  "number": "abc123",
  "SHA": "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
}

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"
}

ValidateMfaDevice

Validate multi-factor authentication (MFA) devices for 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.

Fields

NameDescription
deviceIsValid(Boolean)

Flag to indicate if the device has been verified, so it can be used for MFA.

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-Possible-Errors' header instead.

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

Example

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