Skip to main content

Objects

In this section

Objects

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

API Site

Fields

Name Description

code (String)

Code name of the sensor.

displayName (String)

User determined name for a sensor.

enabled (Boolean)

Whether or not a sensor is enabled.

type (SensorType)

Sensor type (NTC).

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "type": "ZIGBEE",
  "enabled": true
}

Fields

Name Description

apiType (APIType)

The API type effected by this brownout.

disablesRequestsTo (NonEmptyString)

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

endsAt (NonEmptyString)

The iso formatted datetime at which this brownout will end.

startsAt (NonEmptyString)

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

status (APIBrownoutStatus)

The current status of this brownout.

Example

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

APIBrownoutConnection

Paginator of API brownouts.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([APIBrownoutEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

APIBrownoutEdge

A Relay edge containing a APIBrownout and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (APIBrownout)

The item at the end of the edge

Example

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

Fields

Name Description

context (JSONString)

Storage for the API client to submit any contextual information.

correlationId (String!)

The request's correlation id.

createdAt (DateTime!)

id (ID!)

inputData (JSONString)

Input data for the API call if any.

operationName (String!)

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

response (JSONString)

The response from the API call if any.

Example

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

APIExceptionConnectionTypeConnection

Paginator of API exceptions.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([APIExceptionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

APIExceptionConnectionTypeEdge

A Relay edge containing a APIExceptionConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (APIExceptionType)

The item at the end of the edge

Example

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

Fields

Name Description

category (String!)

The category of the event.

context (JSONString)

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

createdAt (DateTime!)

description (String)

A description of the event.

eventType (String!)

The type of the event.

id (ID!)

Example

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

Fields

Name Description

body (String!)

The content of the API Exception note.

createdAt (DateTime!)

Timestamp of when the API Exception note was created.

id (ID!)

The ID of the API Exception note.

Example

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

Fields

Name Description

accountNumber (String)

The account number provided to the exception.

apiCalls ([APICallType])

The API calls associated with this exception if any.

assignedUser (AssignedUserType)

The user assigned to handle this exception if any.

category (APIExceptionCategories)

Category associated with this exception.

channel (String!)

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

context (JSONString)

Storage for the API client to submit any contextual information.

createdAt (DateTime!)

customerContact (String)

The customer contact provided to the exception.

events ([APIExceptionEventType])

The events associated with this exception if any.

externalIdentifier (String!)

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

id (ID!)

keyDate (Date)

The key date associated with the exception, if available.

notes ([APIExceptionNoteType])

Notes associated with this exception if any.

operationsTeam (OperationsTeamType)

The operations team assigned to this exception if any.

priority (APIExceptionPriority!)

The current priority for the API exception.

resolutionStatus (APIExceptionResolutionStatus!)

The current resolution status for the API exception.

resolutionType (APIExceptionResolutionType!)

The current resolution type for the API exception.

supplyPointIdentifier (String)

The supply point identifier provided to the exception.

tags ([APIExceptionTags])

Tags associated with this exception if any.

userId (Int)

The user id provided to the exception.

Example

{
  "id": "abc123",
  "externalIdentifier": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "channel": "abc123",
  "category": "UNKNOWN",
  "accountNumber": "abc123",
  "userId": 1,
  "customerContact": "abc123",
  "supplyPointIdentifier": "abc123",
  "resolutionStatus": "ASSIGNED",
  "resolutionType": "AUTOMATIC",
  "priority": "LOW",
  "apiCalls": [APICallType],
  "events": [APIExceptionEventType],
  "tags": "MOVE_IN",
  "notes": [APIExceptionNoteType],
  "operationsTeam": OperationsTeamType,
  "context": {"key": "value"},
  "keyDate": "2020-01-01",
  "assignedUser": AssignedUserType
}

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

Name Description

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

AcceptOfferForQuoting

Accept a quoting offer in an offer group.

The possible errors that can be raised are:

  • KT-CT-12402: Unable to accept offer.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

offer (OfferType)

Accepted quoting offer.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "offer": OfferType
}

AcceptTermsAndConditions

Record the terms have been accepted and progress the workflow.

Fields

Name Description

acceptedVersion (String)

Version of terms and conditions that were accepted.

Example

{
  "acceptedVersion": "abc123"
}

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountApplicationType)

The item at the end of the edge

Example

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

Fields

Name Description

coolingOffEndDate (Date)

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

dateOfSale (Date)

Date at which this account decided to switch to us.

isMigrated (Boolean)

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

migrationSource (String)

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

preferredSsd (Date)

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

salesChannel (String!)

salesSubchannel (String)

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

status (AccountApplicationStatus!)

Example

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

Fields

Name Description

accountCharge (AccountChargeType)

Debit details.

accountCredit (AccountCreditType)

Credit details.

id (ID)

Balance transfer ID.

reason (String)

The reason for the balance transfer.

Example

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

AccountCampaignConnectionTypeConnection

Paginator of Account Campaigns

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountCampaignType)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountType)

The item at the end of the edge

Example

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

Fields

Name Description

data (JSONString!)

updatedAt (DateTime!)

Example

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

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountEvent)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountFileAttachment)

The item at the end of the edge

Example

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

Fields

Name Description

isEligibleForIo (Boolean)

Whether account is eligible to register devices with Intelligent Octopus or not.

Example

{
  "isEligibleForIo": true
}

Fields

Name Description

loyaltyPoints (Int)

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

totalMonetaryAmount (Int)

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

Example

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

Fields

Name Description

body (String!)

createdAt (DateTime!)

isPinned (Boolean!)

Example

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountPaymentType)

The item at the end of the edge

Example

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

Fields

Name Description

amount (BigInt!)

Amount of payment in pence

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
}

Fields

Name Description

account (AccountType!)

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

Fields

Name Description

content (String)

Reminder content.

dueAt (DateTime)

When the reminder is due.

reminderType (AccountReminderTypes)

The reminder type.

Example

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (Reminder)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountRepaymentType)

The item at the end of the edge

Example

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

Fields

Name Description

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

AccountSearchItemType

A single accout search hit

Fields

Name Description

account (AccountType)

The account found.

score (Decimal)

How well the account matched the search terms.

Example

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

AccountType

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

Name Description

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.

applications (AccountApplicationConnectionTypeConnection)

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

assistanceAgreements ([AssistanceAgreementType])

Assistance agreements for account.

balance (Int!)

The current account balance.

bill (BillInterface)

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

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.

billingPostcode (String)

The postcode of the billing address.

billingSubName (String)

The billing sub name of the account.

bills (BillConnectionTypeConnection)

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

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)

Whether an account can be withdrawn.

canChangePayments (Boolean)

Whether an account can change their payment schedule.

canInputMeterReadingsViaIvr (Boolean)

Whether on not the meter readings can be input via IVR.

canModifyPayments (CanModifyPaymentsType)

Data about whether or not an account can modify their payments.

canRenewTariff (Boolean)

Whether the account is eligible for tariff renewal.

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.

consents ([ConsentType!]!)

Consents linked to this account.

contributionAgreements ([ContributionAgreementType])

Contribution agreements for account.

cotReadingWindowDays (Int)

The number of days around a move out a final meter reading can be given for.

createdAt (DateTime)

The datetime that the account was originally created.

currentEstimatedSsd (Date)

The current estimated supply start day on an account.

debtCollectionProceedings ([DebtCollectionProceedingType])

Debt collection proceedings for account.

directDebitInstructions (DirectDebitInstructionConnectionTypeConnection)

The direct debit instructions of the account

documentAccessibility (DocumentAccessibilityChoices)

The document accessibility preference of the account.

earliestPossibleSsd (Date)

The earliest possible supply start day on an account.

electricityAgreements ([ElectricityAgreementType])

The electricity agreements belonging to the account

eligibilityForWarmHomeDiscount (WarmHomeDiscountEligibility)

Whether the account is eligible to apply for Warm Home Discount as part of the Scottish Broader Group.

events (AccountEventConnectionTypeConnection)

The account events that were recorded for the account.

fileAttachments ([AccountFileAttachment])

Files attached to this account.

gasAgreements ([GasAgreementType])

The gas agreements belonging to the account

greenAccomplishments (GreenAccomplishmentsType)

The green benefits achieved over the lifetime of an account.

hasActiveCollectionsProceedings (Boolean)

Whether or not the account has active collections proceedings.

hasActiveDunningProcess (Boolean)

Whether or not the account has an active Dunning process.

id (ID!)

isEligibleForElectricityReadingIncentive (Boolean)

Whether or not an account is eligible for an electricity reading incentive.

Deprecated

The 'isEligibleForElectricityReadingIncentive' field is deprecated.

Please see wheelOfFortuneSpins query instead.

- Marked as deprecated on 2025-06-24.
- Scheduled for removal on or after 2025-07-24.

isEligibleForGasReadingIncentive (Boolean)

Whether or not an account is eligible for a gas reading incentive.

Deprecated

The 'isEligibleForGasReadingIncentive' field is deprecated.

Please see wheelOfFortuneSpins query instead.

- Marked as deprecated on 2025-06-24.
- Scheduled for removal on or after 2025-07-24.

isInBlockingMigration (Boolean)

Whether or not the account is a part of a migration for which we want to switch supplier without customer actions.

isInHardship (Boolean)

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

latestPossibleSsd (Date)

The latest possible supply start day on an account.

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.

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

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.

operationsTeam (OperationsTeamType)

The operations team that the account belongs to.

overdueBalance (Int)

The current account overdue balance.

paginatedFileAttachments (AccountFileAttachmentConnectionTypeConnection)

Files attached to this account.

paginatedPaymentForecast (PaymentForecastConnectionTypeConnection)

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

paymentAdequacy (PaymentAdequacyType)

Results of the latest review of the account's payments.

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.

paymentMethods (PaymentInstructionConnectionTypeConnection)

The payment instructions of the account.

paymentPlans (PaymentPlanConnectionTypeConnection)

The payment plans that have been created for this account.

paymentSchedules (PaymentScheduleConnectionTypeConnection)

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

payments (AccountPaymentConnectionTypeConnection)

The payments made into an account from a payment instruction.

portfolio (PortfolioType)

The portfolio this account is linked to.

preferredLanguageForComms (String)

The language that the account preferred for communications.

projectedBalance (Int)

Expected balance in a year's time.

properties ([PropertyType])

Properties linked to the account now and in the future.

provisionalTransactions (ProvisionalTransactionConnectionTypeConnection)

recommendedBalanceAdjustment (Int)

Top up payment amount in pence that we recommend for an account.

references ([AccountReferenceType])

Account references linked to this account.

referrals (ReferralConnectionTypeConnection)

The referrals created by this account.

referralsCreated (Int)

Number of referrals created by this account.

reminders (AccountReminderConnectionTypeConnection)

The reminders associated with an account.

repayments (AccountRepaymentConnectionTypeConnection)

The repayments that have been requested for this account.

requestRefundEligibility (RequestRefundEligibilityType)

Details about the eligibility status for requesting a refund.

rewards ([RewardType])

The rewards applied to this account.

shouldReviewPayments (Boolean)

Whether the account's payment should be adjusted.

smets2Interest (SmartMeterInterestChoices)

The interest of an account in procuring smart meters.

smets2RefusalReason (SMETS2InterestReason)

The reason why the account holder is not interested in having a smart meter installed.

splitBillingAddress ([String])

List of billing address lines.

status (AccountStatus)

The current status of the account.

trackerTariffDailyPricing (TrackerTariffDailyPricing)

Only relevant for Kraken instances that support daily tracker tariffs. Returns null if not applicable.

transactions (TransactionConnectionTypeConnection)

Fetch transactions that have taken place on the account.

urn (String)

Unique reference number from a 3rd party enrolment.

users ([AccountUserType!]!)

warmHomeDiscount (WarmHomeDiscount)

Get details about warm home discount applications and records.

Example

{
  "id": "abc123",
  "number": "abc123",
  "status": "PENDING",
  "paymentSchedules": PaymentScheduleConnectionTypeConnection,
  "users": AccountUserType,
  "complaints": ComplaintConnectionTypeConnection,
  "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],
  "notes": [AccountNoteType],
  "contributionAgreements": [ContributionAgreementType],
  "assistanceAgreements": [AssistanceAgreementType],
  "debtCollectionProceedings": [DebtCollectionProceedingType],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "preferredLanguageForComms": "abc123",
  "consents": ConsentType,
  "reminders": AccountReminderConnectionTypeConnection,
  "properties": [PropertyType],
  "marketSupplyAgreements": AgreementConnection,
  "canModifyPayments": CanModifyPaymentsType,
  "projectedBalance": 1,
  "shouldReviewPayments": true,
  "recommendedBalanceAdjustment": 1,
  "electricityAgreements": [ElectricityAgreementType],
  "gasAgreements": [GasAgreementType],
  "warmHomeDiscount": WarmHomeDiscount,
  "eligibilityForWarmHomeDiscount": WarmHomeDiscountEligibility,
  "billingPostcode": "abc123",
  "canRenewTariff": true,
  "trackerTariffDailyPricing": TrackerTariffDailyPricing,
  "paymentAdequacy": PaymentAdequacyType,
  "smets2Interest": "PRIORITY",
  "smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME",
  "greenAccomplishments": GreenAccomplishmentsType,
  "canChangePayments": true,
  "cotReadingWindowDays": 1,
  "canBeWithdrawn": true,
  "currentEstimatedSsd": "2020-01-01",
  "earliestPossibleSsd": "2020-01-01",
  "latestPossibleSsd": "2020-01-01",
  "operationsTeam": OperationsTeamType,
  "canInputMeterReadingsViaIvr": true,
  "hasActiveDunningProcess": true,
  "hasActiveCollectionsProceedings": true,
  "isEligibleForElectricityReadingIncentive": true,
  "isEligibleForGasReadingIncentive": true,
  "isInBlockingMigration": true
}

AccountUserCommsPreferences

Information about the preferences set up for a user.

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (AccountUserType)

The item at the end of the edge

Example

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

AccountUserConsents

Information about the consents for an account user.

Fields

Name Description

consents ([ConsentType!]!)

Consents linked to this user.

Example

{
  "consents": ConsentType
}

Fields

Name Description

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
}

AccountUserPermission

Holds information about a specific permission.

Fields

Name Description

permission (String)

The short name of the permission

Example

{
  "permission": "abc123"
}

AccountUserRoleType

The role a user has in association with one account.

Fields

Name Description

account (AccountType!)

id (ID!)

role (RoleString)

The account role.

user (AccountUserType!)

Example

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

AccountUserType

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

Fields

Name Description

accountUserRoles ([AccountUserRoleType])

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

accounts ([AccountInterface])

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

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.

holdMusicChoices ([TrackOptionType])

List of hold music options.

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.

isOptedInToWof (Boolean)

Override Field to add additional attributes and extend description with possible_errors

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.

permissions ([AccountUserPermission])

Holds information about the permissions of the current viewer.

portfolioId (ID)

We recommend you use portfolioIds instead of this field.

Deprecated

The 'portfolioId' field is deprecated.

Please use 'portfolioIds' instead.

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

portfolioIds ([ID])

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

portfolioUserRoles ([PortfolioUserRoleType])

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

portfolios (PortfolioConnectionTypeConnection)

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

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],
  "permissions": [AccountUserPermission],
  "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,
  "holdMusicChoices": [TrackOptionType],
  "isOptedInToWof": true
}

AccountWithStatusInfoType

An object holding a subset of account.

Fields

Name Description

activePaymentMethod (String)

The active payment method for the account.

balance (Int)

The current balance of the account.

canModifyPayments (CanModifyPaymentsType)

Data about whether or not an account can modify their payments.

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

number (String!)

properties ([PropertyType])

Properties linked to the account now and in the future.

status (AccountStatus)

The current status of the account.

Example

{
  "number": "abc123",
  "status": "PENDING",
  "properties": [PropertyType],
  "marketSupplyAgreements": AgreementConnection,
  "canModifyPayments": CanModifyPaymentsType,
  "balance": 1,
  "activePaymentMethod": "abc123"
}

Fields

Name Description

agent (SiteworksAppointmentAgent)

agentReference (String)

appointmentDate (Date!)

cancellationCategory (CancellationCategory)

The reason the appointment was cancelled (category).

cancellationSubCategory (String)

The reason the appointment was cancelled (sub-category).

createdAt (DateTime!)

date (Date)

id (UUID!)

isTradToSmartExchange (Boolean)

Is the appointment switching from a traditional (not SMETS1) meter to a smart meter?

requestId (String)

status (AppointmentStatus)

The current status of the Siteworks application.

timeSlotEnd (Time)

timeSlotStart (Time)

workCategory (WorkCategory)

The category of work the appointment has been booked for.

Example

{
  "id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "appointmentDate": "2020-01-01",
  "timeSlotStart": "00:00:00.000Z",
  "timeSlotEnd": "00:00:00.000Z",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "agent": "GENERIC_AGENT",
  "workCategory": "EXCHANGE",
  "status": "BOOKED",
  "date": "2020-01-01",
  "isTradToSmartExchange": true,
  "requestId": "abc123",
  "agentReference": "abc123",
  "cancellationCategory": "CANCELLED_BY_CUSTOMER",
  "cancellationSubCategory": "abc123"
}

Fields

Name Description

addressLine1 (String)

Address line 1 of the associated property of the COS loss process.

addressLine2 (String)

Address line 2 of the associated property of the COS loss process.

addressLine3 (String)

Address line 3 of the associated property of the COS loss process.

cosLossProcessFuelType (CosLossProcessFuelType)

The fuel type of the meter associated with the COS loss process.

cosLossProcessId (Int)

The id of the 'Change Of Supplier Loss' process.

hasOpenErroneousTransfer (Boolean)

A flag for whether or not the meter point has an open ET associated with it.

postcode (String)

Postcode of the associated property of the COS loss process.

supplyEndDate (Date)

The date the supply ends.

Example

{
  "cosLossProcessId": 1,
  "cosLossProcessFuelType": "ELECTRICITY",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "postcode": "abc123",
  "supplyEndDate": "2020-01-01",
  "hasOpenErroneousTransfer": true
}

Fields

Name Description

timestamp (DateTime)

The time the data was reported.

value (HeatPumpActivity)

The latest reported activity of the heat pump.

Example

{
  "value": "PRE_HEATING",
  "timestamp": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

username (String)

Username of the Actor.

Example

{
  "username": "abc123"
}

AddBusinessToSegmentMutation

The possible errors that can be raised are:

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

Fields

Name Description

businessSegmentPeriod (BusinessSegmentPeriodType)

The business segment period that was created.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "businessSegmentPeriod": BusinessSegmentPeriodType
}

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

Name Description

campaignAdded (Boolean)

Whether the campaign was successfully added.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

AddCreditToSmartMeter

Add credit to a smart prepayment meter.

Fields

Name Description

amount (Int!)

Top-up amount in pence to add to smart meter.

Example

{
  "amount": 1
}

AddEvPublicChargingToken

Add an EV Public Charging token.

The possible errors that can be raised are:

  • KT-CT-5817: External Account not found.
  • KT-CT-5812: Token with this value already exists within this period.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

token (Token)

Example

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

AddItemsToRiskList

Add new items to risk list.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

riskIdentifiers ([RiskListItemType])

List of successfully added risk identifiers.

Example

{
  "possibleErrors": [PossibleErrorType],
  "riskIdentifiers": [RiskListItemType]
}

Fields

Name Description

clientMutationId (String)

note (InkNote)

The ink conversation note.

Example

{
  "note": InkNote,
  "clientMutationId": "abc123"
}

AddSignupReferralOnAccount

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

The possible errors that can be raised are:

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

Fields

Name Description

accountReferral (ReferralType)

The created account referral instance.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountReferral": ReferralType
}

Fields

Name Description

mpan (String)

profileClass (String)

Example

{
  "mpan": "abc123",
  "profileClass": "abc123"
}

Fields

Name Description

mprn (String)

Example

{
  "mprn": "abc123"
}

AddressConnectionTypeConnection

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([AddressConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

AddressConnectionTypeEdge

A Relay edge containing a AddressConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (AddressType)

The item at the end of the edge

Example

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

Fields

Name Description

addressLine1 (String!)

First address line.

addressLine2 (String)

Second address line.

addressLine3 (String)

Third address line.

addressLine4 (String)

Fourth address line.

addressLine5 (String)

Fifth address line.

postcode (String!)

Postcode.

uprn (String)

Unique Property Reference Number.

Example

{
  "uprn": "abc123",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "addressLine4": "abc123",
  "addressLine5": "abc123",
  "postcode": "abc123"
}

Fields

Name Description

electricityMeterPoints ([ElectricMeterTechnicalDetails])

List of energised electricity meter points associated with the address.

gasMeterPoints ([GasMeterTechnicalDetails])

List of gas meter points associated with the address.

Example

{
  "electricityMeterPoints": [ElectricMeterTechnicalDetails],
  "gasMeterPoints": [GasMeterTechnicalDetails]
}

Fields

Name Description

addressKey (String!)

A unique ID per address using part of the address with spaces removed.

addressType (AddressTypeEnum)

The type of address (domestic, business or unknown).

display (String!)

The complete and human-legible address in a single string.

electricityMeterPoints ([AddressAPIElectricityMeterPointType])

gasMeterPoints ([AddressAPIGasMeterPointType])

gspGroupId (String!)

The ID of the Grid Supply Point Group that the address belongs to.

hasPrepaidMeters (Boolean!)

houseNumber (String)

The identifier for a property. The house number consists of the part of line 1 of the address that is not the street name. This includes sub-building names, building names, deliver point aliases and building numbers. For example, the house number for the property 'Flat 12 100 Example St' would be 'Flat 12 100'.

line1 (String!)

Line 1 of the address. This is generally the house number and street name.

line2 (String!)

Line 2 of the address. This is generally the area or village.

line3 (String!)

Line 3 of the address. This is generally the area or village.

line4 (String!)

Line 4 of the address. This is generally the city.

line5 (String!)

Line 5 of the address. This is generally the county.

postcode (String!)

streetName (String)

The street name for a property. The street name consists of the part of line 1 of the address that is not the house number. For example, the house number for the property 'Flat 12 100 Example St' would be 'Example St'.

Example

{
  "addressKey": "abc123",
  "addressType": "DOMESTIC",
  "display": "abc123",
  "gspGroupId": "abc123",
  "line1": "abc123",
  "line2": "abc123",
  "line3": "abc123",
  "line4": "abc123",
  "line5": "abc123",
  "postcode": "abc123",
  "houseNumber": "abc123",
  "streetName": "abc123",
  "hasPrepaidMeters": true,
  "gasMeterPoints": [AddressAPIGasMeterPointType],
  "electricityMeterPoints": [AddressAPIElectricityMeterPointType]
}

AddressUPRNTypeConnection

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([AddressUPRNTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

AddressUPRNTypeEdge

A Relay edge containing a AddressUPRNType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (UniqueRELAddressType)

The item at the end of the edge

Example

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

AffiliateAudioRecordingPresignedPostType

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

Fields

Name Description

bucket (String!)

The S3 bucket.

fields (JSONString!)

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

key (String!)

The S3 bucket key.

preSignedUrl (String!)

The pre-signed S3 URL.

Example

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

AffiliateLinkType

Affiliate link for the organization.

Fields

Name Description

contactEmail (String!)

contactName (String!)

id (ID!)

isBusiness (Boolean!)

landingUrl (String!)

organisation (AffiliateOrganisationType)

Affiliate Organisation.

subdomain (String!)

trainingStatus (LinkTrainingStatus!)

Example

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

Fields

Name Description

allowAlternativePaymentMethods (Boolean)

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

canRegisterBusinessMeterPoints (Boolean)

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

canRegisterCustomersWithoutEmailAddress (Boolean)

Allow registration requests with customers without an email address.

canRegisterPortfolioAccounts (Boolean)

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

canRenewTariffs (Boolean)

Allow performing tariff renewals via API.

canUseIvrSupportApi (Boolean)

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

contactEmail (String!)

The primary contact email for the organisation.

defaultAccountType (AccountTypeChoices)

Default Account Type.

id (ID!)

isFieldSalesOnlyProduct (Boolean)

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

name (String!)

salesChannel (SalesChannelChoices)

Sales Channel.

Deprecated

The 'salesChannel' field is deprecated.

Please use salesChannelCode instead.

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

salesChannelCode (String)

Sales Channel Code.

skipMeterPointAddressValidation (Boolean)

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

Example

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

AffiliateSessionType

A tracked session for the affiliate link.

Fields

Name Description

id (ID!)

ipAddress (String)

link (AffiliateLinkType)

Affiliate Link.

queryParams (JSONString!)

userAgent (String!)

Example

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

Fields

Name Description

gspCoefficient (Float)

The price multiplier/coefficient used to calculate the unit rate.

peakOffset (Float)

The peak offset for the unit rate.

priceCap (Float)

The maximum value/cap for the unit rate.

Example

{
  "priceCap": 1.0,
  "peakOffset": 1.0,
  "gspCoefficient": 1.0
}

Fields

Name Description

id (ID!)

Example

{
  "id": "abc123"
}

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (CommonAgreementType)

The item at the end of the edge

Example

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

Fields

Name Description

allocationAmount (Int!)

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

allocationReason (String)

Reason for the allocation intention.

transactionAmount (Int!)

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

transactionId (Int!)

ID of the allocated transaction.

transactionType (TransactionTypes!)

The type of the transaction.

Example

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

AllocationType

Represents an allocation of a fulfilment to an obligation.

Fields

Name Description

amount (Int!)

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

fulfilment (FulfilmentType!)

The fulfilment that is allocated.

Example

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

AllowRepaymentSubmission

Allow a repayment to be submitted.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

repaymentId (ID)

The repayment ID.

repaymentIntervention (RepaymentInterventionType)

Resulting Repayment Intervention details.

Example

{
  "possibleErrors": [PossibleErrorType],
  "repaymentId": "abc123",
  "repaymentIntervention": RepaymentInterventionType
}

AlreadyLinkedError

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

Fields

Name Description

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

Fields

Name Description

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

AmendUnbilledElectricityReading

Amend unbilled electricity reading.

Fields

Name Description

readingAmended (Boolean)

Example

{
  "readingAmended": true
}

AnimationType

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

Fields

Name Description

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": ItemSizeType,
  "mediaUrl": "abc123",
  "horizontalAlignment": "START",
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123"
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([AppSessionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

AppSessionConnectionTypeEdge

A Relay edge containing a AppSessionConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (AppSessionType)

The item at the end of the edge

Example

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

Fields

Name Description

account (AccountType)

addressLine1 (String!)

addressLine2 (String!)

addressLine3 (String!)

addressLine4 (String!)

Post town

addressLine5 (String!)

County

createdAt (DateTime!)

id (UUID!)

isArchived (Boolean)

link (AffiliateLinkType!)

locationAt (DateTime)

locationHorizontalAccuracy (Int)

The location accuracy level in meters

locationLatitude (Decimal)

locationLongitude (Decimal)

outcomes ([OutcomeType])

A list of outcomes associated with the app session.

postcode (String!)

salesMode (AppSessionSalesMode)

startedAt (DateTime!)

stoppedAt (DateTime!)

type (AppSessionType)

updatedAt (DateTime!)

Example

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

Fields

Name Description

validFrom (DateTime)

validTo (DateTime)

value (Decimal)

Example

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

ApplicableRateConnectionTypeConnection

Dovetailing rates applicable for an account / meter point combination over a given time period.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([ApplicableRateConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

ApplicableRateConnectionTypeEdge

A Relay edge containing a ApplicableRateConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (ApplicableRate)

The item at the end of the edge

Example

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

ApproveRepayment

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

repayment (AccountRepaymentType)

The approved repayment.

Example

{
  "possibleErrors": [PossibleErrorType],
  "repayment": AccountRepaymentType
}

AssessCollectionProcessRecordForPause

Assess the Collection Process for pause and pause or unpause it based on the assessment.

The possible errors that can be raised are:

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

Fields

Name Description

collectionProcessProcessed (AssessCollectionProcessRecordForPauseOutputType)

Details of collection process after running the pause assessment.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "collectionProcessProcessed": AssessCollectionProcessRecordForPauseOutputType
}

AssessCollectionProcessRecordForPauseOutputType

Output for assessing a Collection process for pause.

Fields

Name Description

isPaused (Boolean)

The pause status of the collection process.

number (String)

The number of the collection process record.

Example

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

AssignDiscountCode

The possible errors that can be raised are:

  • KT-GB-5911: We have assigned all electric blanket discount codes.
  • KT-GB-5912: Account already has a discount code assigned.
  • KT-GB-5913: An error occurred assigning a discount code.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

discountCode (String)

The assigned discount code.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

bucket (InkBucket!)

The bucket that the conversation will be assigned to.

clientMutationId (String)

conversation (InkConversation!)

The conversation that will be assigned to the bucket.

Example

{
  "conversation": InkConversation,
  "bucket": InkBucket,
  "clientMutationId": "abc123"
}

Fields

Name Description

id (ID!)

The ID of the assigned user.

username (String!)

The username of the assigned user.

Example

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

AssistanceAgreementType

A single Assistance Agreement.

Fields

Name Description

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

AssociateCallWithAccount

The possible errors that can be raised are:

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

Fields

Name Description

call (InboundCallType)

The call.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "call": InboundCallType
}

AssociateItemToCollectionProcess

Associate an item to collection process record

The possible errors that can be raised are:

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

Fields

Name Description

collectionProcessAssociatedItem (AssociateItemToCollectionProcessOutputType)

Item associated to the collection process.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "collectionProcessAssociatedItem": AssociateItemToCollectionProcessOutputType
}

Fields

Name Description

itemId (ID)

Associated item identifier.

number (String)

The number of the collection process record.

Example

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

AttachmentType

Represents a file to attach to a communication

Fields

Name Description

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

Name Description

appSession (AppSessionType)

The app session associated with this audio recording.

contentType (String!)

createdAt (DateTime!)

duration (Float!)

fileSize (Int!)

id (UUID!)

s3Bucket (String!)

s3Key (String!)

startedAt (DateTime!)

stoppedAt (DateTime!)

updatedAt (DateTime!)

Example

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

AuthFlow

A step where the user must complete an auth flow.

Fields

Name Description

authorizationUri (String)

The URL to redirect the user to for authorization.

id (ID)

A unique identifier for this onboarding step.

redirectUri (String)

The URI where the auth flow is going to redirect back to at the end.

Example

{
  "id": "abc123",
  "redirectUri": "abc123",
  "authorizationUri": "abc123"
}

AutoTopupConfigConnectionTypeConnection

GraphQL output type for querying nodes of auto top-up configs.

Using this class instead of AutoTopupConfigType directly allows for pagination.

Fields

Name Description

edges ([AutoTopupConfigConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

Example

{
  "pageInfo": PageInfo,
  "edges": AutoTopupConfigConnectionTypeEdge
}

AutoTopupConfigConnectionTypeEdge

A Relay edge containing a AutoTopupConfigConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (AutoTopupConfigType)

The item at the end of the edge

Example

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

AutoTopupConfigType

GraphQL output type for querying auto top-up configs.

Fields

Name Description

accountNumber (String!)

The account number, e.g.: 'A-A1B2C3D4'.

deviceId (String!)

Alphanumber code identifying the device, e.g.: 'A1-BC-D2-00-01-23-EF-4G'.

effectiveFrom (DateTime!)

The date and time when the config became effective.

effectiveTo (DateTime)

The date and time when the config stopped being effective.

id (ID!)

topupAmount (Int!)

Auto top-up amount in the lowest currency unit. i.e. USA cents / GBP pence / etc.

Example

{
  "id": "abc123",
  "accountNumber": "abc123",
  "deviceId": "abc123",
  "topupAmount": 1,
  "effectiveFrom": "2020-01-01T00:00:00.000Z",
  "effectiveTo": "2020-01-01T00:00:00.000Z"
}

AutoTopupTriggerConnectionTypeConnection

GraphQL output type for querying nodes of auto top-up trigger events.

Using this class instead of AutoTopupTriggerType directly allows for pagination.

Fields

Name Description

edges ([AutoTopupTriggerConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

Example

{
  "pageInfo": PageInfo,
  "edges": AutoTopupTriggerConnectionTypeEdge
}

AutoTopupTriggerConnectionTypeEdge

A Relay edge containing a AutoTopupTriggerConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (AutoTopupTriggerType)

The item at the end of the edge

Example

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

AutoTopupTriggerType

GraphQL output type for querying auto top-up trigger events.

Fields

Name Description

autoTopupConfigId (ID!)

Integer ID of the related AutoTopupConfig, e.g. '123'.

createdAt (DateTime!)

DateTime when the trigger event was created, e.g. '2024-01-01T00:00:00+00:00'.

failureReason (SmartDeviceAutoTopupTriggerFailureReasons)

Reason auto top-up trigger event failed, if any.

id (ID!)

source (SmartDeviceAutoTopupTriggerSources!)

Source of the auto top-up trigger event.

status (SmartDeviceAutoTopupTriggerStatus!)

Status of the auto top-up trigger event.

triggeredAt (DateTime!)

DateTime when auto topup was triggered, e.g. '2024-01-01T00:00:00+00:00'.

updatedAt (DateTime!)

DateTime when the trigger event was last updated, e.g. '2024-01-01T00:00:00+00:00'.

Example

{
  "id": "abc123",
  "autoTopupConfigId": "abc123",
  "triggeredAt": "2020-01-01T00:00:00.000Z",
  "status": "INITIATED",
  "source": "LOW_CREDIT_BALANCE",
  "failureReason": "NO_IMPORT_METER",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

electricity (SupplyTypeSpecificSpinsType)

Spin information for an electricity agreement.

gas (SupplyTypeSpecificSpinsType)

Spin information for a gas agreement.

Example


AwardLoyaltyPoints

Award Loyalty Points.

The possible errors that can be raised are:

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

Fields

Name Description

ledgerEntry (LoyaltyPointLedgerEntryType)

The ledger entry for the awarded loyalty points

pointsAwarded (Int)

The number of loyalty points that were awarded.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "pointsAwarded": 1,
  "ledgerEntry": LoyaltyPointLedgerEntryType
}

BackendScreenEvent

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

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

The possible errors that can be raised are:

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

Fields

Name Description

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "action": ActionType
}

BackendScreenEventActionType

An action which triggers some event in the Kraken backend.

Fields

Name Description

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

Name Description

key (String!)

value (String!)

Example

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

Fields

Name Description

isAvailable (Boolean)

Whether the balance forecast is available for the given account.

unavailabilityReason (UnavailabilityReason)

The reason why the balance forecast is unavailable for the given account.

Example

{
  "isAvailable": true,
  "unavailabilityReason": "NO_BILL_ISSUED_IN_LAST_60_DAYS"
}

Fields

Name Description

availability (BalanceForecastAvailabilityType)

The reason why the balance forecast is unavailable for the given account.

isAvailable (Boolean)

Whether the balance forecast is available for the given account.

Deprecated

The 'isAvailable' field is deprecated.

Please use the 'availability' property instead, which also contains this information.

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

Example

{
  "isAvailable": true,
  "availability": BalanceForecastAvailabilityType
}

Fields

Name Description

maximumSocPercentage (Int)

The maximum state of charge (soc) %.

minimumSocPercentage (Int)

The minimum state of charge (soc) %.

Example

{
  "minimumSocPercentage": 1,
  "maximumSocPercentage": 1
}

Fields

Name Description

chargingPreferences (BatteryChargingPreferencesType)

The charging preferences of the battery (e.g. min / max state of charge %).

deviceStatus (DeviceStatusType)

The current status of the battery (e.g. connected, state of charge, power).

deviceType (KrakenFlexDeviceTypes)

Batteries.

krakenflexDeviceId (ID)

ID of the device in KrakenFlex.

params (BatteryParamsType)

Device specific parameters.

provider (ProviderChoices)

Battery integration provider (make).

Example

{
  "krakenflexDeviceId": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "params": BatteryParamsType,
  "deviceStatus": DeviceStatusType,
  "chargingPreferences": BatteryChargingPreferencesType
}

Fields

Name Description

variantId (ID)

ID of the battery variant.

Example

{
  "variantId": "abc123"
}

Fields

Name Description

connectionStatus (ConnectionStatus)

Whether the battery is currently connected (online/offline).

powerInKw (Decimal)

The current power being used to charge the battery, or discharging from the battery, in kW. A negative value indicates this power is being used to charge the battery; a positive value indicates power is being discharged from the battery.

stateOfCharge (Decimal)

The current state of charge (SoC) of the battery (0-100).

Example

{
  "connectionStatus": "ONLINE",
  "powerInKw": "1.0",
  "stateOfCharge": "1.0"
}

Fields

Name Description

batteryCapacityInKwh (Decimal)

Usable capacity in kWh.

couplingType (BatteryCouplingType)

Coupling type (AC/DC).

isDeprecated (Boolean)

Whether a variant is deprecated.

isIntegrationLive (Boolean)

Whether an integration/make is live, i.e. available.

maxPowerInKw (Decimal)

Max import/export power in kW.

model (String)

Model name of the battery.

variantId (ID)

ID of the battery variant.

Example

{
  "variantId": "abc123",
  "model": "abc123",
  "couplingType": "AC",
  "batteryCapacityInKwh": "1.0",
  "maxPowerInKw": "1.0",
  "isIntegrationLive": true,
  "isDeprecated": true
}

Fields

Name Description

make (String)

Make of the home battery.

models ([BatteryVariantModelsType])

List of home battery models per make.

Example

{
  "make": "abc123",
  "models": [BatteryVariantModelsType]
}

BillCharge

A charge to the customer from the energy retailer.

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

BillToLatestSmartMeterSnapshot

Bill an account with a smart meter to the most recent midnight snapshot reading.

Fields

Name Description

billedToDate (Date)

The date that has been billed up to.

currentBalance (Decimal)

The balance after attempting to bill.

Example

{
  "billedToDate": "2020-01-01",
  "currentBalance": "1.0"
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

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

Fields

Name Description

allocationIntentions ([AllocationIntentionType]!)

Allocation intentions for the billing document.

allocations ([AllocationType]!)

Allocations for the billing document.

dueDate (Date!)

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

expectedAmount (Int!)

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

remainingAmount (Int!)

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

Example

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

BillingOptionsType

Information about an account's billing schedule.

Fields

Name Description

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

BlockRepaymentSubmission

Block a repayment from being submitted.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

repaymentId (ID)

The repayment ID.

repaymentIntervention (RepaymentInterventionType)

Resulting Repayment Intervention details.

Example

{
  "possibleErrors": [PossibleErrorType],
  "repaymentId": "abc123",
  "repaymentIntervention": RepaymentInterventionType
}

BulkUpdateSensorDisplayName

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionIds ([SensorUpdateTransactionId])

A mapping of transaction ids for each sensor.

Example

{
  "possibleErrors": [PossibleErrorType],
  "transactionIds": [SensorUpdateTransactionId]
}

BulkUpdateZoneDisplayNames

The possible errors that can be raised are:

  • KT-CT-4384: Error trying to update heat pump zone names.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionIds ([ZoneDisplayNameUpdates]!)

The transaction ID for each zone based on the zone code.

Example

{
  "possibleErrors": [PossibleErrorType],
  "transactionIds": ZoneDisplayNameUpdates
}

Fields

Name Description

key (String!)

The key of the business detail.

value (String)

The value of the business detail.

Example

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

Fields

Name Description

endAt (DateTime)

The end date and time of the segment period

id (ID!)

The ID of the business segment period

segment (SegmentType!)

The segment associated with this period

startAt (DateTime)

The start date and time of the segment period

Example

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

Fields

Name Description

billingAddress (RichAddressType)

The billing address of the business.

businessType (BusinessTypeOptions)

The company type of a business account.

details ([BusinessDetailType])

The details of the business.

id (ID!)

The business ID.

legalAddress (RichAddressType)

The legal address of the business.

linkedAccountNumber (ID!)

Account number linked to this business.

The possible errors that can be raised are:

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

Deprecated

The 'linkedAccountNumber' field is deprecated.

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

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

linkedAccountNumbers ([ID]!)

Account numbers linked to this business.

name (String!)

The business' name

number (String!)

The business' number

paymentMethods (PaymentInstructionConnectionTypeConnection)

List payment instructions owned by this business.

segmentName (String)

The segment this business is assigned to

Example

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

CFCampaignEventConnectionTypeConnection

Paginator of Customer Flexibility Campaign Events

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([CFCampaignEventConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

CFCampaignEventConnectionTypeEdge

A Relay edge containing a CFCampaignEventConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (CFCampaignEventType)

The item at the end of the edge

Example

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

Fields

Name Description

code (String)

The unique code for the event.

endAt (DateTime)

The end time of the campaign event.

isEventParticipant (Boolean)

Indicates if the customer is participating in this specific event.

name (String)

The name of the event.

startAt (DateTime)

The start time of the campaign event.

Example

{
  "name": "abc123",
  "code": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "isEventParticipant": true
}

CalculateDepositAmount

Calculates and records the security deposit amount. Returns the deposit amount and key.

The possible errors that can be raised are:

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

Fields

Name Description

depositAmount (Int)

Security deposit amount in pence.

key (String)

unique key of the record inserted in DepositAmount model.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "depositAmount": 1,
  "key": "abc123"
}

Fields

Name Description

key (String!)

The key of the call metadata item.

value (String!)

The value of the call metadata item.

Example

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

CallTagConnectionTypeConnection

Paginator of Call Tags

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([CallTagConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

CallTagConnectionTypeEdge

A Relay edge containing a CallTagConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (CallTagType)

The item at the end of the edge

Example

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

Fields

Name Description

id (ID)

ID of the call tag.

isActive (Boolean)

Whether the tag can currently be used to tag calls.

name (String)

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

Example

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

Fields

Name Description

expiryDate (Date)

name (String!)

slug (String!)

Example

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

Fields

Name Description

canAmendPayments (Boolean)

Whether or not the account can amend payments.

canCancelPayments (Boolean)

Whether or not the account can cancel payments.

Example

{
  "canAmendPayments": true,
  "canCancelPayments": true
}

CancelEnrolment

Mutation for an account to cancel enrolment to a supplier.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-GB-4136: Account cannot be withdrawn.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

accountNumber (String)

The number of the account whose enrolment was 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-Kraken-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"
}

Fields

Name Description

canBeDelayed (Boolean)

Whether or not the account's enrollment can be delayed.

canBeWithdrawn (Boolean)

Whether or not the account's enrollment can be cancelled.

canSkipSsdPayment (Boolean)

Whether or not the account can skip the SSD payment.

currentEstimatedSsd (Date)

A best estimate of when the account should come on supply.

earliestPossibleSsd (Date)

The earliest possible Supply Start Date (SSD) for the account.

latestPossibleSsd (Date)

The latest possible Supply Start Date (SSD) for the account.

Example

{
  "canBeDelayed": true,
  "canBeWithdrawn": true,
  "currentEstimatedSsd": "2020-01-01",
  "earliestPossibleSsd": "2020-01-01",
  "latestPossibleSsd": "2020-01-01",
  "canSkipSsdPayment": true
}

CancelPayment

The possible errors that can be raised are:

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

Fields

Name Description

payment (AccountPaymentType)

The cancelled 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-Kraken-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
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

repaymentRequest (CancelRepaymentRequestOutputType)

The cancelled repayment/refund request.

Example

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

CancelRepaymentRequestOutputType

Output from cancelling a repayment or refund request.

Fields

Name Description

requestId (String)

The ID of the cancelled request.

status (RepaymentRequestStatus)

The current status of the cancelled request.

Example

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

CancelSiteworksAppointment

Allows account users and organisations to cancel siteworks appointment.

Fields

Name Description

siteworksAppointment (ActiveAppointmentType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "siteworksAppointment": ActiveAppointmentType
}

CancelSmartFlexOnboarding

Cancel onboarding of a device with SmartFlex.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

CardComponentType

A card containing a list of items

Fields

Name Description

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

Fields

Name Description

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
}

Fields

Name Description

description (String)

The description for each kind of Constantine.

displayName (String)

The name describing which kind of Constantine this Constantine is.

firstCaught (DateTime)

The first time this Constantine was caught.

prizeEntries (Int)

How many prize entries catching this Constantine is worth.

rarity (Rarity)

How rare this kind of Constantine is expressed as en enum associated to a percentage value.

slug (String)

The slug for this kind of Constantine.

totalCaught (Int)

The amount of times this Constantine has been caught.

Example

{
  "displayName": "abc123",
  "slug": "abc123",
  "rarity": "Popular",
  "description": "abc123",
  "prizeEntries": 1,
  "totalCaught": 1,
  "firstCaught": "2020-01-01T00:00:00.000Z"
}

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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

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

Charge

A charge to the customer.

Fields

Name Description

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.

isExport (Boolean)

Whether the charge is for export electricity.

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",
  "consumption": Consumption,
  "isExport": true
}

Fields

Name Description

id (ID!)

nameOnCard (String!)

uid (String!)

Example

{
  "id": "abc123",
  "uid": "abc123",
  "nameOnCard": "abc123"
}

Fields

Name Description

make (String)

models ([ChargePointModelsType])

Example

{
  "make": "abc123",
  "models": [ChargePointModelsType]
}

Fields

Name Description

model (String)

powerInKw ([String])

Example

{
  "model": "abc123",
  "powerInKw": ["abc123"]
}

Fields

Name Description

amperage (Int)

Supply amperage. Used in markets where customers are more familiar with amps than power output.

integrationStatus (IntegrationStatus)

Shows the availability status of an integration.

isIntegrationLive (Boolean)

model (String)

powerInKw (Decimal)

variantId (Int)

Example

{
  "variantId": 1,
  "model": "abc123",
  "powerInKw": "1.0",
  "amperage": 1,
  "isIntegrationLive": true,
  "integrationStatus": "INTERNAL_TESTING"
}

Fields

Name Description

make (String)

models ([ChargePointVariantModelType])

Example

{
  "make": "abc123",
  "models": [ChargePointVariantModelType]
}

Fields

Name Description

code (String)

The charge reason code.

display (String)

The charge reason display text.

group (String)

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

isDeprecated (Boolean)

Whether the charge reason is deprecated.

isHidden (Boolean)

Whether the charge reason is hidden.

isTaxExempt (Boolean)

Whether the charge reason is sales tax exempt.

Example

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

ChargesBreakdownConnectionTypeConnection

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (ChargesBreakdownType)

The item at the end of the edge

Example

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

Fields

Name Description

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
}

Fields

Name Description

totalDonatedAmount (Int)

Example

{
  "totalDonatedAmount": 1
}

Fields

Name Description

isOptedIn (Boolean!)

Is opted in to donate to charity.

monthlyAmount (CharityDonationAmountChoices)

Amount to donate each month.

Example

{
  "monthlyAmount": "ONE",
  "isOptedIn": true
}

CheckBusinessCreditRisk

Returns a payment multiplier as a measure of risk. The payment multiplier is the number of advance payments we require from a business as security deposit. It is hardcoded except for Limited companies (=LTDs). For LTDs the payment multiplier depends on the credit score.

Fields

Name Description

paymentMultiplier (Int)

PaymentMultiplier to determine deposit amount.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

CheckDeviceConnection

Triggers an asynchronous request to check the connection of a device.

As this is an asynchronous operation, the mutation does not return the result of the request. Instead, the request reference is returned, which can be used to track the status of the request. If it's an organisation, the organisation will receive an update on the request via the agent services.

Fields

Name Description

requestReference (String)

The reference of the request in Kraken.

Example

{
  "requestReference": "abc123"
}

ClaimOctoplusReward

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.
  • KT-GB-9313: Not enough Octopoints.
  • KT-GB-9314: Reward could not be processed.
  • KT-GB-9315: Reward of this type unavailable.
  • KT-GB-9316: Account is not Octoplus-enrolled.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

rewardId (String)

The ID of the claimed reward.

Example

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

ClaimShoptopusVoucher

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.
  • KT-GB-9313: Not enough Octopoints.
  • KT-GB-9314: Reward could not be processed.
  • KT-GB-9315: Reward of this type unavailable.
  • KT-GB-9316: Account is not Octoplus-enrolled.
  • KT-GB-9319: This feature is not currently available.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

code (String)

The Reward Voucher code.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

climateControlEnabled (Boolean)

currentClimateControlTemperature (Decimal)

The current temperature of the room in Celsius.

targetClimateControlTemperature (Decimal)

The target temperature of the room in Celsius.

Example

{
  "climateControlEnabled": true,
  "targetClimateControlTemperature": "1.0",
  "currentClimateControlTemperature": "1.0"
}

CloseActionType

Closes the screen.

Fields

Name Description

accessibilityHidden (Boolean)

Whether the element is hidden from view.

accessibilityLabel (String)

Accessible description of the element.

id (ID)

Unique identifier of the object.

typeName (String)

The name of the action object's type.

typename (String)

The name of the object's type.

Example

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

CloseDCAProceeding

The possible errors that can be raised are:

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

Fields

Name Description

dcaProceedingClosureStatus (DCAProceedingClosureStatus)

Whether the closure could be applied.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "dcaProceedingClosureStatus": DCAProceedingClosureStatus
}

Fields

Name Description

clientMutationId (String)

liveChat (InkLiveChat)

The live chat.

Example

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

CloseOpenPrintBatch

Close the Open Print Batch if any.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

printBatch (PrintBatchType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "printBatch": PrintBatchType
}

CollectDeposit

Collect deposit for the given account.

The possible errors that can be raised are:

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

Fields

Name Description

payment (CollectDepositOutput)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

paymentDate (Date)

status (CollectDepositStatusChoices)

Example

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

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

Name Description

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

CollectionProcessDetailsType

Collection process details type

Fields

Name Description

associatedItems ([CollectionProcessRecordAssociatedItemType])

Items associated to the collection process.

collectionProcessRecordNumber (String)

The collection process record number.

completionType (String)

What kind of completion happened.

isComplete (Boolean)

The completion status of the collection process.

isPaused (Boolean)

The pause status of the collection process.

pausedDays (Int)

Total number of days collection process were on pause.

Example

{
  "collectionProcessRecordNumber": "abc123",
  "isPaused": true,
  "isComplete": true,
  "completionType": "abc123",
  "associatedItems": [CollectionProcessRecordAssociatedItemType],
  "pausedDays": 1
}

CollectionProcessRecordAssociatedItemType

Item associated to collection process

Fields

Name Description

extraDetails (JSONString)

Additional details of the item.

itemReference (String!)

Unique reference of item.

itemType (String!)

Type of item.

occurredAt (DateTime!)

Datetime of when action that resulted in item happened.

Example

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

Fields

Name Description

attachments (BillingAttachmentConnectionTypeConnection)

billType (BillTypeEnum)

The type of the bill.

constituents (ConstituentConnection)

Constituents of the bill.

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

Name Description

fieldSpecificRateLimits (FieldSpecificRateLimitInformationConnectionTypeConnection!)

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

pointsAllowanceRateLimit (PointsAllowanceRateLimitInformation)

Information about points-allowance rate limit for viewer.

Example

{
  "pointsAllowanceRateLimit": PointsAllowanceRateLimitInformation,
  "fieldSpecificRateLimits": FieldSpecificRateLimitInformationConnectionTypeConnection
}

CommenceDCAProceeding

The possible errors that can be raised are:

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

Fields

Name Description

dcaProceedingCommencementStatus (DCAProceedingCommencementStatus)

Whether the commencement could be applied.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "dcaProceedingCommencementStatus": DCAProceedingCommencementStatus
}

CommissionMeter

The possible errors that can be raised are:

  • KT-GB-4021: Invalid MPxN.
  • KT-GB-4022: MPxN not recognised.
  • KT-GB-4023: Error sending the request to commission the device.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

The id of the SMETS Commission Request in Kraken.

Example

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

Fields

Name Description

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
}

ComplaintConnectionTypeConnection

Paginator of Complaint type.

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (ComplaintContactType)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

assigneeId (ID)

Complaint Assignee.

contacts (ComplaintContactConnectionTypeConnection)

Complaint contacts.

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

CompleteAuthFlowForSmartFlexOnboarding

Complete the auth flow step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding

Complete the Tesla setup virtual key onboarding step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

CompleteUserActionRequiredForSmartFlexOnboarding

Complete the UserActionRequired step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

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

Name Description

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

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

Name Description

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

ConfirmSiteworksAppointmentSlot

The possible errors that can be raised are:

  • KT-GB-4219: Property does not exist.
  • KT-GB-4220: No account currently active at property.
  • KT-GB-4221: Could not confirm duplicate property.
  • KT-GB-4228: Cannot currently book appointments for legacy prepay meters.
  • KT-GB-4229: A smart meter exchange appointment for this date already exists.
  • KT-GB-4210: Bookings not supported for agent appointed at property.
  • KT-GB-4211: Timeslot no longer available.
  • KT-GB-4212: Missing or invalid data for account or property.
  • KT-GB-4234: Booking service currently unavailable.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

siteworksAppointment (ActiveAppointmentType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "siteworksAppointment": ActiveAppointmentType
}

ConsentType

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

Fields

Name Description

code (String!)

Unique code given to this consent type.

id (BigInt!)

id of the consent.

type (ConsentTypeType)

The type of the consent.

value (ConsentValue!)

Value of the consent.

Example

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

ConsentTypeType

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

Fields

Name Description

code (String!)

Unique code given to this consent type.

defaultValue (ConsentValue!)

Default value of the consent type.

description (String!)

Description of the consent type.

name (String!)

Name of the consent type.

Example

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

Fields

Name Description

description (String)

The description for each kind of Constantine.

displayName (String)

The name describing which kind of Constantine this Constantine is.

isCaught (Boolean)

If the user has caught this Constantine in the cache period.

prizeEntries (Int)

How many prize entries catching this Constantine is worth.

rarity (Rarity)

How rare this kind of Constantine is expressed as en enum associated to a percentage value.

slug (String)

The slug for this kind of Constantine.

spawnId (String)

Unique Identifier for the Constantine.

Example

{
  "displayName": "abc123",
  "slug": "abc123",
  "rarity": "Popular",
  "description": "abc123",
  "prizeEntries": 1,
  "spawnId": "abc123",
  "isCaught": true
}

Fields

Name Description

cacheExpiry (DateTime)

The datetime of when the list of Constantines will expire.

constantines ([ConstantineSpawn])

A List of Constantines.

Example

{
  "constantines": [ConstantineSpawn],
  "cacheExpiry": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

description (String)

The description for each kind of Constantine.

displayName (String)

The name describing which kind of Constantine this Constantine is.

prizeEntries (Int)

How many prize entries catching this Constantine is worth.

rarity (Rarity)

How rare this kind of Constantine is expressed as en enum associated to a percentage value.

slug (String)

The slug for this kind of Constantine.

Example

{
  "displayName": "abc123",
  "slug": "abc123",
  "rarity": "Popular",
  "description": "abc123",
  "prizeEntries": 1
}

ConstituentConnection

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (ConstituentInterface)

The item at the end of the edge

Example

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

Fields

Name Description

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
}

Fields

Name Description

sourceId (String)

Unique identifier of the source of the usage.

sourceName (String)

Human readable name of what the usage is for.

usage ([Int])

Monthly usage in pence. First month is January.

Example

{
  "sourceName": "abc123",
  "sourceId": "abc123",
  "usage": [1]
}

ConsumptionBreakdownConnectionTypeConnection

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (ConsumptionBreakdownType)

The item at the end of the edge

Example

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

Fields

Name Description

charges (ChargesBreakdownConnectionTypeConnection)

Charges grouped per displayed period.

marketName (String)

Name of the market the charges are for.

Example

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

ConsumptionConnection

Pagination for energy consumption readings.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([ConsumptionEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

Fields

Name Description

day (Decimal!)

night (Decimal!)

Example

{
  "day": "1.0",
  "night": "1.0"
}

ConsumptionEdge

A Relay edge containing a Consumption and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (ConsumptionType)

The item at the end of the edge

Example

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

Fields

Name Description

elecAnnualConsumptionDay (Int)

elecAnnualConsumptionNight (Int)

elecAnnualConsumptionStandard (Int)

gasAnnualConsumption (Int)

Example

{
  "elecAnnualConsumptionStandard": 1,
  "elecAnnualConsumptionDay": 1,
  "elecAnnualConsumptionNight": 1,
  "gasAnnualConsumption": 1
}

Fields

Name Description

high (ConsumptionEstimate)

Override Field to add additional attributes and extend description with possible_errors

low (ConsumptionEstimate)

Override Field to add additional attributes and extend description with possible_errors

medium (ConsumptionEstimate)

Override Field to add additional attributes and extend description with possible_errors

Example


ConsumptionType

Energy consumption between two points in time.

Fields

Name Description

endAt (DateTime)

startAt (DateTime)

value (Decimal)

Example

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

Fields

Name Description

email (String!)

Email.

firstName (String!)

First name.

lastName (String!)

Last name.

phone (String!)

Phone.

Example

{
  "firstName": "abc123",
  "lastName": "abc123",
  "email": "abc123",
  "phone": "abc123"
}

Contract

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

Fields

Name Description

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 ([AccountType])

The accounts impacted by this contract

terms ([TermInterface])

The terms of the contract.

title (String)

Title of the contract.

validFrom (DateTime)

Date from which the contract is valid.

validTo (DateTime)

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

Example

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

ContractMetaDataType

Represents additional metadata for a contract term.

Fields

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

metadata (JSONString)

The additional metadata of the contract.

type (NonEmptyString)

The type of the term.

Example

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

ContractTerminationInstigated

Contract termination was successfully instigated.

Fields

Name Description

message (String!)

The message to display to the user on termination instigation.

Example

{
  "message": "abc123"
}

ContractVersion

Represents a version of a contract with its effective date.

Fields

Name Description

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

Name Description

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.

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

euid (String!)

The EUID of the controller.

Example

{
  "euid": "abc123"
}

Fields

Name Description

controller (ControllerConfiguration)

Controller configuration.

heatPump (HeatPumpConfiguration)

Controller configuration.

zones ([ZoneInformation])

List of zones with their configuration and schedules.

Example

{
  "controller": ControllerConfiguration,
  "zones": [ZoneInformation],
  "heatPump": HeatPumpConfiguration
}

Fields

Name Description

controller (Controller!)

The controller attached to the account.

heatPumpModel (String!)

The model of the heat pump.

location (Location!)

The location at which the device exists.

provisionedAt (DateTime)

When the controller was provisioned (at this location for this account).

Example

{
  "controller": Controller,
  "heatPumpModel": "abc123",
  "location": Location,
  "provisionedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

accessPointPassword (String)

8 character password used to access the access point mode webpage.

connected (Boolean)

Whether or not the controller is currently connected.

firmwareConfiguration (FirmwareConfiguration)

Controller firmware options for ESP and EFR chips.

heatPumpTimezone (String)

Timezone the controller is in.

lastReset (DateTime)

When the controller was last reset.

state ([State])

Current state of the controller.

Example

{
  "firmwareConfiguration": FirmwareConfiguration,
  "state": "NORMAL_MODE",
  "accessPointPassword": "abc123",
  "heatPumpTimezone": "abc123",
  "connected": true,
  "lastReset": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

sensors ([SensorStatus])

The status and telemetry information of a sensor.

zones ([ZoneStatus])

The status and telemetry information of a zone.

Example

{
  "sensors": [SensorStatus],
  "zones": [ZoneStatus]
}

Fields

Name Description

latitude (Float)

longitude (Float)

Example

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([CoreSiteworksRequestConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

CoreSiteworksRequestConnectionTypeEdge

A Relay edge containing a CoreSiteworksRequestConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (CoreSiteworksRequestType)

The item at the end of the edge

Example

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

CoreSiteworksRequestType

A Siteworks Request

Fields

Name Description

appointments ([OnSiteJobsAppointmentType])

List of appointments linked to this request.

createdAt (DateTime!)

id (UUID!)

lastStatusUpdateAt (DateTime!)

marketSupplyPoints (SupplyPointConnectionTypeConnection)

List of supply points on request.

reason (String)

status (String!)

Example

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

Fields

Name Description

costOfChargeId (String)

isSmartCharge (Boolean)

krakenflexDeviceId (String)

reportDate (Date)

totalConsumption (Float)

Consumption in kWh.

totalCostExclTax (Float)

Cost in pence (excl. tax).

totalCostInclTax (Float)

Cost in pence (incl. tax).

Example

{
  "costOfChargeId": "abc123",
  "krakenflexDeviceId": "abc123",
  "reportDate": "2020-01-01",
  "isSmartCharge": true,
  "totalConsumption": 1.0,
  "totalCostExclTax": 1.0,
  "totalCostInclTax": 1.0
}

CostOfUsageConnectionTypeConnection

Dovetailing usage and cost for an account / meter combination over a given time period.

Fields

Name Description

cost (Int)

Overall cost of nodes in the edge.

edges ([CostOfUsageConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

usageKwh (Decimal!)

Overall usage of nodes in the edge.

Example

{
  "pageInfo": PageInfo,
  "edges": CostOfUsageConnectionTypeEdge,
  "cost": 1,
  "usageKwh": "1.0"
}

CostOfUsageConnectionTypeEdge

A Relay edge containing a CostOfUsageConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (IntervalCostOfUsageType)

The item at the end of the edge

Example

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

Fields

Name Description

costEnabled (Boolean)

Whether cost of usage can be displayed for a user.

details (CostOfUsageConnectionTypeConnection)

Cost of usage for given period.

direction (String)

Energy product direction, e.g. IMPORT or EXPORT.

Example

{
  "costEnabled": true,
  "direction": "abc123",
  "details": CostOfUsageConnectionTypeConnection
}

CreateAPICall

The possible errors that can be raised are:

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

Fields

Name Description

apiCall (APICallType)

The created APICall.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "apiCall": APICallType
}

CreateAPIException

The possible errors that can be raised are:

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

Fields

Name Description

apiException (APIExceptionType)

The created APIException.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "apiException": APIExceptionType
}

CreateAPIExceptionEvent

The possible errors that can be raised are:

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

Fields

Name Description

apiExceptionEvent (APIExceptionEventType)

The created APIExceptionEvent.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "apiExceptionEvent": APIExceptionEventType
}

CreateAPIExceptionNote

The possible errors that can be raised are:

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

Fields

Name Description

apiException (APIExceptionType)

The created APIExceptionNote.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "apiException": APIExceptionType
}

CreateAccountCharge

Add charges to an account.

The possible errors that can be raised are:

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

Fields

Name Description

accountCharge (AccountChargeType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountCharge": AccountChargeType
}

CreateAccountCredit

Add credits to an account.

The possible errors that can be raised are:

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

Fields

Name Description

accountCredit (AccountCreditType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountCredit": AccountCreditType
}

Fields

Name Description

clientMutationId (String)

postRequest (UploadPostRequest)

Example

{
  "postRequest": UploadPostRequest,
  "clientMutationId": "abc123"
}

CreateAccountNote

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4180: Account note must be a valid string.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (AccountType)

Account, which has the added note.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

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

Name Description

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

CreateAccountReminder

The possible errors that can be raised are:

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

Fields

Name Description

accountReminder (AccountReminder)

Account reminder.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountReminder": AccountReminder
}

CreateAcquisitionQuoteRequestForProducts

The possible errors that can be raised are:

  • KT-GB-4625: Unable to create quote request.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

quoteRequest (QuoteRequestBase)

Returns a quote request for the requested product codes. Does not persist the quote.

Example

{
  "possibleErrors": [PossibleErrorType],
  "quoteRequest": QuoteRequestBase
}

Create an affiliate link for a new sales agent.

The possible errors that can be raised are:

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

Fields

Name Description

affiliateLink (AffiliateLinkType)

The created affiliate link.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "affiliateLink": AffiliateLinkType
}

CreateAffiliateOrganisation

Create an affiliate organisation.

The possible errors that can be raised are:

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

Fields

Name Description

affiliateOrganisation (AffiliateOrganisationType)

The created affiliate organisation.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "affiliateOrganisation": AffiliateOrganisationType
}

CreateAffiliateSession

Create a session for an affiliate link.

Fields

Name Description

affiliateSession (AffiliateSessionType)

The created affiliate session

Example

{
  "affiliateSession": AffiliateSessionType
}

CreateAudioRecording

The possible errors that can be raised are:

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

Fields

Name Description

audioRecording (AudioRecordingType)

The created audio recording.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "audioRecording": AudioRecordingType
}

CreateAutoTopupConfig

Create a new auto topup config for SPAYG meter.

Fields

Name Description

autoTopupConfig (AutoTopupConfigType!)

The created auto top-up config.

Example

{
  "autoTopupConfig": AutoTopupConfigType
}

CreateBusiness

The possible errors that can be raised are:

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

Fields

Name Description

business (BusinessType)

The created business.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "business": BusinessType
}

CreateCallMetadata

The possible errors that can be raised are:

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

Fields

Name Description

call (CallInterface)

The call metadata was attached to.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "call": CallInterface
}

CreateCampaignItems

The possible errors that can be raised are:

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

Fields

Name Description

batchIdentifier (String)

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

campaignItems ([VoiceCampaignItemType])

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "campaignItems": [VoiceCampaignItemType],
  "batchIdentifier": "abc123"
}

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

Name Description

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

validFrom (DateTime)

Datetime when the credit transfer permission is valid.

Example

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

CreateCustomerFeedback

The possible errors that can be raised are:

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

Fields

Name Description

customerFeedback (CustomerFeedbackType)

The created customer feedback object.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

CreateDepositAgreement

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

The possible errors that can be raised are:

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

Fields

Name Description

depositAgreement (CreateDepositAgreementOutput)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "depositAgreement": CreateDepositAgreementOutput
}

Fields

Name Description

depositAmount (Int)

depositRequired (Boolean)

Example

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

CreateDirectDebitInstruction

The possible errors that can be raised are:

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

Fields

Name Description

directDebitInstruction (DirectDebitInstructionType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

CreateElectricJuiceAgreement

Create an Electric Juice agreement for an account.

Fields

Name Description

agreement (Agreement)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "agreement": Agreement
}

CreateElectricJuiceCharge

Create an Electric Juice charge and associated line items.

Fields

Name Description

accountCharge (AccountChargeType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "accountCharge": AccountChargeType
}

CreateElectricJuiceChargeCard

Create a new Electric Juice charge card for an account.

Fields

Name Description

chargeCard (ChargeCardType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "chargeCard": ChargeCardType
}

CreateElectricJuiceCredit

Add a credit to an Electric Juice Network ledger.

Fields

Name Description

accountCredit (AccountCreditType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "accountCredit": AccountCreditType
}

CreateEvPublicChargingAgreement

Create an EV Public Charging agreement.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-5811: Active agreement already exists.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

agreement (Agreement)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "agreement": Agreement
}

CreateExternalAccountEvent

Create an external account event.

The possible errors that can be raised are:

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

Fields

Name Description

event (ExternalAccountEvent)

The new event data.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "event": ExternalAccountEvent
}

CreateExternalAccountUserEvent

Create an external account user event.

The possible errors that can be raised are:

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

Fields

Name Description

event (ExternalAccountUserEvent)

The new event data.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "event": ExternalAccountUserEvent
}

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

Name Description

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

Name Description

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

Name Description

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

CreateHeatPumpGoodsQuote

Create a Goods quote for heat pumps.

This augments the standard goods quote with additional heat pump information.

Fields

Name Description

quote (HeatPumpGoodsQuote)

Generated heat pump quote.

Example

{
  "quote": HeatPumpGoodsQuote
}

CreateInboundCall

The possible errors that can be raised are:

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

Fields

Name Description

call (InboundCallType)

The call that was created.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "call": InboundCallType
}

CreateInkInboundMessagePayload

Register an Ink inbound message.

Fields

Name Description

clientMutationId (String)

message (InkMessage!)

The Ink message that was created.

Example

{
  "message": InkMessage,
  "clientMutationId": "abc123"
}

CreateMetadata

Create metadata on an object.

The possible errors that can be raised are:

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

Fields

Name Description

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

Fields

Name Description

id (String)

Deprecated

The 'id' field is deprecated.

The `ID` field is depreciated.

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

readingErrors ([SerializerFieldErrorsType])

Example

{
  "readingErrors": [SerializerFieldErrorsType],
  "id": "abc123"
}

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.
  • KT-GB-9319: This feature is not currently available.
  • KT-GB-9323: Could not create contact link.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

url (String)

The URL of the customer contact form link.

Example

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

CreateOfferGroupForQuoting

Create a quoting offer group.

The possible errors that can be raised are:

  • KT-CT-12401: Unable to create offer group.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

offerGroup (OfferGroupType)

Quoting offer group.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "offerGroup": OfferGroupType
}

CreateOpportunity

The possible errors that can be raised are:

  • KT-CT-8912: Funnel not found.
  • KT-CT-8919: Funnel initial stage not set.
  • KT-CT-8920: Extra details contains invalid key.
  • KT-CT-8911: Unable to create opportunity.
  • KT-CT-8907: Lead not found.
  • KT-CT-8901: Unable to create lead.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

dateOfCreation (DateTime)

The date the opportunity was created.

funnelCode (String)

The code of the funnel.

opportunityNumber (String)

The unique number of the opportunity.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

stage (String)

The stage of the opportunity.

Example

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

CreateOrUpdateLoyaltyCardMutation

Create a Loyalty Card for the given account user.

The possible errors that can be raised are:

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

Fields

Name Description

loyaltyCard (LoyaltyCardType)

Created or updated loyalty card.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "loyaltyCard": LoyaltyCardType
}

CreateOrUpdateSiteworksAppointment

Create a new job or update the status of an existing one.

The possible errors that can be raised are:

  • KT-CT-1112: 'Authorization' header not provided.
  • KT-CT-4231: Unauthorized.
  • KT-GB-4230: Invalid data.
  • KT-GB-4224: Error processing siteworks appointment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

result (CreateOrUpdateSiteworksAppointmentOutput)

Example

{
  "possibleErrors": [PossibleErrorType],
  "result": CreateOrUpdateSiteworksAppointmentOutput
}

Fields

Name Description

appointmentCreated (Boolean)

appointmentUpdated (Boolean)

Example

{
  "appointmentCreated": true,
  "appointmentUpdated": true
}

CreatePaymentSchedule

Mutation for creating an Payment Schedule instance using the authenticated user.

The possible errors that can be raised are:

  • KT-GB-3917: Unable to create payment schedule.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

paymentSchedule (PaymentScheduleType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

CreatePortfolio

Create a new portfolio.

The possible errors that can be raised are:

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

Fields

Name Description

portfolio (PortfolioType)

The created portfolio.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "portfolio": PortfolioType
}

CreatePortfolioUserRole

The possible errors that can be raised are:

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

Fields

Name Description

portfolioUserRole (PortfolioUserRoleType)

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

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "portfolioUserRole": PortfolioUserRoleType
}

CreatePostEvents

Create post delivery events from external vendors.

The possible errors that can be raised are:

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

Fields

Name Description

createdEventsCount (Int)

Number of events successfully created.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

CreateProductOutput

Output type for creating a product.

Fields

Name Description

product (SupplyProductType)

The created product.

Example

{
  "product": SupplyProductType
}

CreateProductRates

Create one or more product rates for a product.

The possible errors that can be raised are:

  • KT-GB-9514: No available product found.
  • KT-GB-9518: Invalid input data for product rate(s).
  • KT-GB-9519: Unable to create product rate(s).
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

productRates ([ProductRateType])

Successfully created rate(s) for the specified product.

Example

{
  "possibleErrors": [PossibleErrorType],
  "productRates": [ProductRateType]
}

CreateProvisioningClaim

Create an AWS provisioning claim certificate.

Fields

Name Description

tempProvisioningClaimCert (GenericScalar)

The temporary provisioning certification.

Example

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

CreateQuoteForAccount

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

quoteRequest (MarketSupplyQuoteRequestType)

Returns a quote request.

Example

{
  "possibleErrors": [PossibleErrorType],
  "quoteRequest": MarketSupplyQuoteRequestType
}

Fields

Name Description

errors ([SerializerFieldErrorsType])

quote (QuoteType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "errors": [SerializerFieldErrorsType],
  "quote": QuoteType
}

CreateQuoteRequestForProducts

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

quoteRequest (QuoteRequestBase)

Returns a quote request for the requested product codes. Does not persist the quote.

Example

{
  "possibleErrors": [PossibleErrorType],
  "quoteRequest": QuoteRequestBase
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

referredAccountRewardAmount (Int)

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

Example

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

CreateRefundRequest

Mutation for creating an refund request for an account.

The possible errors that can be raised are:

  • KT-GB-4127: Unable to send refund request confirmation email.
  • KT-GB-4121: Unable to process refund request.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

refundRequest (RefundRequestType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "refundRequest": RefundRequestType
}

CreateReminder

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

reminder (Reminder)

Account reminder.

Example

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

Fields

Name Description

quoteRequest (QuoteRequest)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "quoteRequest": QuoteRequest
}

CreateScheduledTransactions

Mutation to create scheduled transactions.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

scheduledTransactions ([ScheduledTransactionType])

Example

{
  "possibleErrors": [PossibleErrorType],
  "scheduledTransactions": [ScheduledTransactionType]
}

CreateShellAccountPayload

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

Fields

Name Description

account (AccountInterface)

billingAddressLine1 (String)

billingAddressLine2 (String)

billingAddressLine3 (String)

billingAddressLine4 (String)

billingAddressLine5 (String)

billingName (String)

billingPeriodDay (Int)

Day to fixed bill on if billingperiodlength set.

billingPeriodLength (String)

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

billingPeriodMonth (Int)

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

billingPeriodMultiplier (Int)

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

billingPostcode (String)

billingRichAddress (String)

brand (String)

businessType (String)

clientMutationId (String)

companyName (String)

companyNumber (String)

dateOfBirth (Date)

email (String!)

errors ([ErrorType])

familyName (String!)

givenName (String!)

isBusinessAccount (Boolean)

landline (String)

mobile (String)

password (String)

passwordUpdateToken (String)

portfolioNumber (String)

urn (String)

Example

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

CreateSiteworksEvent

Create a Siteworks event.

Currently, only events for reporting are enabled.

Fields

Name Description

eventCreated (Boolean)

Example

{
  "eventCreated": true
}

CreateSiteworksEventExternal

Makes it possible to create Sitework events by external third parties.

This mutation uses the external JWT authorization method.

The possible errors that can be raised are:

  • KT-GB-4222: The provided 'siteworksRequestId' is not a valid UUID.
  • KT-GB-4223: Siteworks request not found. Check the provided 'siteworksRequestId' is correct.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

eventCreated (Boolean)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

CreateSnap

The possible errors that can be raised are:

  • KT-GB-9316: Account is not Octoplus-enrolled.
  • KT-GB-9325: Invalid constantine slug.
  • KT-GB-9326: Invalid spawn ID.
  • KT-GB-9319: This feature is not currently available.
  • KT-GB-9327: Snap failed to create.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean)

Returns true if snap was successfully created.

Example

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

CreateSupplyPointMetadata

The possible errors that can be raised are:

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

Fields

Name Description

metadata (Metadata)

The created 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-Kraken-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
}

Credit

A credit to the customer from the energy retailer.

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

fromSourceLedgers ([CreditTransferPermissionFromSourceLedgerType])

Permissions for credit transfers when the ledger is the target.

toTargetLedgers ([CreditTransferPermissionToTargetLedgerType])

Permissions for credit transfers when the ledger is the source.

Example


CustomerFeedbackFormConnectionTypeConnection

Paginator of Customer Feedback Form.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([CustomerFeedbackFormConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

CustomerFeedbackFormConnectionTypeEdge

A Relay edge containing a CustomerFeedbackFormConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (CustomerFeedbackFormType)

The item at the end of the edge

Example

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

Fields

Name Description

id (ID)

The unique identifier for the customer feedback form.

name (String)

The name of the customer feedback form.

Example

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

Fields

Name Description

id (ID!)

rawScore (Int)

The value attached to the source

submittedAt (DateTime)

The datetime the feedback was submitted

Example

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

Fields

Name Description

accountNumber (String!)

The account number.

ledgerNumber (String)

The ledger identifier.

Example

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

Fields

Name Description

accountNumber (String!)

The account number.

agency (String!)

The agency.

campaign (String!)

The campaign.

commencementStatus (Boolean!)

Whether the commencement could be applied.

ledgerNumber (String)

The ledger identifier.

Example

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

Fields

Name Description

accountNumber (String!)

The account number.

commencementStatus (Boolean!)

Whether the update has been applied.

Example

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

Dashboard

A list of components which comprise a dashboard screen.

Fields

Name Description

dashboardItems ([SectionType]!)

The list of sections for a dashboard.

id (ID)

Unique identifier of the object.

serialisedDashboardItems (String!)

The serialised dashboard items.

typename (String)

The name of the object's type.

Example

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

Fields

Name Description

endCursor (DateTime)

The cursor of the last item.

hasNextPage (Boolean)

Whether there are more items when paginating forwards.

hasPreviousPage (Boolean)

Whether there are previous items when paginating backwards.

startCursor (DateTime)

The cursor of the first item.

Example

{
  "startCursor": "2020-01-01T00:00:00.000Z",
  "endCursor": "2020-01-01T00:00:00.000Z",
  "hasPreviousPage": true,
  "hasNextPage": true
}

Fields

Name Description

dayRate (Float)

dayRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

description (String)

displayName (String)

fullName (String)

id (ID)

isExport (Boolean)

Whether the tariff is for exporting energy.

nightRate (Float)

nightRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

preVatDayRate (Float)

preVatNightRate (Float)

preVatStandingCharge (Float)

productCode (String)

standingCharge (Float)

tariffCode (String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123",
  "isExport": true,
  "dayRate": 1.0,
  "dayRateEpgApplied": true,
  "nightRate": 1.0,
  "nightRateEpgApplied": true,
  "preVatDayRate": 1.0,
  "preVatNightRate": 1.0
}

DeauthenticateDevice

De-authenticate a registered device.

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4350: Unable to de-authenticate device.
  • KT-CT-4352: This device cannot currently be de-authenticated.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (DeviceDetailsType)

Override Field to add additional attributes and extend description with possible_errors

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": DeviceDetailsType
}

DeauthenticateFlexDevice

De-authenticate a registered device by device id.

The possible errors that can be raised are:

  • KT-CT-4350: Unable to de-authenticate device.
  • KT-CT-4352: This device cannot currently be de-authenticated.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (DeviceDetailsType)

Override Field to add additional attributes and extend description with possible_errors

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": DeviceDetailsType
}

Fields

Name Description

code (String!)

isActive (Boolean!)

name (String!)

Example

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

Fields

Name Description

code (String!)

deprecatedAt (DateTime)

displayName (String!)

requiresFieldVisit (Boolean!)

Example

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

Fields

Name Description

agency (DebtCollectionAgencyType)

The agency responsible for the collection proceedings.

amount (Int)

campaign (CollectionCampaignType)

The campaign type of the collection proceedings.

Deprecated

The 'campaign' field is deprecated.

Use `collectionCampaign` instead

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

collectionCampaign (DebtCollectionCampaignType)

The campaign type of the collection proceedings.

startedAt (DateTime!)

stopReason (DebtCollectionProceedingStopReason)

stoppedAt (DateTime)

Example

{
  "agency": DebtCollectionAgencyType,
  "campaign": "VULNERABLE_CUSTOMER",
  "amount": 1,
  "startedAt": "2020-01-01T00:00:00.000Z",
  "stoppedAt": "2020-01-01T00:00:00.000Z",
  "stopReason": "BANKRUPT",
  "collectionCampaign": DebtCollectionCampaignType
}

DecommissionSmartDevice

The possible errors that can be raised are:

  • KT-GB-4024: The provided device ID does not match any devices known by Kraken.
  • KT-GB-4025: Error sending the request to decommission the device.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

The reference of the Decommission Request in Kraken.

Example

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

DeductLoyaltyPoints

Deduct a set amount of loyalty points from an account.

The possible errors that can be raised are:

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

Fields

Name Description

ledgerEntry (LoyaltyPointLedgerEntryType)

The ledger entry for the deducted loyalty points

pointsDeducted (Int)

The number of loyalty points that were deducted.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "pointsDeducted": 1,
  "ledgerEntry": LoyaltyPointLedgerEntryType
}

DeeplinkActionType

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

Fields

Name Description

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

Fields

Name Description

cardExpiryMonth (Int)

cardExpiryYear (Int)

cardNumber (String!)

cardPaymentNetwork (String)

cardType (String)

id (ID!)

instructionType (String!)

validFrom (DateTime!)

vendor (String!)

Example

{
  "id": "abc123",
  "instructionType": "abc123",
  "cardPaymentNetwork": "abc123",
  "cardExpiryMonth": 1,
  "cardExpiryYear": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "vendor": "abc123",
  "cardNumber": "abc123",
  "cardType": "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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

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

DeleteAccountReference

Delete a reference for a particular account and namespace.

The possible errors that can be raised are:

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

Fields

Name Description

accountReference (DeleteAccountReferenceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

namespace (String!)

The namespace associated with the removed AccountReference.

Example

{
  "namespace": "abc123"
}

DeleteBoostCharge

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4354: Unable to cancel boost charge.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

status (DeletePushNotificationBindingOutput)

Example

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

Fields

Name Description

acceptedAt (DateTime)

depositAmount (Int)

depositKey (String)

fulfilledAt (DateTime)

Example

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

DeprovisionHeatingController

De-provision a heating controller device.

The possible errors that can be raised are:

  • KT-CT-4307: Error deprovisioning an Octopus heat pump.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

message (String)

The message to display to the user upon successful device de-provisioning.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

DeviceChargingSessionConnection

Paginator for device charging session.

Fields

Name Description

edges ([DeviceChargingSessionEdge]!)

Contains the nodes in this connection.

pageInfo (DateTimePageInfo)

Information to aid in DateTime pagination.

Example

{
  "pageInfo": DateTimePageInfo,
  "edges": DeviceChargingSessionEdge
}

DeviceChargingSessionEdge

A Relay edge containing a DeviceChargingSession and its cursor.

Fields

Name Description

cursor (DateTime)

The cursor of the item.

node (DeviceChargingSession)

The item at the end of the edge

Example

{
  "node": DeviceChargingSession,
  "cursor": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

deviceType (KrakenFlexDeviceTypes)

The type of device.

krakenflexDeviceId (String)

provider (ProviderChoices)

The third party that provides control over this device.

Example

{
  "krakenflexDeviceId": "abc123",
  "provider": "BYD",
  "deviceType": "BATTERIES"
}

DeviceRegistration

Register a device for smart controlling.

Where device refers to batteries, electric vehicles, heat pumps or thermostats.

The possible errors that can be raised are:

  • KT-CT-4324: Device already registered error.
  • KT-CT-4321: Serializer validation error.
  • KT-CT-4312: Unable to register device.
  • KT-CT-4363: No capable devices found.
  • KT-CT-4364: Multiple devices found.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

registeredDeviceIds ([String])

Device ID(s) of the registered device(s).

Example

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

Fields

Name Description

timestamp (DateTime!)

Timestamp of the reading.

value (Float!)

Value of the reading.

Example

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

Fields

Name Description

activePowerInKw (DeviceStatusReadingType)

Device charging power in kilowatts (kW) - negative for import, positive for export.

energyInKwh (DeviceStatusReadingType)

Energy stored in the device in kilowatt-hours (kWh).

socPercentage (DeviceStatusReadingType)

State of charge of the battery in % (may not be a whole number).

Example

{
  "activePowerInKw": DeviceStatusReadingType,
  "energyInKwh": DeviceStatusReadingType,
  "socPercentage": DeviceStatusReadingType
}

Fields

Name Description

maxExportInKw (Float)

The maximum export power of the device in kilowatts.

maxImportInKw (Float)

The maximum import power of the device in kilowatts.

pluggedIn (Boolean)

Whether device is connected.

readings (DeviceStatusReadingsType)

Device status telemetry readings.

status (KrakenFlexDeviceStatusChoices)

The lifecycle status of the device.

Deprecated

The 'status' field is deprecated.

Please use the 'devices' query instead.

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

suspended (Boolean)

Whether control of the device has been temporarily suspended.

Example

{
  "status": "ONBOARDING",
  "suspended": true,
  "maxImportInKw": 1.0,
  "maxExportInKw": 1.0,
  "pluggedIn": true,
  "readings": DeviceStatusReadingsType
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

errors ([ErrorType])

paymentSchedule (PaymentScheduleType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "paymentSchedule": PaymentScheduleType,
  "errors": [ErrorType]
}

DisableAutoTopup

Disable auto topup for SPAYG meter.

Fields

Name Description

success (Boolean!)

Boolean indicating if the auto top-up was successfully disabled.

Example

{
  "success": true
}

Fields

Name Description

discount (Decimal!)

The discount as a decimal between 0 and 1.

metaData (FanClubMetadataOutput)

This type will return additional market specific information. For example, some markets support wind direction, fan speed, wind speed, etc. while others do not.

startAt (DateTime!)

Timestamp for the discount.

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "discount": "1.0",
  "metaData": FanClubMetadataOutput
}

Fields

Name Description

baseTime (DateTime!)

The start time that the ensemble forecast simulation.

data ([ForecastData]!)

Discount forecast data-points.

Example

{
  "baseTime": "2020-01-01T00:00:00.000Z",
  "data": ForecastData
}

Fields

Name Description

earliestPossibleDirectDebitPaymentDate (Date)

Example

{
  "earliestPossibleDirectDebitPaymentDate": "2020-01-01"
}

Fields

Name Description

connectionType (String)

Connection type.

connectionTypeEfd (Date)

Connection type effective from date.

connectionTypeEtd (Date)

Connection type end date.

consumerType (String)

Consumer Type.

cssSupplierMpid (String)

Current supplier as supplied via CSS messages.

cssSupplyStartDate (Date)

Current supply start date via CSS messages.

dataAggregatorEfd (Date)

Data Aggregator appointment effective from date.

dataAggregatorMpid (String)

Data Aggregator MPID.

dataCollectorEfd (Date)

Data Collector appointment effective from date.

dataCollectorMpid (String)

Data Collector MPID.

dccServiceFlag (String)

Data Communications Company Service Flag.

dccServiceFlagEfd (Date)

Data Communications Company Service Flag effective from date.

distributorMpid (String)

Distributor MPID.

domesticConsumerIndicator (Boolean)

Domestic Consumer Indicator supplied via CSS messages.

energisationStatus (String)

Energisation status.

energisationStatusEfd (Date)

Energisation status effective from date.

energyDirection (String)

Energy direction.

energyDirectionEfd (Date)

Energy direction effective from date.

energyDirectionEtd (Date)

Energy direction end date.

greenDealInEffect (String)

Indicates if a Green Deal is currently active for this MPAN.

gspGroupEfd (Date)

Grid Supply Point Group effective from date.

gspGroupId (String)

Grid Supply Point Group Id.

ihdStatus (String)

In Home Display Install status.

ihdStatusEfd (Date)

In Home Display Install status effective from date.

lineLossFactor (String)

Line Loss Factor Class.

lineLossFactorEfd (Date)

Line Loss Factor Class effective from date.

measurementClass (String)

Measurement Class.

measurementClassEfd (Date)

Measurement Class effective from date.

meterOperatorEfd (Date)

Meter Operator appointment effective from date.

meterOperatorMpid (String)

Meter Operator MPID.

meterTimeswitchClass (Int)

Meter Time-switch Class.

meterTimeswitchClassEfd (Date)

Meter Time-switch Class effective from date.

meteredIndicator (Boolean)

Metered Indicator.

meteredIndicatorEfd (Date)

Metered Indicator effective from date.

meteredIndicatorEtd (Date)

Metered Indicator end date.

meters ([ElectricMeterTechnicalSubDetails])

List of meter details.

mpan (String!)

MPAN.

profileClass (Int)

Profile Class.

profileClassEfd (Date)

Profile Class effective from date.

relationshipStatusIndicator (String)

Relationship Status Indicator.

rmpState (String)

RMP State.

rmpStateEfd (Date)

RMP State effective from date.

smetsVersion (String)

Smart Metering Equipment Technical Specification version.

smsoEfd (Date)

Smart Metering System Operator effective from date.

smsoMpid (String)

Smart Metering System Operator MPID.

standardSettlementConfiguration (String)

Standard Settlement Configuration.

standardSettlementConfigurationEfd (Date)

Standard Settlement Configuration effective from date.

supplierEfd (Date)

Effective from date of the current supplier.

supplierMpid (String)

Supplier MPID.

tradingStatus (String)

MPAN trading status.

tradingStatusEfd (Date)

MPAN trading status effective from date.

Example

{
  "mpan": "abc123",
  "distributorMpid": "abc123",
  "tradingStatus": "abc123",
  "tradingStatusEfd": "2020-01-01",
  "gspGroupId": "abc123",
  "gspGroupEfd": "2020-01-01",
  "lineLossFactor": "abc123",
  "lineLossFactorEfd": "2020-01-01",
  "dccServiceFlag": "abc123",
  "dccServiceFlagEfd": "2020-01-01",
  "greenDealInEffect": "abc123",
  "supplierMpid": "abc123",
  "supplierEfd": "2020-01-01",
  "energisationStatus": "abc123",
  "energisationStatusEfd": "2020-01-01",
  "profileClass": 1,
  "profileClassEfd": "2020-01-01",
  "standardSettlementConfiguration": "abc123",
  "standardSettlementConfigurationEfd": "2020-01-01",
  "meterTimeswitchClass": 1,
  "meterTimeswitchClassEfd": "2020-01-01",
  "measurementClass": "abc123",
  "measurementClassEfd": "2020-01-01",
  "dataAggregatorMpid": "abc123",
  "dataAggregatorEfd": "2020-01-01",
  "dataCollectorMpid": "abc123",
  "dataCollectorEfd": "2020-01-01",
  "meterOperatorMpid": "abc123",
  "meterOperatorEfd": "2020-01-01",
  "smsoMpid": "abc123",
  "smsoEfd": "2020-01-01",
  "ihdStatus": "abc123",
  "ihdStatusEfd": "2020-01-01",
  "smetsVersion": "abc123",
  "meteredIndicator": true,
  "meteredIndicatorEfd": "2020-01-01",
  "meteredIndicatorEtd": "2020-01-01",
  "consumerType": "abc123",
  "domesticConsumerIndicator": true,
  "relationshipStatusIndicator": "abc123",
  "rmpState": "abc123",
  "rmpStateEfd": "2020-01-01",
  "cssSupplierMpid": "abc123",
  "cssSupplyStartDate": "2020-01-01",
  "energyDirection": "abc123",
  "energyDirectionEfd": "2020-01-01",
  "energyDirectionEtd": "2020-01-01",
  "connectionType": "abc123",
  "connectionTypeEfd": "2020-01-01",
  "connectionTypeEtd": "2020-01-01",
  "meters": [ElectricMeterTechnicalSubDetails]
}

Fields

Name Description

esmeId (String)

ESME ID.

installingSupplierDipId (String)

Installing Supplier DIP ID, 10 characters.

installingSupplierMpid (String)

Installing Supplier MPID.

mapDipId (String)

Meter Asset Provider DIP ID, 10 characters.

mapMpid (String)

Meter Asset Provider MPID.

meterInstallDate (Date)

Meter Install Date.

meterLocation (String)

Meter location.

meterManufacturer (String)

Meter manufacturer.

meterSerialNumber (String)

Meter Serial Number.

meterType (String)

Meter Type.

registerDigits (Int)

Number of register digits.

Example

{
  "installingSupplierMpid": "abc123",
  "meterSerialNumber": "abc123",
  "meterType": "abc123",
  "meterInstallDate": "2020-01-01",
  "mapMpid": "abc123",
  "esmeId": "abc123",
  "meterLocation": "abc123",
  "registerDigits": 1,
  "installingSupplierDipId": "abc123",
  "mapDipId": "abc123",
  "meterManufacturer": "abc123"
}

Fields

Name Description

availableFrom (Int)

This field is replacing year.

availableTo (Int)

batterySize (Decimal)

integrationStatus (IntegrationStatus)

Shows the availability status of an integration.

isIntegrationLive (Boolean)

model (String)

supportedProviders ([String])

vehicleId (Int)

year (Int)

Example

{
  "vehicleId": 1,
  "model": "abc123",
  "year": 1,
  "availableFrom": 1,
  "availableTo": 1,
  "batterySize": "1.0",
  "supportedProviders": ["abc123"],
  "isIntegrationLive": true,
  "integrationStatus": "INTERNAL_TESTING"
}

Fields

Name Description

make (String)

models ([ElectricVehicleModelType])

Example

{
  "make": "abc123",
  "models": [ElectricVehicleModelType]
}

ElectricityAgentContractType

An organization who manages a given meterpoint.

Fields

Name Description

agentId (String)

contractStatus (AgentContractStatusType)

contractType (ElectricityAgentContractContractType!)

effectiveFrom (Date!)

Example

{
  "contractType": "MOP",
  "effectiveFrom": "2020-01-01",
  "agentId": "abc123",
  "contractStatus": "ACCEPTED"
}

Fields

Name Description

account (AccountType!)

agreedFrom (DateTime)

The datetime the agreement was entered.

agreedTo (DateTime)

The datetime the agreement was terminated.

bespokeRates ([ElectricityBespokeRate])

Bespoke rates that apply to this agreement.

bespokeStandingCharges ([ElectricityBespokeStandingCharge])

Bespoke standing charges that apply to this agreement.

id (Int)

The ID of the agreement.

isRevoked (Boolean)

Whether the agreement is revoked.

lineItems (LineItemConnection)

A collection of charges and associated consumption data.

meterPoint (ElectricityMeterPointType!)

standingChargeUplifts ([ElectricityContractStandingChargeUplift])

List of contracted standing charge uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary.

tariff (ElectricityTariffType)

unitRateUplifts ([ElectricityContractUnitRateUplift])

List of contracted unit rate uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary.

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",
  "account": AccountType,
  "meterPoint": ElectricityMeterPointType,
  "tariff": ElectricityTariffType,
  "isRevoked": true,
  "lineItems": LineItemConnection,
  "unitRateUplifts": [ElectricityContractUnitRateUplift],
  "standingChargeUplifts": [ElectricityContractStandingChargeUplift],
  "bespokeRates": [ElectricityBespokeRate],
  "bespokeStandingCharges": [ElectricityBespokeStandingCharge]
}

Example

{
  "value": "1.0",
  "paymentMethod": "DIRECT_DEBIT",
  "rateType": "STANDARD"
}

Fields

Name Description

paymentMethod (BespokeNonHalfHourlyElectricityStandingChargePaymentMethod)

value (Decimal!)

Example

{
  "value": "1.0",
  "paymentMethod": "DIRECT_DEBIT"
}

Fields

Name Description

day (Int)

isEstimate (Boolean)

night (Int)

Example

{
  "day": 1,
  "night": 1,
  "isEstimate": true
}

Fields

Name Description

consumption (Int)

isEstimate (Boolean)

Example

{
  "consumption": 1,
  "isEstimate": true
}

Fields

Name Description

day (Int)

isEstimate (Boolean)

night (Int)

offPeak (Int)

Example

{
  "day": 1,
  "night": 1,
  "offPeak": 1,
  "isEstimate": true
}

Fields

Name Description

eac (Float)

The estimated Electricity Annual Consumption measured in kWh.

eacEffectiveFromDate (Date)

The date from which the EAC is calculated.

hasErroneousTransfer (Boolean)

A flag stating if the meterpoint has ever had an erroneous transfer of supplier.

supplierEffectiveFromDate (Date)

The date the meterpoint switched to the current supplier.

supplierName (String)

The current supplier for the meterpoint.

Example

{
  "eac": 1.0,
  "eacEffectiveFromDate": "2020-01-01",
  "supplierName": "abc123",
  "supplierEffectiveFromDate": "2020-01-01",
  "hasErroneousTransfer": true
}

Fields

Name Description

standingChargeUplift (Decimal)

The amount to add to the standing charge when billing, in pence per day.

validFrom (DateTime!)

When this contract is valid from.

validTo (DateTime!)

When this contract is valid until.

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "standingChargeUplift": "1.0"
}

Fields

Name Description

unitRateUplift (Decimal!)

The amount to add to the unit rate when billing, in pence/kWh.

validFrom (DateTime!)

When this contract is valid from.

validTo (DateTime!)

When this contract is valid until.

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitRateUplift": "1.0"
}

Fields

Name Description

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

Fields

Name Description

addressHasMoreThanOneElectricityMeterPoint (Boolean!)

addressLine1 (String)

Line 1 of the address returned from the search.

addressLine2 (String)

Line 2 of the address returned from the search.

electricityMeterPoints ([String])

List of meterpoints associated with the address. Only returned if addresshasmorethanoneelectricitymeter_point is True.

postcode (String)

The postcode of the address returned from the search.

Example

{
  "addressHasMoreThanOneElectricityMeterPoint": true,
  "electricityMeterPoints": ["abc123"],
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "postcode": "abc123"
}

ElectricityMeterPointType

An electricity meterpoint is a collection of meters. Meters can be changed over time, so it is convenient to keep an invariant reference. Sometimes there are multiple active meters on a meterpoint at a time (eg ECO10), but expect that to be an edge case.

Fields

Name Description

agentContracts ([ElectricityAgentContractType])

A list of agents responsible for management of the meterpoint.

agreements ([ElectricityAgreementType])

A list of electricity agreements belonging to an account that is linked to the viewer. Filters out expired agreements by default.

canRenewTariff (Boolean)

Whether it is possible to renew the meter point's tariff.

currentSupplierMpid (String)

The current MPID for this meter point.

dccEffectiveFrom (Date)

dccServiceFlag (String!)

direction (ElectricityDirection)

Indicates whether the electricity meter point is an import or an export meter point.

energisationStatus (String!)

enrolment (EnrolmentType)

Details of an ongoing enrolment process.

gspGroupId (String)

The distribution network the grid supply point falls under.

hasOpenClosingReadDispute (Boolean!)

hasOpenOpeningReadDispute (Boolean!)

id (ID!)

ihdEffectiveFrom (Date)

ihdStatus (String!)

isDueTariffRenewal (Boolean)

Whether the meter point is due to renew their tariff.

juniferMeterPointId (Int)

The ID of the meter point in Junifer.

Deprecated

The 'juniferMeterPointId' field is deprecated.

It is no longer populated.

- Marked as deprecated on 2023-03-13.
- Scheduled for removal on or after 2023-09-13.

lastValidatedReadingDate (Date)

llf (String)

Line loss factor class

measurementClass (String!)

meters ([ElectricityMeterType])

mpan (String!)

mtc (Int)

Meter timeswitch code

newSupplierId (String)

oldSupplierId (String)

profileClass (Int)

The profile class of the electricity meter point.

requiresEnrolment (Boolean!)

requiresWithdrawal (Boolean!)

smartStartDate (Date)

smartTariffOnboarding (SmartTariffOnboardingType)

smsOperator (String!)

Smart Metering System Operator

smsOperatorEffectiveFrom (Date)

ssc (String!)

Standard settlement configuration

status (String)

statusUpdatedAt (DateTime)

supplyEndDate (Date)

targetSsd (Date)

unbilledReadings ([ElectricityMeterReadingType])

A list of unbilled electricity readings for the meterpoint.

Example

{
  "id": "abc123",
  "supplyEndDate": "2020-01-01",
  "mpan": "abc123",
  "ssc": "abc123",
  "energisationStatus": "abc123",
  "dccServiceFlag": "abc123",
  "statusUpdatedAt": "2020-01-01T00:00:00.000Z",
  "oldSupplierId": "abc123",
  "newSupplierId": "abc123",
  "smartStartDate": "2020-01-01",
  "requiresEnrolment": true,
  "targetSsd": "2020-01-01",
  "requiresWithdrawal": true,
  "hasOpenOpeningReadDispute": true,
  "hasOpenClosingReadDispute": true,
  "profileClass": 1,
  "llf": "abc123",
  "mtc": 1,
  "measurementClass": "abc123",
  "lastValidatedReadingDate": "2020-01-01",
  "smsOperator": "abc123",
  "smsOperatorEffectiveFrom": "2020-01-01",
  "ihdStatus": "abc123",
  "ihdEffectiveFrom": "2020-01-01",
  "dccEffectiveFrom": "2020-01-01",
  "meters": [ElectricityMeterType],
  "status": "abc123",
  "enrolment": EnrolmentType,
  "gspGroupId": "abc123",
  "agentContracts": [ElectricityAgentContractType],
  "juniferMeterPointId": 1,
  "agreements": [ElectricityAgreementType],
  "smartTariffOnboarding": SmartTariffOnboardingType,
  "unbilledReadings": [ElectricityMeterReadingType],
  "currentSupplierMpid": "abc123",
  "direction": "IMPORT",
  "isDueTariffRenewal": true,
  "canRenewTariff": true
}

ElectricityMeterReadingConnectionTypeConnection

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([ElectricityMeterReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

ElectricityMeterReadingConnectionTypeEdge

A Relay edge containing a ElectricityMeterReadingConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (ElectricityMeterReadingType)

The item at the end of the edge

Example

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

ElectricityMeterReadingType

A electricity meter reading. A reading can in fact contain multiple values for each register (for example for ECO7). They are collected under a common read_at datetime and have a common fuel type.

Fields

Name Description

id (ID!)

readAt (DateTime)

readingSource (String)

readingType (String)

What 'kind' of reading this is based on how it was taken.

registers ([RegisterReading])

source (String)

Example

{
  "id": "abc123",
  "readAt": "2020-01-01T00:00:00.000Z",
  "readingSource": "abc123",
  "registers": [RegisterReading],
  "source": "abc123",
  "readingType": "abc123"
}

ElectricityMeterRegisterType

Electricity registers measure consumption.

Fields

Name Description

decimalPlaces (Int)

digits (Int)

eac (Decimal)

expectedReadingRanges ([[Int]])

id (ID!)

identifier (String)

multiplier (Float)

name (String)

timePatternRegime (String)

unitRateType (String)

Example

{
  "id": "abc123",
  "identifier": "abc123",
  "digits": 1,
  "decimalPlaces": 1,
  "name": "abc123",
  "expectedReadingRanges": [1],
  "timePatternRegime": "abc123",
  "unitRateType": "abc123",
  "eac": "1.0",
  "multiplier": 1.0
}

ElectricityMeterType

An electricity meter is a collection of registers which store readings. Eco7 meters are an example of a meter with multiple registers (for day and night).

Fields

Name Description

activeFrom (Date!)

activeTo (Date)

certificationDate (Date)

certifiedUntil (Date)

consumption (ConsumptionConnection)

Energy consumption recorded by the meter.

consumptionUnits (String)

The units of consumption for a smart meter.

createdAt (DateTime!)

currentRating (Int)

exportMeters (ElectricityMeterTypeConnection!)

fuelType (String)

The type of fuel this meter uses.

hasAndAllowsHhReadings (Boolean)

Returns if the meter has and allows half hourly readings.

id (ID!)

importMeter (ElectricityMeterType)

installationDate (Date)

isDigital (Boolean)

isReadyForTopup (Boolean)

Returns if the meter is ready for top up.

isRts (Boolean)

Returns if the meter is an RTS meter.

isTradPrepay (Boolean)

Returns if the meter is a traditional prepay meter.

lastInspectionDate (Date)

location (String)

makeAndType (String)

meterPoint (ElectricityMeterPointType!)

meterType (ElectricityMeterMeterType)

nodeId (ID!)

This lets us get around the fact that we already use the field id as a primary key. We will migrate the id field over to be this id eventually.

prepayLedgers (PrepayLedgersType)

readings (ElectricityMeterReadingConnectionTypeConnection)

registers ([ElectricityMeterRegisterType])

requiresAccess (Boolean)

requiresCotFinalReading (Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

retrievalMethod (String)

serialNumber (String!)

smartDevices ([SmartMeterDeviceType])

smartExportElectricityMeter (SmartMeterDeviceType)

smartImportElectricityMeter (SmartMeterDeviceType)

updatedAt (DateTime)

Example

{
  "id": "abc123",
  "serialNumber": "abc123",
  "requiresAccess": true,
  "isDigital": true,
  "installationDate": "2020-01-01",
  "lastInspectionDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "activeFrom": "2020-01-01",
  "activeTo": "2020-01-01",
  "meterPoint": ElectricityMeterPointType,
  "location": "abc123",
  "currentRating": 1,
  "makeAndType": "abc123",
  "meterType": "CHECK",
  "certificationDate": "2020-01-01",
  "certifiedUntil": "2020-01-01",
  "retrievalMethod": "abc123",
  "importMeter": ElectricityMeterType,
  "exportMeters": ElectricityMeterTypeConnection,
  "prepayLedgers": PrepayLedgersType,
  "smartImportElectricityMeter": SmartMeterDeviceType,
  "smartExportElectricityMeter": SmartMeterDeviceType,
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection,
  "nodeId": "abc123",
  "readings": ElectricityMeterReadingConnectionTypeConnection,
  "registers": [ElectricityMeterRegisterType],
  "hasAndAllowsHhReadings": true,
  "smartDevices": [SmartMeterDeviceType],
  "isTradPrepay": true,
  "isReadyForTopup": true,
  "isRts": true
}

Fields

Name Description

edges ([ElectricityMeterTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

Example

{
  "pageInfo": PageInfo,
  "edges": ElectricityMeterTypeEdge
}

ElectricityMeterTypeEdge

A Relay edge containing a ElectricityMeterType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (ElectricityMeterType)

The item at the end of the edge

Example

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

Fields

Name Description

annualAmount (Int!)

Estimated cost in pence of the product over a year based on the quoted usage.

electricityTariffInformationLabel (ElectricityProductTariffInformationLabel!)

Electricity tariff information label (TIL) provides standardised information between suppliers about a tariff. The type of ElectricityProductTariffInformationLabel depends on the rateType of the ElectricitySupplyPoint.

id (Int)

The ID of the quoted product.

label (String)

monthlyAmount (Int!)

Estimated cost in pence of the product per month based on the quoted usage.

product (EnergyProductType!)

Energy product quoted.

Example

{
  "id": 1,
  "label": "abc123",
  "product": EnergyProductType,
  "annualAmount": 1,
  "monthlyAmount": 1,
  "electricityTariffInformationLabel": ElectricityProductTariffInformationLabel
}

Fields

Name Description

agreement (ElectricityAgreementType)

Current active agreement on this supply point.

annualConsumption (ElectricityConsumption!)

Annual consumption of the supply point. The type of ElectricityConsumption depends on the rateType.

co2SavingInKgFromConsumption (Int)

CO2 saving based on annual consumption for a given supplier.

mpan (String)

The Mpan of the suply point.

quotedProducts ([ElectricityQuotedProduct]!)

A list of quoted products and the corresponding tariff information.

rateType (RateTypeChoices!)

Rate type.

treesSavedFromConsumption (Int)

Trees saved given the CO2 saving.

Example

{
  "mpan": "abc123",
  "agreement": ElectricityAgreementType,
  "annualConsumption": ElectricityConsumption,
  "quotedProducts": ElectricityQuotedProduct,
  "rateType": "STANDARD",
  "co2SavingInKgFromConsumption": 1,
  "treesSavedFromConsumption": 1
}

Fields

Name Description

address (String)

The formatted supply address including postcode.

The possible errors that can be raised are:

  • KT-GB-5113: Property not found.
  • KT-CT-1113: Disabled GraphQL field requested.

gspGroupId (String)

The grid supply point.

mpan (String)

The valid Saving Sessions MPAN.

Example

{
  "address": "abc123",
  "mpan": "abc123",
  "gspGroupId": "abc123"
}

EmailAttachmentType

Represents a file to attach to a email message.

Fields

Name Description

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

Name Description

eventType (String!)

id (ID!)

The ID of the object

message (EmailType)

Email message of the email event. Returns null for message's sent/received by other user's on the account.

occurredAt (DateTime!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": EmailType
}

EmailType

Represents an email communication

Fields

Name Description

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

Name Description

email (String!)

The email address to be checked.

status (VerificationRequestStatus)

The status of verification for associated email.

Example

{
  "email": "abc123",
  "status": "NOT_SENT"
}

Fields

Name Description

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

Name Description

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",
  "embeddedProperties": [EmbeddedPropertyType]
}

EmbeddedPropertyType

Represents an embedded property in an embedded network.

Fields

Name Description

embeddedNetwork (EmbeddedNetworkType!)

id (ID!)

propertyId (ID)

The id of the physical property related to this embedded property type.

Example

{
  "id": "abc123",
  "embeddedNetwork": EmbeddedNetworkType,
  "propertyId": "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

Name Description

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

Energy

Describes the energy (not power) consumed (e.g. as electricity) or returned (e.g. as heat) by a system over a given span of time.

Differs from Power in that it describes the total amount of energy transferred during a given time frame (not a single point in time).

Fields

Name Description

unit (EnergyUnit!)

The units in which the energy is being measured.

value (Decimal)

The amount of energy (not power) transmitted.

Example

{
  "value": "1.0",
  "unit": "KILOWATT_HOUR"
}

Fields

Name Description

canAddHeatpump (Boolean)

Do we have the calculations needed for estimating heatpump for this account?

canAddSolar (Boolean)

Do we have the calculations needed for estimating solar panels for this account?

currentBill (Float)

The current bill of the account in pounds.

elecCarRate (Float)

The assumed electricity rate for an electric vehicle.

enqScore (Int)

The energy IQ score.

hasEv (Boolean)

Does the calculation for the account include an electric vehicle?

hasHeatpump (Boolean)

Does the calculation for the account include a heatpump?

hasSolar (Boolean)

Does the calculation for the account include solar panels?

isCurrentRecord (Boolean)

Is this estimation for the account what they actually have (heatpump, ev, solar).

newBill (Float)

The new estimated bill for the account in pounds.

Example

{
  "enqScore": 1,
  "currentBill": 1.0,
  "newBill": 1.0,
  "hasEv": true,
  "hasSolar": true,
  "hasHeatpump": true,
  "elecCarRate": 1.0,
  "isCurrentRecord": true,
  "canAddSolar": true,
  "canAddHeatpump": true
}

EnergyMixDataType

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

Fields

Name Description

carbonIntensityIndex (String)

Current carbon intensity index.

Example

{
  "carbonIntensityIndex": "abc123"
}

EnergyProductConnectionTypeConnection

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([EnergyProductConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

EnergyProductConnectionTypeEdge

A Relay edge containing a EnergyProductConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (EnergyProductType)

The item at the end of the edge

Example

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

EnergyProductType

An EnergyProduct models a group of tariffs for both electricity and gas.

Fields

Name Description

availableFrom (DateTime!)

availableTo (DateTime)

code (String!)

description (String!)

This will be shown to customers during sign-up

direction (EnergyProductDirection)

Whether the product is an import or export product.

displayName (String!)

This name will be shown to customers during sign-up

exitFees (Int)

The exit fee applied per fuel if the agreement is ended early. Total value is determined by exit fee type, i.e. this value is either a flat cost or cost per year/month remaining on the agreement.

exitFeesType (String)

Determines how the exit fee is calculated.

fullName (String!)

id (ID!)

includesEpgReduction (Boolean)

Does the product have EPG applied on the unit rates.

isAvailable (Boolean)

isBusiness (Boolean!)

isChargedHalfHourly (Boolean!)

isDefault (Boolean)

isDomestic (Boolean)

isFixed (Boolean)

isGreen (Boolean!)

isHidden (Boolean!)

Whether to hide this product from the direct registration journey

isOccupier (Boolean)

isPrepay (Boolean!)

isUnavailable (Boolean)

isVariable (Boolean!)

notes (String!)

These are internal notes to explain why this product exists

tags ([String])

Tags associated with the product.

tariffs (EnergyTariffConnectionTypeConnection)

A list of tariffs per product for a given postcode.

term (Int)

Duration of agreements using this product in months

Example

{
  "id": "abc123",
  "fullName": "abc123",
  "displayName": "abc123",
  "description": "abc123",
  "availableFrom": "2020-01-01T00:00:00.000Z",
  "availableTo": "2020-01-01T00:00:00.000Z",
  "isHidden": true,
  "code": "abc123",
  "direction": "IMPORT",
  "notes": "abc123",
  "isVariable": true,
  "isGreen": true,
  "isBusiness": true,
  "isChargedHalfHourly": true,
  "isPrepay": true,
  "isDefault": true,
  "isOccupier": true,
  "term": 1,
  "tariffs": EnergyTariffConnectionTypeConnection,
  "isAvailable": true,
  "isUnavailable": true,
  "isFixed": true,
  "isDomestic": true,
  "includesEpgReduction": true,
  "exitFees": 1,
  "exitFeesType": "abc123",
  "tags": ["abc123"]
}

EnergyTariffConnectionTypeConnection

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([EnergyTariffConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

EnergyTariffConnectionTypeEdge

A Relay edge containing a EnergyTariffConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (EnergyTariffType)

The item at the end of the edge

Example

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

Fields

Name Description

linkState (String)

linkUrl (String)

Example

{
  "linkState": "abc123",
  "linkUrl": "abc123"
}

EnqueueInboundCall

The possible errors that can be raised are:

  • KT-CT-11802: Call not found.
  • KT-CT-11803: Unable to enqueue the call.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

call (InboundCallType)

The call that was enqueued.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "call": InboundCallType
}

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

Name Description

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

Name Description

hasEnrolled (Boolean)

Whether or not this account has been enrolled in the loyalty points campaign.

Example

{
  "hasEnrolled": true
}

EnrollFanClubAccount

Try to enroll an account onto Fan Club.

The possible errors that can be raised are:

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

Fields

Name Description

enrollmentOutput (EnrollFanClubAccountOutputType)

Result of the Fan Club 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-Kraken-Possible-Errors' header instead.

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "enrollmentOutput": EnrollFanClubAccountOutputType
}

Fields

Name Description

status (Eligibility)

Example

{
  "status": "ELIGIBLE"
}

EnrollmentCancelled

Enrollment was successfully cancelled.

Fields

Name Description

enrollmentProcess (EnrollmentProcess!)

The Enrollment process that was cancelled.

message (String!)

The message to display to the user on Enrollment initiation.

Example

{
  "message": "abc123",
  "enrollmentProcess": EnrollmentProcess
}

EnrollmentInitiated

Enrollment was successfully initiated.

Fields

Name Description

enrollmentProcesses ([EnrollmentProcess]!)

The Enrollment processes that were initiated.

message (String!)

The message to display to the user on Enrollment initiation.

Example

{
  "enrollmentProcesses": EnrollmentProcess,
  "message": "abc123"
}

Fields

Name Description

octoplus (OctoplusEnrolmentOutcome)

The outcome of the Octoplus enrolment.

Example

{
  "octoplus": OctoplusEnrolmentOutcome
}

EnrolmentType

Details of an ongoing enrolment process.

Fields

Name Description

previousSupplier (String)

The last company to supply this meter point.

status (EnrolmentStatusOptions)

The enrolment status on a meter point.

supplyStartDate (Date)

Target date for supply to start.

switchStartDate (Date)

Date the switch started.

Example

{
  "switchStartDate": "2020-01-01",
  "supplyStartDate": "2020-01-01",
  "previousSupplier": "abc123",
  "status": "OBJECTION_RECEIVED"
}

Fields

Name Description

field (String!)

messages ([String!]!)

Example

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

Fields

Name Description

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
}

ExpireEvPublicChargingToken

Expire an EV Public Charging token.

The possible errors that can be raised are:

  • KT-CT-5817: External Account not found.
  • KT-CT-5818: Invalid data.
  • KT-CT-5819: Token not found.
  • KT-CT-5820: Multiple tokens found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

token (Token)

Example

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

Fields

Name Description

category (String!)

content (JSONString)

description (String)

eventType (String!)

id (ID!)

occurredAt (DateTime!)

subcategory (String!)

Example

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

Fields

Name Description

category (String!)

content (JSONString)

description (String)

eventType (String!)

id (ID!)

occurredAt (DateTime!)

subcategory (String!)

Example

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

FanClubDiscountNotification

Send a push notification of there being a high likelihood of getting a Fan Club discount.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean!)

Boolean indicating if Fan Club notifications were triggered.

Example

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

Fields

Name Description

power (Decimal)

The instantaneous turbine output power in kW.

rotorSpeed (Decimal)

The turbine's rotor speed in revolutions per minute.

totalPowerOnGrid (Decimal)

The total amount of electricity grid-wide from all sources in megawatts.

windDirection (Decimal)

A decimal in degrees representing the direction from which the wind is blowing. 360.0 degrees indicates the wind blows from the north. Read more here: https://confluence.ecmwf.int/pages/viewpage.action?pageId=133262398

windPowerOnGrid (Decimal)

The total amount of electricity grid-wide from wind in megawatts.

windPowerProportion (Decimal)

The proportion of electricity on the grid coming from wind. Ranges from 0.0 - 1.0.

windSpeed (Decimal)

The wind speed in m/s.

Example

{
  "power": "1.0",
  "windSpeed": "1.0",
  "windDirection": "1.0",
  "rotorSpeed": "1.0",
  "windPowerOnGrid": "1.0",
  "totalPowerOnGrid": "1.0",
  "windPowerProportion": "1.0"
}

FanClubNonOctopusCustomerComms

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean!)

Flag for whether Fan Club comms for non-Octopus customer were sent.

Example

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

Fields

Name Description

accountNumbers ([String]!)

The list of account numbers for the source and account user.

catchments ([String]!)

The list of catchments that this discount source applies to.

current (DiscountData!)

The current or 'live' status of discounts for this source.

discountSource (String!)

The source for the discount, e.g. 'Fan 1' for a wind turbine in UK, or an ERCOT Load Zone for US.

forecast (DiscountForecast)

The forecasted discount probabilities for this source.

historic ([DiscountData]!)

The historic discounts for this source.

location (String)

The location of the discount source.

name (String!)

The name of the discount source.

propertyIds ([Int]!)

The list of property IDs for the source and account user.

thresholds ([Threshold]!)

The details of Fan Club thresholds for the discount source.

windFarm (String)

The wind farm that the discount source is part of.

Example

{
  "discountSource": "abc123",
  "name": "abc123",
  "location": "abc123",
  "windFarm": "abc123",
  "accountNumbers": "abc123",
  "propertyIds": 1,
  "catchments": "abc123",
  "thresholds": Threshold,
  "current": DiscountData,
  "historic": DiscountData,
  "forecast": DiscountForecast
}

FetchGeneratePaymentFingerprint

The possible errors that can be raised are:

  • KT-CT-12101: Payment instruction not found.
  • KT-CT-12102: Payment vendor not supported.
  • KT-CT-12103: Missing payment metadata from vendor.
  • KT-CT-12104: Unable to fetch or generate payment fingerprint.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

fingerprint (String)

Fetched or generated fingerprint from vendor.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

vendor (String)

Vendor name.

Example

{
  "possibleErrors": [PossibleErrorType],
  "fingerprint": "abc123",
  "vendor": "abc123"
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([FieldSalesVisitConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

FieldSalesVisitConnectionTypeEdge

A Relay edge containing a FieldSalesVisitConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (FieldSalesVisitType)

The item at the end of the edge

Example

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

FieldSalesVisitOutcomeType

The specific outcome of a field sales visit at an address.

Fields

Name Description

category (AppSessionOutcomeCategory)

reason (String)

type (AppSessionOutcomeType!)

Example

{
  "type": "SALE",
  "category": "SUCCESS",
  "reason": "abc123"
}

FieldSalesVisitType

A field sales visit at an address.

Fields

Name Description

addressLine1 (String!)

addressLine2 (String!)

addressLine3 (String!)

addressLine4 (String!)

Post town

addressLine5 (String!)

County

affiliateLink (AffiliateLinkType)

Affiliate Link.

outcome (AppSessionOutcome)

outcomes ([FieldSalesVisitOutcomeType])

Field Sales Outcomes.

startedAt (DateTime!)

stoppedAt (DateTime!)

Example

{
  "startedAt": "2020-01-01T00:00:00.000Z",
  "stoppedAt": "2020-01-01T00:00:00.000Z",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "addressLine4": "abc123",
  "addressLine5": "abc123",
  "outcome": "SWITCHED",
  "affiliateLink": AffiliateLinkType,
  "outcomes": [FieldSalesVisitOutcomeType]
}

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (FieldSpecificRateLimitInformation)

The item at the end of the edge

Example

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

Fields

Name Description

identifierType (String)

The ID type. Currently only 'meter_point' is supported.

identifierValue (ID)

The ID to be checked.

isInRiskList (Boolean)

Returns True if the risk identifier is in the risk list.

riskLevel (Decimal)

Returns the level of risk for the supplied object between 0.0 and 1.0. Higher is worse.

Example

{
  "identifierValue": "abc123",
  "identifierType": "abc123",
  "riskLevel": "1.0",
  "isInRiskList": true
}

Fields

Name Description

efr32 (String)

EFR32 firmware version (Emergency Firmware Recovery).

esp32 (String)

ESP32 firmware version (EFI System Partition).

eui (String)

The EUI of the controller being queried.

Example

{
  "esp32": "abc123",
  "efr32": "abc123",
  "eui": "abc123"
}

FitAcceptSchedule

FiT customers need to be able to accept their FiT schedules. There are a number of conditions that need to be met for a schedule: - It must have been sent - It must not have been accepted - It must not be in the future

The possible errors that can be raised are:

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

Fields

Name Description

fitSchedule (FitScheduleType)

The accepted schedule.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "fitSchedule": FitScheduleType
}

Fields

Name Description

installation (InstallationType)

The FiT installation associated with the provided FiT id.

Example

{
  "installation": InstallationType
}

FitCreateMeterReadings

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

readingsSubmitted (Boolean)

Example

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

Fields

Name Description

id (String)

ID of the meter.

installationCapacities ([InstallationCapacityType])

Any installation capacities linked to the meter.

maxExpectedRead (Decimal)

The maximum read volume expected for the current datetime, including any extra tolerance allowed.

mpan (String)

MPAN of the meter point linked to the meter.

readings (FitReadingConnectionTypeConnection)

serialNumber (String)

Serial number of the meter.

type (String)

The type of meter.

Example

{
  "serialNumber": "abc123",
  "id": "abc123",
  "type": "abc123",
  "readings": FitReadingConnectionTypeConnection,
  "installationCapacities": [InstallationCapacityType],
  "maxExpectedRead": "1.0",
  "mpan": "abc123"
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([FitReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

FitReadingConnectionTypeEdge

A Relay edge containing a FitReadingConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (FitReadingType)

The item at the end of the edge

Example

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

Fields

Name Description

isBiennial (Boolean)

readAt (DateTime!)

value (Decimal!)

Example

{
  "value": "1.0",
  "readAt": "2020-01-01T00:00:00.000Z",
  "isBiennial": true
}

Fields

Name Description

acceptedAt (DateTime)

Datetime the schedule was accepted.

scheduleId (UUID)

Unique Identifier of the schedule.

sentAt (DateTime)

Datetime the schedule was sent.

temporaryDownloadUrls ([String])

URLs for any schedule PDFs. URLs are temporary and will expire in approximately one hour. They are intended for redirection purposes only; they are not persistent in any form (eg. in emails or a web page body).

Example

{
  "scheduleId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "sentAt": "2020-01-01T00:00:00.000Z",
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "temporaryDownloadUrls": ["abc123"]
}

Fields

Name Description

id (Int!)

The unique id of the device preference schedule setting.

max (Decimal)

The maximum value a preference can be set to (inclusive).

min (Decimal)

The minimum value a preference can be set to (inclusive).

step (Decimal!)

The step size preference can be set to.

timeFrom (Time)

The minimum time a preference can be set to (inclusive).

timeStep (Int!)

The step amount (in minutes) a preference schedule time can be set.

timeTo (Time)

The maximum time a preference can be set to (inclusive).

Example

{
  "id": 1,
  "timeFrom": "00:00:00.000Z",
  "timeTo": "00:00:00.000Z",
  "timeStep": 1,
  "min": "1.0",
  "max": "1.0",
  "step": "1.0"
}

Fields

Name Description

deviceType (String!)

The device type of the setting.

id (Int!)

The unique id of the device preference setting.

mode (PreferencesModeChoices!)

The mode of the setting.

scheduleSettings ([FlexDevicePreferenceScheduleSettingInterface]!)

Scheduled preference settings.

unit (PreferencesUnitChoices!)

The unit of the min and max values in the preferences setting.

Example

{
  "id": 1,
  "deviceType": "abc123",
  "mode": "CHARGE",
  "unit": "CELSIUS",
  "scheduleSettings": FlexDevicePreferenceScheduleSettingInterface
}

Fields

Name Description

allowableRange (TemperatureRange!)

The minimum and maximum temperatures which may be selected, dictated by the device.

currentTemperature (Temperature!)

The flow temperature currently selected by the user.

Example

{
  "allowableRange": TemperatureRange,
  "currentTemperature": Temperature
}

Fields

Name Description

accountType (AccountTypeChoices)

The type of account.

activeFrom (DateTime!)

activeTo (DateTime)

createdAt (DateTime!)

paymentMethod (PaymentMethods)

The payment method for the product.

renewalProducts ([RenewalProductType])

Example

{
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "accountType": "BUSINESS",
  "paymentMethod": "DIRECT_DEBIT",
  "renewalProducts": [RenewalProductType],
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

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

Name Description

powerLowerBound (Decimal!)

Lower confidence interval bound for forecasted power (kW).

powerMedian (Decimal!)

The best guess for forecasted power (kW).

powerUpperBound (Decimal!)

Upper confidence interval bound for forecasted power (kW).

projectedDiscount (Decimal!)

Projected discount based on ensemble forecast data.

validTime (DateTime!)

Timestamp for the data-point.

Example

{
  "validTime": "2020-01-01T00:00:00.000Z",
  "projectedDiscount": "1.0",
  "powerMedian": "1.0",
  "powerLowerBound": "1.0",
  "powerUpperBound": "1.0"
}

Fields

Name Description

content (JSONString)

errors ([SerializerFieldErrorsType])

id (Int)

Example

{
  "id": 1,
  "content": {"key": "value"},
  "errors": [SerializerFieldErrorsType]
}

FractionSizeType

A fractional measurement.

Fields

Name Description

fraction (Decimal!)

The fractional value.

id (ID)

Unique identifier of the object.

typename (String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "fraction": "1.0"
}

Fields

Name Description

isInSuspiciousList (Boolean)

Returns True if the meter point ID is in the list of suspicious meter point IDs.

meterPointId (String)

The meter point ID.

Example

{
  "meterPointId": "abc123",
  "isInSuspiciousList": true
}

FulfilmentType

Represents an amount of money that can be used to fulfil an obligation.

Fields

Name Description

amount (Int!)

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

sourceIdentifier (String)

The database ID of the fulfilment source, e.g. the database ID of the payment.

sourceType (FulfilmentSourceType)

The type of the fulfilment source, e.g. PAYMENT.

Example

{
  "sourceType": "UNKNOWN",
  "sourceIdentifier": "abc123",
  "amount": 1
}

Fields

Name Description

timestamp (DateTime)

The time the data was reported.

value (HeatPumpMode)

The latest reported mode of the heat pump.

Example

{
  "value": "HEATING",
  "timestamp": "2020-01-01T00:00:00.000Z"
}

FundingSourceAmountConnectionTypeConnection

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (FundingSourceAmountType)

The item at the end of the edge

Example

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

Fields

Name Description

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
}

GasAgentContractType

An organization who manages a given meterpoint.

Fields

Name Description

agentId (String)

contractStatus (AgentContractStatusType)

contractType (MamAgentContractContractType!)

effectiveFrom (Date)

Example

{
  "contractType": "MAM",
  "agentId": "abc123",
  "contractStatus": "ACCEPTED",
  "effectiveFrom": "2020-01-01"
}

Fields

Name Description

account (AccountType!)

agreedFrom (DateTime)

The datetime the agreement was entered.

agreedTo (DateTime)

The datetime the agreement was terminated.

bespokeRates ([GasBespokeRate])

Bespoke rates that apply to this agreement.

bespokeStandingCharges ([GasBespokeStandingCharge])

Bespoke standing charges that apply to this agreement.

id (Int)

The ID of the agreement.

isRevoked (Boolean)

Whether the agreement is revoked.

lineItems (LineItemConnection)

A collection of charges and associated consumption data.

meterPoint (GasMeterPointType!)

standingChargeUplifts ([GasContractStandingChargeUplift])

List of contracted standing charge uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary.

tariff (GasTariffType)

unitRateUplifts ([GasContractUnitRateUplift])

List of contracted unit rate uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary.

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",
  "account": AccountType,
  "meterPoint": GasMeterPointType,
  "tariff": GasTariffType,
  "isRevoked": true,
  "lineItems": LineItemConnection,
  "unitRateUplifts": [GasContractUnitRateUplift],
  "standingChargeUplifts": [GasContractStandingChargeUplift],
  "bespokeRates": [GasBespokeRate],
  "bespokeStandingCharges": [GasBespokeStandingCharge]
}

Fields

Name Description

paymentMethod (BespokeNonHalfHourlyGasUnitRatePaymentMethod)

value (Decimal!)

Example

{
  "value": "1.0",
  "paymentMethod": "DIRECT_DEBIT"
}

Fields

Name Description

paymentMethod (BespokeNonHalfHourlyGasStandingChargePaymentMethod)

value (Decimal!)

Example

{
  "value": "1.0",
  "paymentMethod": "DIRECT_DEBIT"
}

Fields

Name Description

consumption (Int)

isEstimate (Boolean)

Example

{
  "consumption": 1,
  "isEstimate": true
}

Fields

Name Description

aq (Int)

The estimated Annual Quantity measured in kWh.

aqEffectiveFromDate (Date)

The date from which the AQ is calculated.

supplierEffectiveFromDate (Date)

The date the meterpoint switched to the current supplier.

supplierName (String)

The current supplier for the meterpoint.

Example

{
  "aq": 1,
  "supplierName": "abc123",
  "supplierEffectiveFromDate": "2020-01-01",
  "aqEffectiveFromDate": "2020-01-01"
}

Fields

Name Description

standingChargeUplift (Decimal)

The amount to add to the standing charge when billing, in pence per day.

validFrom (DateTime!)

When this contract is valid from.

validTo (DateTime!)

When this contract is valid until.

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "standingChargeUplift": "1.0"
}

Fields

Name Description

unitRateUplift (Decimal!)

The amount to add to the unit rate when billing, in pence/kWh.

validFrom (DateTime!)

When this contract is valid from.

validTo (DateTime!)

When this contract is valid until.

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unitRateUplift": "1.0"
}

GasFiltersOutput

Filter measurements by gas parameters.

Fields

Name Description

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

GasMeterPointType

A gas meterpoint is a collection of meters. Meters are changed over time, so it is convenient to keep an invariant reference. We would not expect there to be multiple active meters at a time on a gas meterpoint.

Fields

Name Description

agentContracts ([GasAgentContractType])

A list of agents responsible for management of the meterpoint.

agreements ([GasAgreementType])

A list of gas agreements belonging to an account that is linked to the viewer. Filters out expired agreements by default.

canRenewTariff (Boolean)

Whether it is possible to renew the meter point's tariff.

confirmationReference (Int)

currentDmSoq (Int)

Rolling SOQ

currentNdmSoq (Int)

Rolling SOQ

currentSupplierMpid (String)

The current MPID for this meter point.

endUserCategory (Int)

enrolment (EnrolmentType)

Details of an ongoing enrolment process.

eucIdentifier (String)

exitCapacityChargeRate (Decimal)

exitZone (String!)

formulaYearSmpAq (Int)

AQ fixed for year

formulaYearSmpSoq (Int)

SOQ fixed for year

hasOpenClosingReadDispute (Boolean!)

hasOpenOpeningReadDispute (Boolean!)

id (ID!)

igtCheckedAt (DateTime)

igtIdentifier (String!)

isDueTariffRenewal (Boolean)

Whether the meter point is due to renew their tariff.

ldz (String!)

Local distribution zone - Distribution charges are based upon this

ldzCapacityChargeRate (Decimal)

ldzCommodityChargeRate (Decimal)

ldzCustomerChargeRate (Decimal)

marketCategory (GasMeterPointMarketCategory)

marketSectorCode (GasMeterPointMarketSectorCode)

meterOwnershipType (GasMeterPointMeterOwnershipType)

meterReadBatchFrequency (String!)

meters ([GasMeterType])

mprn (String)

mrfType (String!)

newSupplierId (String)

nominationShipperReference (String!)

nominationType (String!)

ntsExitCommodityChargeRate (Decimal)

oldSupplierId (String)

requiresEnrolment (Boolean!)

requiresWithdrawal (Boolean!)

smartStartDate (Date)

status (String)

statusUpdatedAt (DateTime)

supplyClass (Int!)

supplyEndDate (Date)

supplyPointCategory (String!)

targetSsd (Date)

unbilledReadings ([GasMeterReadingType])

A list of unbilled gas readings for the meterpoint.

xoserveStatus (String)

Industry status code

Example

{
  "id": "abc123",
  "supplyEndDate": "2020-01-01",
  "mprn": "abc123",
  "statusUpdatedAt": "2020-01-01T00:00:00.000Z",
  "oldSupplierId": "abc123",
  "newSupplierId": "abc123",
  "smartStartDate": "2020-01-01",
  "requiresEnrolment": true,
  "targetSsd": "2020-01-01",
  "requiresWithdrawal": true,
  "hasOpenOpeningReadDispute": true,
  "hasOpenClosingReadDispute": true,
  "marketSectorCode": "D",
  "marketCategory": "SSP",
  "meterOwnershipType": "T",
  "confirmationReference": 1,
  "nominationType": "abc123",
  "supplyClass": 1,
  "nominationShipperReference": "abc123",
  "xoserveStatus": "abc123",
  "exitCapacityChargeRate": "1.0",
  "ldzCapacityChargeRate": "1.0",
  "ldzCommodityChargeRate": "1.0",
  "ldzCustomerChargeRate": "1.0",
  "ntsExitCommodityChargeRate": "1.0",
  "mrfType": "abc123",
  "meterReadBatchFrequency": "abc123",
  "formulaYearSmpSoq": 1,
  "formulaYearSmpAq": 1,
  "currentDmSoq": 1,
  "currentNdmSoq": 1,
  "exitZone": "abc123",
  "ldz": "abc123",
  "supplyPointCategory": "abc123",
  "endUserCategory": 1,
  "eucIdentifier": "abc123",
  "igtIdentifier": "abc123",
  "igtCheckedAt": "2020-01-01T00:00:00.000Z",
  "meters": [GasMeterType],
  "status": "abc123",
  "enrolment": EnrolmentType,
  "agentContracts": [GasAgentContractType],
  "agreements": [GasAgreementType],
  "unbilledReadings": [GasMeterReadingType],
  "currentSupplierMpid": "abc123",
  "isDueTariffRenewal": true,
  "canRenewTariff": true
}

GasMeterReadingConnectionTypeConnection

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

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([GasMeterReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

GasMeterReadingConnectionTypeEdge

A Relay edge containing a GasMeterReadingConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (GasMeterReadingType)

The item at the end of the edge

Example

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

GasMeterReadingType

A gas meter reading. The reading value is under the register collection to be consistent with electricity readings. We expect a single register and reading value for gas.

Fields

Name Description

id (ID!)

readAt (DateTime)

readingSource (String)

readingType (String)

What 'kind' of reading this is based on how it was taken.

registers ([RegisterReading])

source (String)

Example

{
  "id": "abc123",
  "readAt": "2020-01-01T00:00:00.000Z",
  "readingSource": "abc123",
  "registers": [RegisterReading],
  "source": "abc123",
  "readingType": "abc123"
}

GasMeterRegisterType

Gas registers measure consumption.

Fields

Name Description

decimalPlaces (Int)

digits (Int)

expectedReadingRanges ([[Int]])

id (ID!)

identifier (String)

name (String)

unitRateType (String)

Example

{
  "id": "abc123",
  "identifier": "abc123",
  "digits": 1,
  "decimalPlaces": 1,
  "name": "abc123",
  "expectedReadingRanges": [1],
  "unitRateType": "abc123"
}

Fields

Name Description

currentSupplierId (String)

A unique three-character code used to identify the current supplier.

currentSupplierRegEffectiveDate (String)

A datetime indicating the date on which the Supplier became the supplier of the RMP.

dmq (Decimal)

Daily Metered current annual offtake quantity (AQ) of a Supply Meter Point. Value in kWh.

gasTransportId (String)

Unique Identifier for the Gas Transporter Organisation, can also be used to identify the geographical area.

ldzId (String)

Unique reference code for the Local Distribution Zone (LDZ).

marketSectorCode (String)

A code that specifies if the site is used for domestic or industrial/commercial purposes. D = Domestic, I = Industrial and Commercial.

meterCapacity (String)

The amount of gas that can be passed through the meter in a given time period. This is the manufacturer's maximum value.

meterMechanismCode (String)

The coded value of the description of the Meter Mechanism, an identifier for the type of equipment fitted, e.g. credit or prepayment meter.

meterNumberOfDials (String)

The number of dials on the meter installed at the Supply Meter Point.

meterSerialNumber (String)

The manufacturer's meter serial number as held on the physical meter currently installed on the supply point.

mpaq (Decimal)

The current annual offtake quantity (AQ) of a Supply Meter Point. Value in kWh.

mprn (String!)

Meter Point Reference Number (MPRN). A unique identifier for the point at which a meter is, has been or will be connected to the Gas Network.

ndmq (Decimal)

Non-Daily Metered current annual offtake quantity (AQ) of a Supply Meter Point. Value in kWh.

pendingSupplierRegEffectiveDate (String)

A datetime indicating the date on which a subsequent Supplier will become the supplier of the RMP.

smartEquipmentTechnicalCode (String)

Specification ID of the smart meter.

Example

{
  "mprn": "abc123",
  "currentSupplierId": "abc123",
  "currentSupplierRegEffectiveDate": "abc123",
  "pendingSupplierRegEffectiveDate": "abc123",
  "dmq": "1.0",
  "gasTransportId": "abc123",
  "ldzId": "abc123",
  "meterCapacity": "abc123",
  "meterMechanismCode": "abc123",
  "meterNumberOfDials": "abc123",
  "meterSerialNumber": "abc123",
  "mpaq": "1.0",
  "marketSectorCode": "abc123",
  "ndmq": "1.0",
  "smartEquipmentTechnicalCode": "abc123"
}

GasMeterType

A gas meter has a register which holds readings. We would expect this to be a one-to-one relationship between meter and register.

Fields

Name Description

activeFrom (Date!)

activeTo (Date)

bypassFitted (String!)

collarFitted (String!)

consumption (ConsumptionConnection)

Energy consumption recorded by the meter.

consumptionUnits (String)

The units of consumption for a smart meter.

correction (Float)

createdAt (DateTime!)

currentMeterAssetManager (String!)

fuelType (String)

The type of fuel this meter uses.

hasAndAllowsHhReadings (Boolean)

Returns if the meter has and allows half hourly readings.

id (ID!)

imperial (Boolean)

installationDate (Date)

instructions (String!)

isDigital (Boolean)

isReadyForTopup (Boolean)

Returns if the meter is ready for top up.

isTradPrepay (Boolean)

Returns if the meter is a traditional prepay meter.

lastInspectionDate (Date)

linkCode (String!)

location (String!)

locationDescription (String!)

manufacturedYear (Int)

manufacturerCode (String!)

measuringCapacity (Decimal)

mechanism (GasMeterMechanism)

meterPoint (GasMeterPointType!)

meterType (String!)

modelName (String!)

nodeId (ID!)

This lets us get around the fact that we already use the field id as a primary key. We will migrate the id field over to be this id eventually.

operationalStatusDate (Date)

owner (String!)

prepayLedgers (PrepayLedgersType)

pulseValue (Decimal)

readingFactor (Decimal)

readings (GasMeterReadingConnectionTypeConnection)

registers ([GasMeterRegisterType])

requiresAccess (Boolean)

requiresCotFinalReading (Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

serialNumber (String!)

smartDevices ([SmartMeterDeviceType])

smartGasMeter (SmartMeterDeviceType)

status (GasMeterStatus)

units (Int!)

updatedAt (DateTime)

Example

{
  "id": "abc123",
  "serialNumber": "abc123",
  "requiresAccess": true,
  "isDigital": true,
  "installationDate": "2020-01-01",
  "lastInspectionDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "activeFrom": "2020-01-01",
  "activeTo": "2020-01-01",
  "meterPoint": GasMeterPointType,
  "manufacturerCode": "abc123",
  "modelName": "abc123",
  "manufacturedYear": 1,
  "meterType": "abc123",
  "imperial": true,
  "units": 1,
  "location": "abc123",
  "mechanism": "CR",
  "correction": 1.0,
  "locationDescription": "abc123",
  "readingFactor": "1.0",
  "instructions": "abc123",
  "pulseValue": "1.0",
  "linkCode": "abc123",
  "collarFitted": "abc123",
  "bypassFitted": "abc123",
  "measuringCapacity": "1.0",
  "status": "LI",
  "operationalStatusDate": "2020-01-01",
  "owner": "abc123",
  "currentMeterAssetManager": "abc123",
  "prepayLedgers": PrepayLedgersType,
  "smartGasMeter": SmartMeterDeviceType,
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection,
  "nodeId": "abc123",
  "readings": GasMeterReadingConnectionTypeConnection,
  "registers": [GasMeterRegisterType],
  "hasAndAllowsHhReadings": true,
  "smartDevices": [SmartMeterDeviceType],
  "isTradPrepay": true,
  "isReadyForTopup": true
}

Fields

Name Description

annualAmount (Int!)

Estimated cost in pence of the product over a year based on the quoted usage.

gasTariffInformationLabel (ProductTariffInformationLabelStandard!)

Gas tariff information label (TIL) provides standardised information between suppliers about a tariff.

id (Int)

The ID of the quoted product.

label (String)

monthlyAmount (Int!)

Estimated cost in pence of the product per month based on the quoted usage.

product (EnergyProductType!)

Energy product quoted.

Example

{
  "id": 1,
  "label": "abc123",
  "product": EnergyProductType,
  "annualAmount": 1,
  "monthlyAmount": 1,
  "gasTariffInformationLabel": ProductTariffInformationLabelStandard
}

Fields

Name Description

agreement (GasAgreementType)

Current active agreement on this supply point.

annualConsumption (GasConsumption!)

Annual consumption of the supply point.

mprn (String)

The Mprn of the suply point.

quotedProducts ([GasQuotedProduct]!)

A list of quoted products and the corresponding tariff information.

rateType (String!)

Gas has only STANDARD rate type.

Example

{
  "mprn": "abc123",
  "agreement": GasAgreementType,
  "annualConsumption": GasConsumption,
  "quotedProducts": GasQuotedProduct,
  "rateType": "abc123"
}

Fields

Name Description

description (String)

displayName (String)

fullName (String)

id (ID)

isExport (Boolean)

Whether the tariff is for exporting energy.

preVatStandingCharge (Float)

preVatUnitRate (Float)

productCode (String)

standingCharge (Float)

tariffCode (String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

unitRate (Float)

unitRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123",
  "isExport": true,
  "unitRate": 1.0,
  "unitRateEpgApplied": true,
  "preVatUnitRate": 1.0
}

Fields

Name Description

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

GenerateAffiliatesAudioRecordingPreSignedUrl

Generate a pre-signed URL for uploading a audio file for use with affiliates.

Fields

Name Description

affiliatesAudioRecordingPreSignedUrl (AffiliateAudioRecordingPresignedPostType)

Input fields required to generate a presigned S3 post for affiliates audio recording.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "affiliatesAudioRecordingPreSignedUrl": AffiliateAudioRecordingPresignedPostType
}

GenerateInkPresignedUrl

The possible errors that can be raised are:

  • KT-CT-7620: Channel not supported.
  • KT-CT-7618: Unable to process message.
  • KT-CT-7624: Error when generating the presigned URL.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

fields (JSONString!)

Presigned post fields required to upload the file.

key (String!)

The key for the item.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

uploadUrl (String!)

A presigned URL for the user to upload to the quarantine bucket.

Example

{
  "possibleErrors": [PossibleErrorType],
  "uploadUrl": "abc123",
  "key": "abc123",
  "fields": {"key": "value"}
}

GeneratePaymentAllocationNumber

Generate a PAN (Payment Allocation Number) for a smart meter. This can be used to add credit to the meter in a shop, if the meter is in prepayment mode.

The possible errors that can be raised are:

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

Fields

Name Description

pan (String!)

The Payment Allocation Number routes payments made via a PSP (Payment Service Provider) to this device.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

GeneratePreSignedToken

Mutation to generate a pre-signed token.

The pre-signed, expiring and opaque tokens will be swapped for a limited scope JWT (Kraken Token).

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-1120: The Kraken Token has expired.
  • KT-CT-1131: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

scope (PreSignedTokenScope)

token (String)

tokenExpiryDatetime (DateTime)

Example

{
  "possibleErrors": [PossibleErrorType],
  "token": "abc123",
  "tokenExpiryDatetime": "2020-01-01T00:00:00.000Z",
  "scope": "SUBMIT_METER_READINGS"
}

GenericBackendScreen

A generic backend screen that can be used to define any type of screen.

Fields

Name Description

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

url (String)

URL at which payment instruction can be set up.

Example

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

GetOrCreateShellAccountForOpportunity

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

accountNumber (String)

The account number of the newly created or existing account.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

sets ([SnapSetType])

All available sets of constantine.

totalPrizeEntries (Int)

Total amount of prize entries.

Example

{
  "sets": [SnapSetType],
  "totalPrizeEntries": 1
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (GoodsProduct)

The item at the end of the edge

Example

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

Fields

Name Description

code (String)

Product type code.

internalName (String)

Product type name.

Example

{
  "code": "abc123",
  "internalName": "abc123"
}

Fields

Name Description

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

Name Description

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

Name Description

id (ID)

The ID of the quote share.

Example

{
  "id": "abc123"
}

Fields

Name Description

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

Name Description

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

Fields

Name Description

savedCo2InKgs (Int)

savedTrees (Int)

Example

{
  "savedTrees": 1,
  "savedCo2InKgs": 1
}

GreennessForecastPeriod

A greenness forecast entry for a single period of time.

Fields

Name Description

greennessIndex (GreennessForecastIndex)

The greenness index LOW/MEDIUM/HIGH (higher is greener) to map to a localised value.

greennessScore (Int)

The greenness score 0-100 (higher is greener).

highlightFlag (Boolean)

Indicates that this is one of the best periods in the forecast (there may be more than one). This may not consider the entire forecast and can be ignored or calculated client-side from the score.

validFrom (DateTime)

The start of the forecast period (inclusive).

validTo (DateTime)

The end of the forecast period (exclusive).

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "greennessScore": 1,
  "greennessIndex": "LOW",
  "highlightFlag": true
}

Fields

Name Description

powerInKw (Decimal)

The current power being imported from or exported to the grid in kW. A negative value indicates power is being imported from the grid; a positive value indicates power is being exported to the grid.

Example

{
  "powerInKw": "1.0"
}

GuaranteeOfOriginConfigurationType

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

Fields

Name Description

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.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

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

Fields

Name Description

agileCalculationInfo (AgileCalculationInfo)

Information on how agile unit rates have been calculated.

The possible errors that can be raised are:

  • KT-GB-6314: Tariff does not have a defined agile price cap.
  • KT-CT-1113: Disabled GraphQL field requested.

description (String)

displayName (String)

fullName (String)

id (ID)

isExport (Boolean)

Whether the tariff is for exporting energy.

preVatStandingCharge (Float)

productCode (String)

standingCharge (Float)

tariffCode (String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

unitRates ([UnitRate])

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123",
  "isExport": true,
  "unitRates": [UnitRate],
  "agileCalculationInfo": AgileCalculationInfo
}

HardshipAgreementType

Represents a Hardship Agreement for a particular Account.

Fields

Name Description

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

Name Description

faultCodes ([String])

Any fault codes present on the device.

hardwareVersion (String)

The hardware version.

hasHeatPumpCompatibleCylinder (Boolean)

Whether the system has a hot water cylinder (tank) which is compatible with heat pumps.

heatingFlowTemperature (FlowTemperatureConfiguration)

The flow temperature set for heating.

latestCounterReset (DateTime)

The last time the heat pump metrics were reset to zero.

manifoldEnabled (Boolean)

Whether the system has a manifold set up.

maxWaterSetpoint (Float)

The maximum temperature which the hot water can be set to.

minWaterSetpoint (Float)

The minimum temperature which the hot water can be set to.

model (String)

The heat pump model (eg. COSY).

serialNumber (String)

The serial number of the heat pump.

weatherCompensation (WeatherCompensationConfiguration)

The current weather compensation settings.

Example

{
  "serialNumber": "abc123",
  "model": "abc123",
  "hardwareVersion": "abc123",
  "faultCodes": ["abc123"],
  "weatherCompensation": WeatherCompensationConfiguration,
  "heatingFlowTemperature": FlowTemperatureConfiguration,
  "manifoldEnabled": true,
  "hasHeatPumpCompatibleCylinder": true,
  "maxWaterSetpoint": 1.0,
  "minWaterSetpoint": 1.0,
  "latestCounterReset": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

deviceType (KrakenFlexDeviceTypes)

Always HEAT_PUMPS.

Deprecated

The 'deviceType' field is deprecated.

The value is always 'HEAT_PUMPS' so this field is redundant.

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

krakenflexDeviceId (String)

params (HeatPumpParamsType)

Override Field to add additional attributes and extend description with possible_errors

provider (ProviderChoices)

The third party that provides control of this heat pump.

Example

{
  "krakenflexDeviceId": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "params": HeatPumpParamsType
}

Fields

Name Description

accountNumber (String)

Account associated to quote.

addressDetails (AddressDetails!)

Property details stored in hubspot.

code (String!)

Quote code.

contactDetails (ContactDetails!)

Contact details stored in hubspot.

quoteId (Int!)

ID of the quote.

quotedProduct (GoodsQuotedProduct!)

Quoted product details.

Example

{
  "accountNumber": "abc123",
  "code": "abc123",
  "quoteId": 1,
  "quotedProduct": GoodsQuotedProduct,
  "contactDetails": ContactDetails,
  "addressDetails": AddressDetails
}

Fields

Name Description

heatPumpId (ID)

Example

{
  "heatPumpId": "abc123"
}

Fields

Name Description

endAt (DateTime!)

The end datetime of the node.

energyInput (Energy)

The field to show energy input.

energyOutput (Energy)

The field to show energy output.

outdoorTemperature (Temperature)

The field to show outdoor temperature.

startAt (DateTime!)

The start datetime of the node.

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "energyInput": Energy,
  "energyOutput": Energy,
  "outdoorTemperature": Temperature
}

Fields

Name Description

climateControlStatus (ClimateControlDetailsType)

Override Field to add additional attributes and extend description with possible_errors

isConnected (Boolean)

Whether the heat pump is currently connected to the provider.

waterTemperatureStatus (WaterTemperatureDetailsType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "isConnected": true,
  "climateControlStatus": ClimateControlDetailsType,
  "waterTemperatureStatus": WaterTemperatureDetailsType
}

Fields

Name Description

coefficientOfPerformance (Decimal)

The coefficient of performance (COP) of the heat pump.

energyInput (Energy!)

The field to show energy input.

energyOutput (Energy!)

The field to show energy output.

Example

{
  "coefficientOfPerformance": "1.0",
  "energyInput": Energy,
  "energyOutput": Energy
}

Fields

Name Description

heatPumpId (ID)

isDeprecated (Boolean)

model (String)

powerInKw (Decimal)

Example

{
  "heatPumpId": "abc123",
  "model": "abc123",
  "powerInKw": "1.0",
  "isDeprecated": true
}

Fields

Name Description

make (String)

models ([HeatPumpVariantModelsType])

Example

{
  "make": "abc123",
  "models": [HeatPumpVariantModelsType]
}

Fields

Name Description

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

Name Description

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": ItemSizeType,
  "mediaUrl": "abc123",
  "horizontalAlignment": "START",
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123"
}

Fields

Name Description

recent (Int)

The average number of seconds passed before an inbound call is answered.

This value represents the calls received in the last 30 minutes.

yesterday (Int)

The average number of seconds passed before an inbound call is answered.

This value represents the calls received on the previous day.

Example

{
  "yesterday": 1,
  "recent": 1
}

Fields

Name Description

account (AccountType)

If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.

id (ID!)

The ID of the call.

initialCallerIdentification (PhoneNumberIdentificationType!)

When an inbound call is received, we identify all entities linked to the phone number of the caller.

metadata ([CallMetadataItemType]!)

Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).

Example

{
  "id": "abc123",
  "account": AccountType,
  "metadata": CallMetadataItemType,
  "initialCallerIdentification": PhoneNumberIdentificationType
}

Fields

Name Description

escalationStartAt (DateTime)

The escalation start date for the product rate override configuration.

indexCode (String)

The index code for the product rate override configuration.

Example

{
  "indexCode": "abc123",
  "escalationStartAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

accountNumber (String)

The account number of the newly created account or the existing account to be re-used.

isNewAccount (Boolean)

Was a new account created.

Example

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

Fields

Name Description

isNewUser (Boolean)

Was a new user created.

userNumber (String)

The user number of the newly created user or the existing user to be re-used.

Example

{
  "isNewUser": true,
  "userNumber": "abc123"
}

InitiateHostedStandalonePayment

Initiate a standalone payment and return the url where the customer can complete it.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3943: Invalid ledger.
  • KT-CT-3957: No collection method provided.
  • KT-CT-3958: Provide either ledger ID or ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

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

Name Description

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

Name Description

clientMutationId (String)

liveChat (InkLiveChat)

The newly initiated live chat. If an open live chat already exists for the given account, that is returned instead.

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

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

Name Description

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

Name Description

retrievalToken (String!)

The retrieval token for this standalone payment.

secretToken (String!)

The secret used to collect the payment.

Example

{
  "retrievalToken": "abc123",
  "secretToken": "abc123"
}

InitiateUnauthenticatedStandalonePayment

Initiate an unauthenticated standalone payment and return the client secret required to complete it.

Fields

Name Description

payment (InitiateUnauthenticatedStandalonePaymentOutput)

The payment's retrieval and secret tokens.


Fields

Name Description

retrievalToken (String!)

The retrieval token for this standalone payment.

secretToken (String!)

The secret used to collect the payment.

Example

{
  "retrievalToken": "abc123",
  "secretToken": "abc123"
}

Fields

Name Description

icon (String)

The icon code point.

id (ID!)

The ID of the object

name (String!)

The ink bucket name.

Example

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

Fields

Name Description

all ([InkContactChannelIdentity!]!)

All contacts for this conversation.

default (InkContactChannelIdentity)

The default contact for this conversation.

Example


Fields

Name Description

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

Name Description

accountUsers ([AccountUserType!])

The account users on the conversation.

buckets ([InkBucket!])

The buckets the conversation is currently in.

contactChannelIdentities (InkContactChannelIdentities!)

The contact channel identities associated with this conversation.

events (InkConversationEventsConnection!)

Conversation events.

id (ID!)

status (InkConversationStatus!)

The status of the conversation.

Example

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (InkConversationEvent!)

The item at the end of the edge

Example

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

InkEmail

This type wraps around the Message type for emails.

Fields

Name Description

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,
  "tags": InkTag
}

InkGenericMessage

This message type is used for messages that belong to contact channels without a more granular message type.

Fields

Name Description

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

Name Description

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": LineMessage,
  "isChannelLine": true,
  "attachments": InkMessageAttachment,
  "tags": InkTag
}

InkLiveChat

Ink live chat

Fields

Name Description

relayId (ID!)

The relay ID of the live chat.

Example

{
  "relayId": "abc123"
}

Fields

Name Description

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

Name Description

status (InkMessageDeliveryStatus!)

Message delivery status.

Example

{
  "status": "PENDING"
}

InkNewMessage

This types is used for both the message-received and message-sent conversation events.

Fields

Name Description

message (InkMessage!)

The message.

occurredAt (DateTime!)

The time the conversation event occurred.

Example

{
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": InkMessage
}

Fields

Name Description

content (String!)

The content of the ink note.

id (ID!)

The ID of the object

isPinned (Boolean!)

The note is pinned, so that it's always visible in the conversation.

occurredAt (DateTime!)

The datetime at which the conversation note occurred.

Example

{
  "id": "abc123",
  "content": "abc123",
  "isPinned": true,
  "occurredAt": "2020-01-01T00:00:00.000Z"
}

InkPost

This type wraps around the Message type for Post.

Fields

Name Description

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

Name Description

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,
  "tags": InkTag
}

Fields

Name Description

id (ID!)

The ID of the object

name (String!)

Tag for a message.

Example

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

InkTwilioWhatsApp

This type wraps around the Message type for a Twilio WhatsApp message.

Fields

Name Description

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,
  "tags": InkTag
}

InkWhatsApp

This type wraps around the Message type for WhatsApp message.

Fields

Name Description

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,
  "tags": InkTag
}

Fields

Name Description

declaredNetCapacity (Decimal!)

extensionReference (String!)

installedCapacity (Decimal!)

Example

{
  "declaredNetCapacity": "1.0",
  "extensionReference": "abc123",
  "installedCapacity": "1.0"
}

Fields

Name Description

fitId (String)

FIT ID of the installation.

fitTermsAgreedAt (DateTime)

Date fit terms were agreed to.

inspectionAt (DateTime)

Meter inspection date.

meters ([FitMeterType])

Details of any meters attached to the installation.

propertyAddress (PropertyAddressType)

Address of the property linked to the installation.

Example

{
  "fitId": "abc123",
  "fitTermsAgreedAt": "2020-01-01T00:00:00.000Z",
  "inspectionAt": "2020-01-01T00:00:00.000Z",
  "meters": [FitMeterType],
  "propertyAddress": PropertyAddressType
}

IntervalCostOfUsageType

Usage and cost between two points in time.

Fields

Name Description

cost (Int)

Cost per time interval.

endAt (DateTime)

Interval end datetime.

startAt (DateTime)

Interval start datetime.

usageKwh (Decimal)

Usage per time interval.

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "cost": 1,
  "usageKwh": "1.0"
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

token (PreSignedToken)

Example

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

InvalidatePreSignedTokensForUser

Invalidate pre-signed tokens previously issued to a particular user.

This mutation can invalidate all pre-signed tokens issued to a customer, or only tokens of a given scope.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

tokens ([PreSignedToken])

Example

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

InvalidateRefreshToken

Invalidate a previously issued refresh token.

This mutation can be used to invalidate the token itself. To invalidate tokens issued to a particular user, use InvalidateRefreshTokensForUser.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

token (RefreshToken)

Example

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

InvalidateRefreshTokensForUser

Invalidate refresh tokens previously issued to a particular user.

This mutation will invalidate all refresh tokens issued to a customer.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

tokens ([RefreshToken])

Example

{
  "possibleErrors": [PossibleErrorType],
  "tokens": [RefreshToken]
}

Fields

Name Description

connectionStatus (ConnectionStatus)

Whether the inverter is currently connected (online/offline).

powerInKw (Decimal)

The current power flowing through the inverter in kW. A negative value indicates that power is being drawn in to charge the battery; a positive value indicates power is being exported to the property (and, possibly, the grid) from the battery and/or solar panels.

Example

{
  "connectionStatus": "ONLINE",
  "powerInKw": "1.0"
}

Fields

Name Description

make (String)

The make (manufacturer) of the device.

Example

{
  "make": "abc123"
}

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

Name Description

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

Name Description

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

Name Description

annulledBy (AnnulmentBillingDocumentType)

Billing document that annuls this invoice.

documentDebtPosition (BillingDocumentPositionType)

Position of the billing document in the delinquent debt tracking system.

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

Example

{
  "id": 1,
  "firstIssued": "2020-01-01T00:00:00.000Z",
  "pdfUrl": "abc123",
  "annulledBy": AnnulmentBillingDocumentType,
  "number": "abc123",
  "invoicedAmount": 1,
  "totalCharges": InvoiceTotalType,
  "totalCredits": InvoiceTotalType,
  "transactions": BillTransactionConnectionTypeConnection,
  "documentDebtPosition": BillingDocumentPositionType
}

Fields

Name Description

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

Name Description

attachments (BillingAttachmentConnectionTypeConnection)

billType (BillTypeEnum)

The type of the bill.

fromDate (Date)

The date of the bill is covered from.

grossAmount (Int)

This field returns the total gross amount of the bill in pence.

id (ID)

The ID of the bill.

identifier (String)

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

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

isAnnulled (Boolean!)

Whether the billing document has been annulled.

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.

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01",
  "attachments": BillingAttachmentConnectionTypeConnection,
  "identifier": "abc123",
  "grossAmount": 1,
  "isAnnulled": true,
  "totalCharges": InvoiceTotalType,
  "totalCredits": InvoiceTotalType,
  "totalPayments": 1,
  "transactions": BillTransactionConnectionTypeConnection
}

JoinConsumerDevice

The possible errors that can be raised are:

  • KT-GB-4053: Fuel type should not be specified for Alt HAN device.
  • KT-GB-4031: Error sending the request to join the device to the CHF.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

The reference of the join PPMID, IHD, CAD or Alt HAN request in Kraken.

Example

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

JoinDeviceToNetwork

Send a request to the DCC to join a smart device to a HAN (Home Area Network).

The possible errors that can be raised are:

  • KT-GB-4019: This device type is not currently supported.
  • KT-GB-4020: Error sending the request to join the device to the Home Area Network.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

Example

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

JoinOctoplusCampaign

Sign an account up to Octoplus.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-9310: Account ineligible for joining Octoplus.
  • KT-GB-9311: Error joining campaign.
  • KT-GB-9312: Account already signed up to Octoplus.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

outcome (EnrolmentOutcome)

Outcome of the Octoplus 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-Kraken-Possible-Errors' header instead.

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

success (Boolean)

Returns mutation success. Deprecated, in favour of the outcome field.

Example

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

JoinSavingSessionsCampaign

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-5110: Campaign not found.
  • KT-GB-5111: Meter point not found.
  • KT-GB-5112: Error joining campaign.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (SavingSessionsAccountReturnType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

JoinSavingSessionsEvent

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-5114: Saving Sessions event not found.
  • KT-GB-5116: Account is not part of a Saving Sessions campaign.
  • KT-GB-5117: Account ineligible to join Saving Sessions event.
  • KT-GB-5115: Error joining event.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

joinedEventCodes ([String])

The event codes that the account has joined.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean)

Indicator that the mutation has completed successfully.

Example

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (JoinSupplierProcessType)

The item at the end of the edge

Example

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

Fields

Name Description

affiliateLink (AffiliateLinkType)

Affiliate link for the join supplier journey.

note (String)

The note associated with this join supplier process data.

requestedAt (DateTime!)

When the journey was requested.

salesChannel (String)

Sales channel.

salesSubchannel (String)

Sales subchannel.

supplyPointContexts ([SupplyPointContextDataInterface])

The supply point context data.

Example

{
  "requestedAt": "2020-01-01T00:00:00.000Z",
  "salesChannel": "abc123",
  "salesSubchannel": "abc123",
  "affiliateLink": AffiliateLinkType,
  "supplyPointContexts": SupplyPointContextDataInterface,
  "note": "abc123"
}

JoinSupplierProcessType

Represents a Join Supplier process.

Fields

Name Description

currentProcessData (JoinSupplierProcessDataType)

The current process data associated with the Join Supplier process.

id (ID)

The ID or the primary key of the lifecycle process.

number (String)

The unique identifier of the process.

status (LifecycleSupplyPointProcessStatus)

The status of the process.

supplyPoints (SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Example

{
  "id": "abc123",
  "status": "PENDING",
  "supplyPoints": SupplyPointConnectionTypeConnection,
  "number": "abc123",
  "currentProcessData": JoinSupplierProcessDataType
}

Fields

Name Description

chargePointMake (String)

chargePointModel (String)

chargePointPowerInKw (Decimal)

createdAt (DateTime)

hasToken (Boolean)

krakenflexDeviceId (String)

provider (ProviderChoices)

The third party that provides control over this device.

stateOfChargeLimit (StateOfChargeLimit)

Maximum state of charge (SoC) limit telemetry.

status (String)

suspended (Boolean)

testDispatchFailureReason (TestDispatchAssessmentFailureReason)

The reason for the most recent failed test dispatch (if any).

vehicleBatterySizeInKwh (Decimal)

vehicleMake (String)

vehicleModel (String)

Example

{
  "krakenflexDeviceId": "abc123",
  "provider": "BYD",
  "vehicleMake": "abc123",
  "vehicleModel": "abc123",
  "vehicleBatterySizeInKwh": "1.0",
  "chargePointMake": "abc123",
  "chargePointModel": "abc123",
  "chargePointPowerInKw": "1.0",
  "status": "abc123",
  "suspended": true,
  "hasToken": true,
  "createdAt": "2020-01-01T00:00:00.000Z",
  "stateOfChargeLimit": StateOfChargeLimit,
  "testDispatchFailureReason": "NONE"
}

KrakenVersionType

Information about what version of Kraken is being executed by this service.

Fields

Name Description

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.

Fields

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

flatFeeAmount (Decimal)

The flat fee amount for late payment.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

percentageFee (Decimal)

The percentage fee for late payment.

percentageIntervalDays (Decimal)

The interval in days for the percentage fee (1=daily, 7=weekly, 30=monthly, 365=yearly).

type (NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "flatFeeAmount": "1.0",
  "percentageFee": "1.0",
  "percentageIntervalDays": "1.0"
}

Fields

Name Description

blockListHits ([String])

List of block list hits found.

valid (Boolean)

Indicates if the block list validation passed.

Example

{
  "valid": true,
  "blockListHits": ["abc123"]
}

Fields

Name Description

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

Name Description

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

Name Description

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.

Example

{
  "id": "abc123",
  "status": "PENDING",
  "supplyPoints": SupplyPointConnectionTypeConnection
}

LeaveSupplierCancelled

Output of a LeaveSupplier journey cancellation.

Fields

Name Description

message (String!)

The message to display to the user on cancellation.

Example

{
  "message": "abc123"
}

LeaveSupplierInstigated

Termination was successfully initiated.

Fields

Name Description

leaveSupplierProcessId (ID)

The ID of the newly created or existing leave supplier process.

Deprecated

The 'leaveSupplierProcessId' field is deprecated.

Process IDs are deprecated, please use 'number' instead.

- Marked as deprecated on 2025-08-06.
- Scheduled for removal on or after 2025-09-30.

message (String!)

The message to display to the user on termination initiation.

number (ID!)

The number of the newly created or existing leave supplier process.

Example

{
  "number": "abc123",
  "leaveSupplierProcessId": "abc123",
  "message": "abc123"
}

Fields

Name Description

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

Name Description

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

Name Description

id (ID)

The ID or the primary key of the lifecycle process.

number (String)

The unique identifier of the process.

status (LifecycleSupplyPointProcessStatus)

The status of the process.

supplyPoints (SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Example

{
  "id": "abc123",
  "status": "PENDING",
  "number": "abc123",
  "supplyPoints": SupplyPointConnectionTypeConnection
}

LeaveSupplierUpdated

Leave supplier was successfully updated.

Fields

Name Description

message (String!)

The message to display to the user on leave supplier update.

Example

{
  "message": "abc123"
}

LedgerType

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

Fields

Name Description

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.

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.

currentDirectDebitInstructionInvalidatedWithVendor (Boolean)

True if the current direct debit instruction has been invalidated by vendor. False otherwise.

debtLedger (LedgerType)

The debt ledger assigned to this ledger.

id (ID)

Deprecated

The 'ledgerId' field is deprecated.

Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

- Marked as deprecated on 2024-10-22.
- Scheduled for removal on or after 2025-06-25.

invoices (InvoiceBillingDocumentConnectionTypeConnection)

An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.

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.

refundRequests (RefundRequestConnectionTypeConnection)

Refund requests for a given ledger.

repaymentRequests (RepaymentRequestConnectionTypeConnection)

Repayment requests for a given ledger.

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.

supportsInvoices (Boolean)

Is it possible for this ledger to contain invoices.

supportsStatements (Boolean)

Is it possible for this ledger to contain statements.

transactions (TransactionConnectionTypeConnection)

Transactions on the given ledger.

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,
  "supportsStatements": true,
  "supportsInvoices": true,
  "currentDirectDebitInstructionInvalidatedWithVendor": true
}

Fields

Name Description

joinSupplierProcesses (JoinSupplierProcessConnectionTypeConnection)

List of JoinSupplierProcess for an account.

leavePropertyProcesses (LeavePropertyProcessConnectionTypeConnection)

List of LeavePropertyProcess for an account.

leaveSupplierProcesses (LeaveSupplierProcessConnectionTypeConnection)

List of LeaveSupplierProcess for an account.

occupyPropertyProcesses (OccupyPropertyProcessConnectionTypeConnection)

List of OccupyPropertyProcess for an account.

Example


LifetimeTelemetry

A container for some basic metrics to show how the heating system has performed over its lifetime.

Note that "its lifetime" may not be the actual life of the heat pump, but may have been reset when it was last provisioned.

Fields

Name Description

energyInput (Energy!)

The electrical energy drawn by the heat pump over its lifetime.

heatOutput (Energy!)

The heat energy emitted by the heat pump over its lifetime.

readAt (DateTime!)

When these measurements were taken.

seasonalCoefficientOfPerformance (Decimal)

The average lifetime coefficient of performance up to the time of measurement.

Example

{
  "readAt": "2020-01-01T00:00:00.000Z",
  "seasonalCoefficientOfPerformance": "1.0",
  "energyInput": Energy,
  "heatOutput": Energy
}

LineCommonError

A base error type. Should be used for general application or lower level errors.

Fields

Name Description

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

Name Description

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

Name Description

id (ID!)

Example

{
  "id": "abc123"
}

LineItemConnection

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

Fields

Name Description

edges ([LineItemEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

Example

{
  "pageInfo": PageInfo,
  "edges": LineItemEdge
}

LineItemEdge

A Relay edge containing a LineItem and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (LineItemType)

The item at the end of the edge

Example

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

LineItemType

A record of spend on consumption between two points in time.

Fields

Name Description

endAt (DateTime)

itemType (String)

netAmount (Decimal)

numberOfUnits (Decimal)

settlementUnit (String)

startAt (DateTime)

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "netAmount": "1.0",
  "numberOfUnits": "1.0",
  "itemType": "abc123",
  "settlementUnit": "abc123"
}

LineLinkRedirectResponse

Link Successful. Complete link process with LINE.

Fields

Name Description

redirectUrl (String!)

Example

{
  "redirectUrl": "abc123"
}

Fields

Name Description

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

Name Description

displayContent (String!)

The display content.

emojis ([LineEmoji!])

The emojis in the message.

Example

{
  "displayContent": "abc123",
  "emojis": [LineEmoji]
}

Fields

Name Description

message (String!)

Example

{
  "message": "abc123"
}

LinkAccountToBusiness

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11104: Business role already allocated.
  • KT-CT-11105: Business role already allocated.
  • KT-CT-11106: Unauthorized.
  • KT-CT-11107: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

business (BusinessType)

The business the account was linked to.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "business": BusinessType
}

LinkActionType

An action which navigates to any URL.

Fields

Name Description

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

Name Description

type (LineLinkErrorType!)

The type of error that occurred.

Example

{
  "type": "NO_MATCHING_LINE_LINK"
}

Fields

Name Description

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.

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

Fields

Name Description

currentBalance (Int)

How much balance we expect the account to have at this time of year.

estimatedConsumption ([ConsumptionBreakdown])

Breakdown of customer's usage per source and per month.

recommendedPayment (PaymentBreakdown)

The suggested monthly payment amount in pence following the payment adequacy review.

reviewedOn (Date)

The date that we used to calculate the review of the account.

targetBalance (Int)

How much balance we expect the account to have at this time of year.

Example

{
  "recommendedPayment": PaymentBreakdown,
  "currentBalance": 1,
  "targetBalance": 1,
  "estimatedConsumption": [ConsumptionBreakdown],
  "reviewedOn": "2020-01-01"
}

LiveTelemetry

A container for some basic metrics relevant to the current state of the heating system.

Fields

Name Description

coefficientOfPerformance (Decimal)

The coefficient of performance at the time of measurement.

heatOutput (Power!)

The rate of heat flow from the heat pump at a given time.

outdoorTemperature (Temperature!)

The temperature outdoors.

powerInput (Power!)

The power being drawn by the heat pump at a given time.

readAt (DateTime!)

When these measurements were taken.

Example

{
  "readAt": "2020-01-01T00:00:00.000Z",
  "coefficientOfPerformance": "1.0",
  "powerInput": Power,
  "heatOutput": Power,
  "outdoorTemperature": Temperature
}

Fields

Name Description

propertyId (ID!)

The property ID of the location.

Example

{
  "propertyId": "abc123"
}

LoyaltyCardType

A loyalty card.

Fields

Name Description

id (ID!)

number (String)

The number of the loyalty card.

scheme (String)

The scheme of the loyalty card.

status (String)

The status of the loyalty card.

Example

{
  "id": "abc123",
  "scheme": "abc123",
  "number": "abc123",
  "status": "abc123"
}

LoyaltyPointLedgerEntryType

A Loyalty Point ledger entry.

Fields

Name Description

accountNumber (String)

The account number associated with the entry.

balanceBroughtForward (String)

Equal to the balance_carried_forward from the previous ledger entry or zero if this is the first one.

balanceCarriedForward (String)

Equal to the balance_brought_forward plus or minus the value depending on the ledger_type.

id (ID!)

idempotencyKey (UUID)

A unique idempotency key for the operation.

ledgerType (String)

The LedgerEntryType. Either CHARGE or CREDIT.

postedAt (DateTime)

The date the points were added to the ledger.

reasonCode (String)

The reason the entry was being added.

value (String)

The value of the charge or credit.

Example

{
  "id": "abc123",
  "ledgerType": "abc123",
  "value": "abc123",
  "balanceBroughtForward": "abc123",
  "balanceCarriedForward": "abc123",
  "reasonCode": "abc123",
  "idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "postedAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123"
}

Fields

Name Description

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

Name Description

mpxn (String!)

Identifier for meter point.

products ([EnergyProductType])

List of available products for the meter point.

Example

{
  "mpxn": "abc123",
  "products": [EnergyProductType]
}

MarkPrintBatchAsProcessed

Mark a closed print batch as Processed

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

printBatch (PrintBatchType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "printBatch": PrintBatchType
}

MarketSupplyQuoteRequestType

A quote request.

Fields

Name Description

acceptedAt (DateTime)

code (String)

The code of the created quote.

quotedSupplyPoints (MarketSupplyQuotedSupplyPointConnectionTypeConnection)

List of quoted supply points.

requestedAt (DateTime)

termsAndConditions (TermsAndConditionsConnectionTypeConnection)

List of terms and conditions applicable to the quote.

Example

{
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "requestedAt": "2020-01-01T00:00:00.000Z",
  "code": "abc123",
  "quotedSupplyPoints": MarketSupplyQuotedSupplyPointConnectionTypeConnection,
  "termsAndConditions": TermsAndConditionsConnectionTypeConnection
}

MarketSupplyQuotedProductConnectionTypeConnection

Pagination for quoted products.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([MarketSupplyQuotedProductConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

MarketSupplyQuotedProductConnectionTypeEdge

A Relay edge containing a MarketSupplyQuotedProductConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (MarketSupplyQuotedProductType)

The item at the end of the edge

Example

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

MarketSupplyQuotedProductType

A product quoted for a supply point.

Fields

Name Description

clientParams (JSONString)

A JSON object containing client parameters on the quoted product.

id (ID!)

product (SupplyProductType)

The product associated with the quoted product.

wasSelected (Boolean!)

Example

{
  "id": "abc123",
  "wasSelected": true,
  "product": SupplyProductType,
  "clientParams": {"key": "value"}
}

MarketSupplyQuotedSupplyPointConnectionTypeConnection

Pagination for quoted supply points.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([MarketSupplyQuotedSupplyPointConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

MarketSupplyQuotedSupplyPointConnectionTypeEdge

A Relay edge containing a MarketSupplyQuotedSupplyPointConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (MarketSupplyQuotedSupplyPointType)

The item at the end of the edge

Example

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

MarketSupplyQuotedSupplyPointType

A supply point quoted as part of a quote request.

Fields

Name Description

clientParams (JSONString)

A JSON object containing client parameters on the quoted product.

id (ID)

The ID of the quoted supply point.

identifier (String)

The identifier of the quoted supply point, if one exists.

marketName (String)

The market this supply point belongs to.

quotedProducts (MarketSupplyQuotedProductConnectionTypeConnection)

Details of all products quoted for this supply point.

supplyPoint (SupplyPointType)

The supply point being quoted.

Example

{
  "marketName": "abc123",
  "id": "abc123",
  "identifier": "abc123",
  "quotedProducts": MarketSupplyQuotedProductConnectionTypeConnection,
  "supplyPoint": SupplyPointType,
  "clientParams": {"key": "value"}
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (MeasurementInterface)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

statistics ([StatisticOutput])

Statistics relating to the parent measurement node.

utilityFilters (UtilityFiltersOutput)

The source information relating to the parent measurement node.

Example

{
  "utilityFilters": UtilityFiltersOutput,
  "statistics": [StatisticOutput]
}

Fields

Name Description

channel (Channel!)

The channel that the message was sent through.

dispatchedAt (DateTime)

The date/time that Kraken dispatched the message to the vendor.

failedAt (DateTime)

The date/time that the message was confirmed as having failed to send.

Example

{
  "channel": "EMAIL",
  "dispatchedAt": "2020-01-01T00:00:00.000Z",
  "failedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([MessageEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

MessageEdge

A Relay edge containing a Message and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (Message)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

length (Int)

The minimum length of the contract.

type (NonEmptyString)

The type of the term.

unitOfTime (String)

The unit of time for the contract length.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "length": 1,
  "unitOfTime": "abc123"
}

Fields

Name Description

amount (Decimal!)

        The unit being in the smallest denomination of the currency (e.g. pence for GBP).

currency (String!)

The ISO-4217 code for the currency.

Example

{
  "amount": "1.0",
  "currency": "abc123"
}

NotifiableApplicationType

Represents an application that can receive push notifications.

Fields

Name Description

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
}

OCPPAuthentication

Open Charge Point Protocol (OCPP) authentication.

Take the given OCPP authentication details and trigger OCPP authentication.

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4310: Unable to register OCPP authentication details.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

Fields

Name Description

isConnected (Boolean)

Example

{
  "isConnected": true
}

Fields

Name Description

url (String)

username (String)

Example

{
  "url": "abc123",
  "username": "abc123"
}

Fields

Name Description

amount (Int)

The amount of the payment in pence.

id (ID)

The payment's id.

isAmendable (Boolean)

Whether or not the payment can be amended.

isCancelled (Boolean)

Whether or not the payment has been cancelled.

paymentDate (Date)

The date that the payment was/will be made.

Example

{
  "id": "abc123",
  "amount": 1,
  "paymentDate": "2020-01-01",
  "isAmendable": true,
  "isCancelled": true
}

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

Name Description

payload (GenericScalar!)

The body payload of the Kraken Token. The same information can be obtained by using JWT decoding tools on the value of the token field.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

refreshExpiresIn (Int)

A Unix timestamp representing the point in time at which the refresh token will expire.

refreshToken (String)

A token that can be used in a subsequent call to obtainKrakenToken to get a new Kraken Token with the same access conditions after the previous one has expired.

token (String!)

The Kraken Token. Can be used in the Authorization header for subsequent calls to the API to access protected resources.

Example

{
  "possibleErrors": [PossibleErrorType],
  "token": "abc123",
  "payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "refreshToken": "abc123",
  "refreshExpiresIn": 1
}

ObtainLongLivedRefreshToken

Obtain a long-lived refresh token.

This mutation is limited to authorized third-party organizations only.

Account users can only generate short-lived refresh tokens.

The short-lived refresh tokens (for account users) can be obtained from the 'refreshToken' field in 'obtainKrakenToken' mutation.

The possible errors that can be raised are:

  • KT-CT-1120: The Kraken Token has expired.
  • KT-CT-1121: Please use Kraken Token to issue long-lived refresh tokens.
  • KT-CT-1132: Unauthorized.
  • KT-CT-1122: Long-lived refresh tokens can only be issued for account users.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

refreshExpiresIn (Int!)

refreshToken (String)

Example

{
  "possibleErrors": [PossibleErrorType],
  "refreshToken": "abc123",
  "refreshExpiresIn": 1
}

OccupancyPeriodType

An occupancy period for a property.

Fields

Name Description

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

Name Description

account (String!)

address (String!)

date (String!)

occupyToken (String!)

A Kraken Token that can be used to call the 'occupy' mutation for the account.

propertyId (Int!)

Example

{
  "account": "abc123",
  "address": "abc123",
  "date": "abc123",
  "propertyId": 1,
  "occupyToken": "abc123"
}

Fields

Name Description

account (AccountInterface)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "account": AccountInterface
}

Fields

Name Description

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

Name Description

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

Name Description

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.

Example

{
  "id": "abc123",
  "status": "PENDING",
  "occupyAt": "2020-01-01T00:00:00.000Z",
  "supplyPoints": SupplyPointConnectionTypeConnection
}

Fields

Name Description

chfDeviceId (String!)

The Device ID of the communication hub associated with the property of the Cared-For account, which must also have an Octopus Mini device installed.

propertyAddressLine1 (String!)

The first line of the address of the property associated with the Cared-For account.

propertyId (ID!)

The ID of the property the Mini will be onboarded in.

Example

{
  "chfDeviceId": "abc123",
  "propertyAddressLine1": "abc123",
  "propertyId": "abc123"
}

Fields

Name Description

meterDeviceId (String!)

The Device ID of the smart meter associated with the property of the Cared-For account, which must also have an Octopus Mini device installed.

propertyAddressLine1 (String!)

The first line of the address of the property associated with the Cared-For account.

Example

{
  "meterDeviceId": "abc123",
  "propertyAddressLine1": "abc123"
}

Fields

Name Description

enrollmentStatus (OctoplusEnrollmentStatus)

The current enrollment status of the account.

isLoyaltyPointsUser (Boolean)

Describes whether or not the request user is the nominated user for this account.

isOctoplusEnrolled (Boolean)

Describes whether or not this account is enrolled in the Octoplus campaign.

Deprecated

The 'isOctoplusEnrolled' field is deprecated.

Please use enrollmentStatus instead

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

octoplusEligibility (OctoplusEligibilityType)

Information about an account's eligibility for joining the Octoplus campaign.

octoplusSnapWebUrl (OctoplusSnapWebUrlType)

URL for the octoplus snap page if account is eligible.

shouldUseV2 (Boolean)

Describes if the account should use v2.

Example

{
  "isOctoplusEnrolled": true,
  "enrollmentStatus": "ENROLLED",
  "isLoyaltyPointsUser": true,
  "octoplusEligibility": OctoplusEligibilityType,
  "octoplusSnapWebUrl": OctoplusSnapWebUrlType,
  "shouldUseV2": true
}

Fields

Name Description

ineligibilityReason (IneligibilityReasons)

Describes why an account is ineligible for Octoplus. Will be null if the account is eligible.

Deprecated

The 'ineligibilityReason' field is deprecated.

Please use ineligibility_reasons instead.

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

ineligibilityReasons ([IneligibilityReasons])

Returns multiple reasons for why an account is ineligible for Octoplus. Will be empty if the account is eligible.

isEligible (Boolean)

Describes whether or not this account is eligible to join the Octoplus campaign.

Example

{
  "isEligible": true,
  "ineligibilityReason": "OCTOPLUS_DISABLED",
  "ineligibilityReasons": "OCTOPLUS_DISABLED"
}

Fields

Name Description

hasEnrolled (Boolean)

Whether or not this account has been enrolled in the Octoplus campaign.

Example

{
  "hasEnrolled": true
}

Fields

Name Description

shouldClientDisplayOctoplus (Boolean)

Describes whether or not the Octoplus campaign should be shown in clients.

shouldClientDisplayOctoplusPartnerOfferList (Boolean)

Describes whether or not Octoplus partner offer list should be shown in clients.

shouldClientDisplayOctoplusPartnerOffers (Boolean)

Describes whether or not Octoplus partner offers should be shown in clients.

shouldClientDisplayOctoplusRewards (Boolean)

Describes whether or not Octoplus rewards should be shown in clients.

shouldClientDisplayOctoplusShoptopusOffers (Boolean)

Describes whether or not Octoplus Shoptopus offers should be shown in clients.

shouldClientDisplayOctopointsV2 (Boolean)

Describes whether or not the new Octopoints system should be shown in clients.

Example

{
  "shouldClientDisplayOctopointsV2": true,
  "shouldClientDisplayOctoplus": true,
  "shouldClientDisplayOctoplusRewards": true,
  "shouldClientDisplayOctoplusPartnerOffers": true,
  "shouldClientDisplayOctoplusShoptopusOffers": true,
  "shouldClientDisplayOctoplusPartnerOfferList": true
}

Fields

Name Description

answer (String)

The FAQ answer field.

question (String)

The FAQ question field.

Example

{
  "question": "abc123",
  "answer": "abc123"
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([OctoplusOfferGroupConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

OctoplusOfferGroupConnectionTypeEdge

A Relay edge containing a OctoplusOfferGroupConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (OctoplusOfferGroupType)

The item at the end of the edge

Example

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

Fields

Name Description

bannerMobile (String)

The mobile banner url.

Example

{
  "bannerMobile": "abc123"
}

Fields

Name Description

groupType (String)

The type of offer group.

id (Int!)

Unique identifier of the Offer Group.

imageUrls (OctoplusOfferGroupImageUrlsType)

The image urls for this offer.

name (String)

The name describing offer group.

octoplusOffers ([OctoplusOfferType!]!)

Example

{
  "id": 1,
  "name": "abc123",
  "groupType": "abc123",
  "imageUrls": OctoplusOfferGroupImageUrlsType,
  "octoplusOffers": OctoplusOfferType
}

Fields

Name Description

banner (String)

The banner image url.

bannerMobile (String)

The mobile banner url.

logo (String)

The logo url.

logoMobile (String)

The mobile logo url.

Deprecated

The 'logoMobile' field is deprecated.

Please use logo instead

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

Example

{
  "banner": "abc123",
  "bannerMobile": "abc123",
  "logo": "abc123",
  "logoMobile": "abc123"
}

Fields

Name Description

availableSitesUrl (String)

The available sites url for this offer.

category (String)

The category of the offer.

claimAbility (OctoplusRewardClaimAbilityType)

Describes whether the user should be able to claim this offer, and the reason if not.

claimBy (DateTime)

The datetime at which the user should no longer be able to claim this offer.

description (String)

The short description of the offer.

faqs ([OctoplusOfferFAQsType])

The faqs for this offer.

imageUrls (OctoplusOfferImageUrlsType)

The image urls for this offer.

longDescription (String)

The long description of the offer.

name (String)

The name of the offer to be displayed to the user.

partnerName (String)

The name of the reward partner.

partnerSiteUrl (String)

The partner site url for this offer.

pointsCost (Int)

The points cost of claiming this offer.

priceTag (String)

The price tag for this offer.

slug (String)

The slug to be used as the offer identifier.

termsAndConditions (String)

The terms and conditions to display to the user.

usageInstructions (String)

The instructions for the user as to how to use their claimed reward.

Example

{
  "slug": "abc123",
  "name": "abc123",
  "description": "abc123",
  "longDescription": "abc123",
  "partnerName": "abc123",
  "priceTag": "abc123",
  "pointsCost": 1,
  "availableSitesUrl": "abc123",
  "partnerSiteUrl": "abc123",
  "imageUrls": OctoplusOfferImageUrlsType,
  "termsAndConditions": "abc123",
  "faqs": [OctoplusOfferFAQsType],
  "usageInstructions": "abc123",
  "category": "abc123",
  "claimAbility": OctoplusRewardClaimAbilityType,
  "claimBy": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

canClaimOffer (Boolean)

Describes whether the user should be able to claim this offer.

cannotClaimReason (CannotClaimReason)

Describes why a user cannot claim this offer.

Example

{
  "canClaimOffer": true,
  "cannotClaimReason": "OUT_OF_STOCK"
}

Fields

Name Description

accountNumber (String)

The account number associated with this reward.

claimedAt (DateTime)

The datetime at which the reward was initially claimed.

id (Int)

The unique id of the reward.

offer (OctoplusOfferType)

The offer claimed as part of this reward.

offerName (String)

The display name of the offer.

Deprecated

The 'offerName' field is deprecated.

Please use 'offer.name' instead

- Marked as deprecated on 2023-12-21.
- Scheduled for removal on or after 2024-02-10.

offerSlug (String)

The human-readable identifier for the offer.

Deprecated

The 'offerSlug' field is deprecated.

Please use 'offer.slug' instead

- Marked as deprecated on 2023-12-21.
- Scheduled for removal on or after 2024-02-10.

partnerName (String)

The name of the reward partner.

Deprecated

The 'partnerName' field is deprecated.

Please use 'offer.partner_name' instead

- Marked as deprecated on 2023-12-21.
- Scheduled for removal on or after 2024-02-10.

priceTag (String)

The price tag for the offer.

Deprecated

The 'priceTag' field is deprecated.

Please use 'offer.price_tag' instead

- Marked as deprecated on 2023-12-21.
- Scheduled for removal on or after 2024-02-10.

status (OctoplusRewardStatus)

The current status of the reward.

usageInstructions (String)

The instructions for how to use the reward.

Deprecated

The 'usageInstructions' field is deprecated.

Please use 'offer.usage_instructions' instead

- Marked as deprecated on 2023-12-21.
- Scheduled for removal on or after 2024-02-10.

vouchers ([VoucherType])

The voucher associated with this reward.

Example

{
  "id": 1,
  "accountNumber": "abc123",
  "offer": OctoplusOfferType,
  "offerSlug": "abc123",
  "offerName": "abc123",
  "priceTag": "abc123",
  "partnerName": "abc123",
  "usageInstructions": "abc123",
  "vouchers": [VoucherType],
  "claimedAt": "2020-01-01T00:00:00.000Z",
  "status": "PENDING"
}

Fields

Name Description

domain (String!)

Domain for the snap web url, ex. 'octopus.energy'.

path (String!)

Path for the snap web url, ex. 'snap/webview'.

url (String!)

URL for the octoplus snap page if account is eligible. Eg. 'https://octopus.energy/snap/webview?abcd=efg'.

Example

{
  "url": "abc123",
  "domain": "abc123",
  "path": "abc123"
}

Fields

Name Description

barcode (String)

The barcode value/code.

barcodeFormat (String)

The type of barcode to render.

barcodeValue (String)

The value to be encoded in the rendered barcode.

code (String)

The voucher code.

expiresAt (DateTime)

The datetime at which the voucher will no longer be useable.

type (String)

The type of voucher.

Example

{
  "code": "abc123",
  "type": "abc123",
  "barcode": "abc123",
  "barcodeValue": "abc123",
  "barcodeFormat": "abc123",
  "expiresAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

createdAt (DateTime)

The date and time when offer group was created.

createdBy (ActorType)

The Actor who created the offer group.

identifier (ID)

Identifier of the offer group.

offers ([OfferType])

One or more Offers contained in the offer group.

Example

{
  "identifier": "abc123",
  "offers": [OfferType],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "createdBy": ActorType
}

Fields

Name Description

acceptedAt (DateTime)

The date and time when offer was accepted.

createdBy (ActorType)

The Actor who created the offer.

description (String)

Description of the offer.

identifier (ID)

Identifier of the Offer.

quote (QuoteType_)

The Quote this offer is related to.

rejectedAt (DateTime)

The date and time when offer was rejected.

validFrom (DateTime)

The date and time from which the offer becomes valid.

validTo (DateTime)

The date and time until which the offer remains valid.

Example

{
  "identifier": "abc123",
  "quote": QuoteType_,
  "description": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "rejectedAt": "2020-01-01T00:00:00.000Z",
  "createdBy": ActorType
}

Fields

Name Description

commsStrategy (OnSiteJobsCommsStrategy!)

The communication strategy for this appointment.

jobDetails (OnSiteJobsAppointmentJobDetailsType!)

Appointment job details.

jobType (NonEmptyString!)

The type of job being booked for the appointment.

Example

{
  "jobType": NonEmptyString,
  "commsStrategy": "SEND_ALL",
  "jobDetails": OnSiteJobsAppointmentJobDetailsType
}

Fields

Name Description

elecFuturePaymentMode (PaymentMode)

Future payment mode for electricity asset.

gasFuturePaymentMode (PaymentMode)

Future payment mode for gas asset.

requiresMediumPressureGas (Boolean)

Whether the appointment requires medium pressure gas handling.

requiresThreePhaseInstall (Boolean)

Whether the appointment requires a three-phase installation.

Example

{
  "requiresThreePhaseInstall": true,
  "requiresMediumPressureGas": true,
  "elecFuturePaymentMode": "PREPAY",
  "gasFuturePaymentMode": "PREPAY"
}

OnSiteJobsAppointmentType

An appointment linked to a request

Fields

Name Description

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

Name Description

shortName (String)

The short name (first name) of the support user.

Example

{
  "shortName": "abc123"
}

OperationsTeamType

An extension of the GBR OperationsTeamType with OEGB-specific fields.

Fields

Name Description

id (Int)

isAcceptingCalls (Boolean)

isOffline (Boolean)

leader (OperationsTeamLeaderType)

The leader of the operations team.

location (String)

The location of the operations team.

teamName (String)

Example

{
  "id": 1,
  "teamName": "abc123",
  "isOffline": true,
  "isAcceptingCalls": true,
  "location": "abc123",
  "leader": OperationsTeamLeaderType
}

Fields

Name Description

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

OptInToCharityDonation

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-GB-11903: Could not opt in to charity donation.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

amount (CharityDonationAmountChoices!)

Amount that will be donated each month.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "amount": "ONE"
}

OptOutOfCharityDonation

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-GB-11902: Could not opt out of charity donation.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

isOptedOut (Boolean!)

Has the account opted out of donating to charity.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

account (AccountType)

If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.

id (ID!)

The ID of the call.

metadata ([CallMetadataItemType]!)

Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).

Example

{
  "id": "abc123",
  "account": AccountType,
  "metadata": CallMetadataItemType
}

Fields

Name Description

category (AppSessionOutcomeCategory)

reason (String)

type (AppSessionOutcomeType!)

Example

{
  "type": "SALE",
  "category": "SUCCESS",
  "reason": "abc123"
}

PageInfo

The Relay compliant PageInfo type, containing data necessary to paginate this connection.

Fields

Name Description

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

PauseDunning

Pause the dunning process for an account.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11301: Account not in a dunning process for the given path name.
  • KT-CT-11302: No active dunning process found.
  • KT-CT-11303: Multiple active dunning processes found.
  • KT-CT-11304: Dunning pause process failed verifying the dates.
  • KT-CT-11305: Pausing the dunning process failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

pauseCreated (Boolean)

Whether the pause has been successfully created.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Payment

A payment from the customer to the supplier.

Fields

Name Description

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.

paymentTransactionType (AccountPaymentTransactionTypeChoices)

The transaction type of the payment.

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,
  "paymentTransactionType": "DD_FIRST_COLLECTION"
}

PaymentAdequacyDetailsType

Payment adequacy adjusts fixed payment schedules to maintain a healthy ledger balance over a year.

Fields

Name Description

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

Name Description

suggestedDirectDebitAmount (Int)

The suggested monthly payment amount in pence following the payment adequacy review.

Example

{
  "suggestedDirectDebitAmount": 1
}

Fields

Name Description

adjustment (Int)

Temporary amount to cover debt.

ongoing (Int)

Amount which covers ongoing usage.

total (Int)

Total to pay: ongoing + adjustment.

Example

{
  "total": 1,
  "ongoing": 1,
  "adjustment": 1
}

Fields

Name Description

fingerprint (String)

Fingerprint.

isFound (Boolean)

Returns True if the fingerprint exists, Fasle otherwise.

isRiskListed (Boolean)

Returns True if the fingerprint is risk-listed, Fasle otherwise.

Example

{
  "fingerprint": "abc123",
  "isFound": true,
  "isRiskListed": true
}

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PaymentForecastType)

The item at the end of the edge

Example

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

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PaymentInstructionType)

The item at the end of the edge

Example

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

Fields

Name Description

accountUser (AccountUserType)

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

business (BusinessType)

The business who is an owner of this payment instruction.

Example

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

PaymentInstructionType

Payment Instructions

Fields

Name Description

accountHolder (String!)

accountType (String)

bankCode (String)

cardExpiryMonth (Int)

cardExpiryYear (Int)

cardNumber (String!)

cardPaymentNetwork (String)

cardType (String)

iban (String!)

id (ID!)

instructionType (String!)

maskedAccountIdentifier (String)

A masked reference to a recurring payment method.

owners ([PaymentInstructionOwnerType])

The owners of the financial account this instruction represents.

sortCode (String!)

status (String!)

supplementaryLedger (SupplementaryLedgerType)

The supplementary ledger for this payment instruction.

validFrom (DateTime!)

vendor (String!)

Example

{
  "id": "abc123",
  "status": "abc123",
  "sortCode": "abc123",
  "iban": "abc123",
  "accountHolder": "abc123",
  "instructionType": "abc123",
  "cardPaymentNetwork": "abc123",
  "cardExpiryMonth": 1,
  "cardExpiryYear": 1,
  "supplementaryLedger": SupplementaryLedgerType,
  "bankCode": "abc123",
  "accountType": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "vendor": "abc123",
  "cardNumber": "abc123",
  "cardType": "abc123",
  "maskedAccountIdentifier": "abc123",
  "owners": [PaymentInstructionOwnerType]
}

Fields

Name Description

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

Name Description

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

Name Description

amount (Int!)

payableDate (Date!)

paymentType (String)

Example

{
  "payableDate": "2020-01-01",
  "amount": 1,
  "paymentType": "abc123"
}

PaymentPlanType

An object that represents a payment plan.

Fields

Name Description

acceptedAt (DateTime)

account (AccountType!)

id (ID!)

initialScheduleType (String!)

ledgerNumber (String)

The ledger number for this payment plan or None if one does not exist.

nextPayment (PaymentPlanPaymentType)

The next planned payment for this payment plan.

offerExpiresAt (DateTime)

offeredAt (DateTime)

payments ([PaymentPlanPaymentType!]!)

status (String!)

strategyDisplayName (String)

The display name of the strategy used for this payment plan or None if one does not exist.

strategyName (String!)

Example

{
  "id": "abc123",
  "account": AccountType,
  "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",
  "ledgerNumber": "abc123"
}

PaymentPreferenceConnectionTypeConnection

Pagination object for PaymentPreferenceUnion

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PaymentPreferenceUnion)

The item at the end of the edge

Example

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

PaymentRequestConnectionTypeConnection

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

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PaymentRequestType)

The item at the end of the edge

Example

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

Fields

Name Description

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.

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

Name Description

paymentRequest (PaymentRequestConnectionTypeConnection)

A list of payment requests for a given ledger.

Example


Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PaymentScheduleType)

The item at the end of the edge

Example

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

Fields

Name Description

args (JSONString)

The arguments of the delay configuration.

code (String)

The code of the delay configuration.

Example

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

Fields

Name Description

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

Name Description

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.

Deprecated

The 'scheduleType' field is deprecated.

Use paymentPreferences query instead.

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

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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

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

PerformBoostCharge

Initiate a boost charge for an electric vehicle (EV).

This will start charging the EV and will not stop until the battery reaches 100% charged.

If it is not possible to initiate a boost charge, a KT-CT-4357 error will be returned. It may have a boostChargeRefusalReasons extension which lists the reasons why the boost charge was refused. Possible reasons include:

  • BC_DEVICE_NOT_YET_LIVE (device is not yet live)
  • BC_DEVICE_RETIRED (device is retired)
  • BC_DEVICE_SUSPENDED (device is suspended)
  • BC_DEVICE_DISCONNECTED (device is disconnected)
  • BC_DEVICE_NOT_AT_HOME (device is not at home)
  • BC_BOOST_CHARGE_IN_PROGRESS (boost charge already in progress)
  • BC_DEVICE_FULLY_CHARGED (device is already fully charged)

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4356: A boost charge cannot currently be performed.
  • KT-CT-4357: Unable to trigger boost charge.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

PerformMoveOut

The possible errors that can be raised are:

  • KT-GB-6624: An error occurred when trying to process this house move.
  • KT-GB-6625: An error occurred when trying to process this house move.
  • KT-GB-6626: There was an error processing the PSR data.
  • KT-GB-6627: There are missing agent appointments.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (AccountInterface)

Account to perform move out.

newAccount (AccountInterface)

The new account created as part of the move out process.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

PerformTestCharge

Initiate a test charge of an electric vehicle (EV).

This is to ensure that the EV or EVSE (charge point) can be controlled remotely and successfully charged for a short period.

If it is not possible to initiate a test charge, a KT-CT-4355 error will be returned. It may have a testChargeRefusalReasons extension which lists the reasons why the test charge was refused. Possible reasons include:

  • TC_DEVICE_LIVE (device is already live)
  • TC_DEVICE_ONBOARDING_IN_PROGRESS (test dispatch already in progress)
  • TC_DEVICE_RETIRED (device is retired)
  • TC_DEVICE_SUSPENDED (device is suspended)
  • TC_DEVICE_DISCONNECTED (device is disconnected)
  • TC_DEVICE_ALREADY_CHARGING (device is already charging)
  • TC_DEVICE_AWAY_FROM_HOME (device is away from home)
  • TC_DEVICE_NO_LOCATION_CONFIGURED (device has no location configured)
  • TC_DEVICE_LOCATION_UNABLE_TO_IDENTIFY (unable to identify device location)
  • TC_DEVICE_LOCATION_MISSING (device location is missing)

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4362: Device not ready for test charge.
  • KT-CT-4355: Unable to trigger charge.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

Fields

Name Description

attachments (BillingAttachmentConnectionTypeConnection)

billType (BillTypeEnum)

The type of the bill.

closingBalance (Int!)

The closing balance of an issued billing document.

documentDebtPosition (BillingDocumentPositionType)

Position of the billing document in the delinquent debt tracking system.

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.

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,
  "documentDebtPosition": BillingDocumentPositionType
}

Fields

Name Description

accountAllMatches (AccountConnectionTypeConnection!)

All accounts that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first.

accountBestMatch (AccountType)

Our best guess for which account a call with this phone number would be about.

accountUserAllMatches (AccountUserConnectionTypeConnection!)

All account users that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first.

accountUserBestMatch (AccountUserType)

Our best guess for which account user would be calling from this phone number.

Example

{
  "accountBestMatch": AccountType,
  "accountAllMatches": AccountConnectionTypeConnection,
  "accountUserBestMatch": AccountUserType,
  "accountUserAllMatches": AccountUserConnectionTypeConnection
}

Fields

Name Description

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": ActionType,
  "id": "abc123",
  "typename": "abc123"
}

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PortfolioType)

The item at the end of the edge

Example

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

PortfolioType

An object that represents a portfolio.

Fields

Name Description

accounts (AccountConnectionTypeConnection)

The accounts associated with this portfolio.

ancestors (PortfolioConnectionTypeConnection)

The ancestors of the given portfolio.

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.

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,
  "operationsTeam": OperationsTeamType,
  "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

Name Description

id (ID!)

portfolio (PortfolioType!)

Portfolio object.

role (RoleString)

The portfolio role.

user (AccountUserType!)

Example

{
  "id": "abc123",
  "user": AccountUserType,
  "role": RoleString,
  "portfolio": PortfolioType
}

PossibleErrorType

The GraphQL error type for displaying information about GraphQL errors that might be raised from the API.

Fields

Name Description

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

Name Description

authErrors (Boolean)

Whether the possible authentication errors are included.

name (String)

Name of the query/mutation whose possible errors are returned.

possibleErrors ([PossibleErrorType])

List of the errors the query/mutation is susceptible of raising.

type (query_type)

Type of the query (query or mutation).

Example

{
  "name": "abc123",
  "type": "query",
  "authErrors": true,
  "possibleErrors": [PossibleErrorType]
}

PostCredit

The possible errors that can be raised are:

  • KT-CT-5316: Invalid data.
  • KT-CT-5311: The credit reason with the requested code is deprecated.
  • KT-CT-5312: The credit reason with the requested code does not exist.
  • KT-CT-5313: An error occurred whilst posting the credit.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

credit (Credit)

Posted account credit.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "credit": Credit
}

PostEVPublicChargingAccountCharge

Initiate a standalone payment for an account charge.

The possible errors that can be raised are:

  • KT-CT-5813: Invalid data.
  • KT-CT-5815: Invalid data.
  • KT-CT-5817: External Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

accountCharge (AccountChargeType)

Account Charge reference.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountCharge": AccountChargeType
}

PostEVPublicChargingCharge

Initiate a standalone payment for a charging session.

The possible errors that can be raised are:

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

Fields

Name Description

accountCharge (AccountChargeType)

Charging session charge reference.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "accountCharge": AccountChargeType
}

PostEVPublicChargingCredit

The possible errors that can be raised are:

  • KT-CT-5815: Invalid data.
  • KT-CT-5816: Invalid data.
  • KT-CT-5817: External Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

credit (Credit)

Posts an EV Public charging credit.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "credit": Credit
}

Power

Describes the power (not energy) being consumed (as electricity) or returned (as heat) by the system at a given point in time.

Differs from Energy in that it describes the rate at which energy is being transferred at a given point in time.

Fields

Name Description

unit (PowerUnit!)

The units in which the power is being measured.

value (Decimal)

The amount of power (not energy) transmitted to or from the heat pump.

Example

{
  "value": "1.0",
  "unit": "KILOWATT"
}

Fields

Name Description

attachments (BillingAttachmentConnectionTypeConnection)

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.

identifier (String)

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

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,
  "identifier": "abc123",
  "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

Name Description

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

Name Description

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

Name Description

accountNumber (String)

The account number of the newly created account or the existing account to be re-used.

isNewAccount (Boolean)

Was a new account created.

isNewUser (Boolean)

Was a new user created.

userId (ID)

The ID of the newly created or existing account user.

Example

{
  "isNewAccount": true,
  "accountNumber": "abc123",
  "isNewUser": true,
  "userId": "abc123"
}

PrepayBalanceSnapshotType

A snapshot of a prepay meter's credit and debt balance at a given point in time.

Fields

Name Description

asAt (DateTime!)

creditInPence (Int!)

debtInPence (Int!)

emergencyCreditInPence (Int)

Example

{
  "creditInPence": 1,
  "debtInPence": 1,
  "emergencyCreditInPence": 1,
  "asAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

createdDate (Date!)

id (ID!)

netAmount (BigInt!)

reason (String)

The reason assigned to the Balance Transfer that originated the credit.If this endpoint is used to display prepay top-ups, then transfers with reason PREPAYBILLINGDUMPINFLIGHT_CREDIT must be excluded as these are transfers made during prepay billing after a credit removal and they are not top-ups.

smartPrepayProcessStatus (SmartPrepayProcessStatusChoices)

smartPrepayStatus (SmartPrepayPaymentStatusChoices)

Deprecated

The 'smartPrepayStatus' field is deprecated.


Please use the 'smartPrepayProcessStatus' type instead for a more granular status.


- Marked as deprecated on 2023-09-05.
- Scheduled for removal on or after 2024-01-01.

utrn (String)

Example

{
  "id": "abc123",
  "netAmount": 1,
  "createdDate": "2020-01-01",
  "smartPrepayStatus": "UTRN_REQUESTED",
  "smartPrepayProcessStatus": "NOT_STARTED",
  "utrn": "abc123",
  "reason": "abc123"
}

PrepayLedgersType

The ledgers associated to a prepayment meter. There are three types: a credit ledger for mirroring the meter's credit balance, a debt ledger for mirroring the meter's debt balance and payment ledger which is the inflight payments that we have not yet managed to resolve on the other two ledgers.

Fields

Name Description

creditLedger (SupplementaryLedgerType)

Override Field to add additional attributes and extend description with possible_errors

debtLedger (SupplementaryLedgerType)

Override Field to add additional attributes and extend description with possible_errors

paymentLedger (PrepayPaymentLedgerType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "creditLedger": SupplementaryLedgerType,
  "debtLedger": SupplementaryLedgerType,
  "paymentLedger": PrepayPaymentLedgerType
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([PrepayPaymentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

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

PrepayPaymentConnectionTypeEdge

A Relay edge containing a PrepayPaymentConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (PrepayPaymentType)

The item at the end of the edge

Example

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

PrepayPaymentLedgerType

The in-flight payment ledger tracks the status of payments made to a prepay meter.

Fields

Name Description

creditTransfers ([PrepayCreditTransferType])

Transfers of credit from the account ledger to a smart prepay meter.

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

payments ([PrepayPaymentType])

Payments made to add credit to a smart prepay meter.

Example

{
  "id": "abc123",
  "name": "abc123",
  "ledgerType": "abc123",
  "number": "abc123",
  "currentBalance": 1,
  "paymentAdequacy": PaymentAdequacyDetailsType,
  "payments": [PrepayPaymentType],
  "creditTransfers": [PrepayCreditTransferType]
}

Fields

Name Description

amount (BigInt!)

Amount of payment in pence

id (ID!)

meter (Meter)

paymentDate (Date!)

The date this payment is scheduled to be debited

smartPrepayProcessStatus (SmartPrepayProcessStatusChoices)

smartPrepayStatus (SmartPrepayPaymentStatusChoices)

Deprecated

The 'smartPrepayStatus' field is deprecated.


Please use the 'smartPrepayProcessStatus' type instead for a more granular status.


- Marked as deprecated on 2023-09-05.
- Scheduled for removal on or after 2024-01-01.

utrn (String!)

Example

{
  "id": "abc123",
  "amount": 1,
  "paymentDate": "2020-01-01",
  "smartPrepayStatus": "UTRN_REQUESTED",
  "smartPrepayProcessStatus": "NOT_STARTED",
  "utrn": "abc123",
  "meter": Meter
}

Fields

Name Description

description (String)

displayName (String)

fullName (String)

id (ID)

isExport (Boolean)

Whether the tariff is for exporting energy.

preVatStandingCharge (Float)

preVatUnitRate (Float)

productCode (String)

standingCharge (Float)

tariffCode (String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

unitRate (Float)

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123",
  "isExport": true,
  "unitRate": 1.0,
  "preVatUnitRate": 1.0
}

PriceForStream

Rate group prices for a product.

Fields

Name Description

characteristicMapping (JSONString!)

The characteristic mapping for the price.

price (Decimal!)

The price per unit.

schemeLabels (JSONString)

The scheme labels for the price.

Example

{
  "characteristicMapping": {"key": "value"},
  "schemeLabels": {"key": "value"},
  "price": "1.0"
}

Fields

Name Description

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

Name Description

filename (String!)

id (ID!)

s3Bucket (String!)

s3Key (String!)

temporaryUrl (String)

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

Example

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

PrintBatchType

Represents print batch details

Fields

Name Description

id (ID!)

messages (PrintMessageTypeConnection)

Messages in a print batch.

status (PrintBatchStatus)

The status of the print batch.

Example

{
  "id": "abc123",
  "status": "OPEN",
  "messages": PrintMessageTypeConnection
}

Fields

Name Description

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

Name Description

account (AccountType)

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": AccountType,
  "attachments": [PrintAttachmentType],
  "highPriority": true
}

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (PrintMessageType)

The item at the end of the edge

Example

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

ProductEligibilityType

Product eligibility verification result object.

Fields

Name Description

ineligibilityReasons ([ProductIneligibilityReasonDetails])

List of product ineligibility reasons.

isEligible (Boolean!)

Whether customer is eligible for product.

Example

{
  "isEligible": true,
  "ineligibilityReasons": [ProductIneligibilityReasonDetails]
}

ProductEnrolmentCandidateEligibilityType

Response type for eligibility checks run on a product enrolment candidate.

Fields

Name Description

candidate (ProductEnrolmentCandidateType!)

The candidate who has been evaluated for product enrolment.

eligibility (ProductEligibilityType!)

The result of the product eligibility check for the candidate.

Example

{
  "candidate": ProductEnrolmentCandidateType,
  "eligibility": ProductEligibilityType
}

ProductEnrolmentCandidateType

Represents a candidate for product enrolment, represented as a set of meter point mpxns.

Fields

Name Description

exportMpan (String)

The MPAN for the export electricity meter point.

gasMprn (String)

The MPRN for the gas meter point.

importMpan (String)

The MPAN for the import electricity meter point.

Example

{
  "importMpan": "abc123",
  "exportMpan": "abc123",
  "gasMprn": "abc123"
}

Fields

Name Description

name (String)

The name of the stage.

status (EnrolmentStepStatus)

The current status of the stage.

steps ([ProductEnrolmentStepType])

The steps that are part of the enrolment stage.

Example

{
  "name": "abc123",
  "status": "SKIPPED",
  "steps": [ProductEnrolmentStepType]
}

Fields

Name Description

displayName (String)

The name of the step.

status (EnrolmentStepStatus)

The current status of the step.

updatedAt (DateTime)

The date time that the step was last updated.

Example

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

Fields

Name Description

account (AccountType!)

electricityMeterPoint (ElectricityMeterPointType)

The electricity meter point associated with the enrolment.

gasMeterPoint (GasMeterPointType)

The gas meter point associated with the enrolment.

id (ID!)

product (EnergyProductType)

The product associated with the enrolment.

stages ([ProductEnrolmentStageType])

The stages that are part of the enrolment.

status (EnrolmentStatus!)

Example

{
  "id": "abc123",
  "account": AccountType,
  "status": "NOT_STARTED",
  "product": EnergyProductType,
  "electricityMeterPoint": ElectricityMeterPointType,
  "gasMeterPoint": GasMeterPointType,
  "stages": [ProductEnrolmentStageType]
}

Fields

Name Description

code (String)

Ineligibility reason code.

description (String)

Customer ineligibility reason description.

Example

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

ProductRateOverrideConfigurationType

Configuration for Product Rate Override Configuration term.

Fields

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

indexationOptions (IndexationOptionsType)

The indexation options for the product rate override configuration.

isVariable (Boolean)

Whether the term is variable.

schedules ([ProductRateOverrideScheduleType])

The schedules for the product rate override configuration.

type (NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "indexationOptions": IndexationOptionsType,
  "schedules": [ProductRateOverrideScheduleType]
}

ProductRateOverrideItemType

Item for Product Rate Override Configuration term.

Fields

Name Description

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

Name Description

effectiveFrom (DateTime)

The effective from date for the product rate override schedule.

items ([ProductRateOverrideItemType])

The items for the product rate override schedule.

Example

{
  "items": [ProductRateOverrideItemType],
  "effectiveFrom": "2020-01-01T00:00:00.000Z"
}

ProductRateType

A single product rate.

Fields

Name Description

bandCategory (String)

The band category of the product rate.

bandSubcategory (String!)

gsp (String)

The gsp of the product rate.

paymentMethod (String)

The payment_method of the product rate.

pricePerUnit (Decimal!)

validFrom (DateTime)

validTo (DateTime)

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "bandCategory": "abc123",
  "bandSubcategory": "abc123",
  "pricePerUnit": "1.0",
  "gsp": "abc123",
  "paymentMethod": "abc123"
}

Fields

Name Description

additionals (String)

annualStandingCharge (Decimal!)

assumedAnnualConsumptionDay (Int!)

assumedAnnualConsumptionNight (Int!)

consumptionDistributionCoefficients (ConsumptionDistributionCoefficients)

Some tariffs expect customers to alter their usage patterns (e.g. EV tariffs) so will redistribute total consumption accordingly.

estimatedAnnualCost (Int)

exitFees (Int)

exitFeesType (String)

paymentMethod (PaymentMethods!)

Override Field to add additional attributes and extend description with possible_errors

priceGuaranteedUntil (String!)

standingCharge (Decimal!)

supplier (String!)

tariffCode (String!)

tariffComparisonRate (Decimal)

tariffDisplayName (String!)

tariffEndsOn (String!)

tariffFullName (String!)

tariffType (String!)

unitRateDay (Decimal!)

unitRateNight (Decimal!)

Example

{
  "supplier": "abc123",
  "tariffFullName": "abc123",
  "tariffDisplayName": "abc123",
  "tariffType": "abc123",
  "tariffCode": "abc123",
  "tariffEndsOn": "abc123",
  "paymentMethod": "DIRECT_DEBIT",
  "priceGuaranteedUntil": "abc123",
  "exitFees": 1,
  "exitFeesType": "abc123",
  "additionals": "abc123",
  "tariffComparisonRate": "1.0",
  "estimatedAnnualCost": 1,
  "annualStandingCharge": "1.0",
  "standingCharge": "1.0",
  "unitRateDay": "1.0",
  "unitRateNight": "1.0",
  "assumedAnnualConsumptionDay": 1,
  "assumedAnnualConsumptionNight": 1,
  "consumptionDistributionCoefficients": ConsumptionDistributionCoefficients
}

Fields

Name Description

additionals (String)

annualStandingCharge (Decimal!)

assumedAnnualConsumption (Int!)

estimatedAnnualCost (Int)

exitFees (Int)

exitFeesType (String)

paymentMethod (PaymentMethods!)

Override Field to add additional attributes and extend description with possible_errors

priceGuaranteedUntil (String!)

standingCharge (Decimal!)

supplier (String!)

tariffCode (String!)

tariffComparisonRate (Decimal)

tariffDisplayName (String!)

tariffEndsOn (String!)

tariffFullName (String!)

tariffType (String!)

unitRate (Decimal!)

Example

{
  "supplier": "abc123",
  "tariffFullName": "abc123",
  "tariffDisplayName": "abc123",
  "tariffType": "abc123",
  "tariffCode": "abc123",
  "tariffEndsOn": "abc123",
  "paymentMethod": "DIRECT_DEBIT",
  "priceGuaranteedUntil": "abc123",
  "exitFees": 1,
  "exitFeesType": "abc123",
  "additionals": "abc123",
  "tariffComparisonRate": "1.0",
  "estimatedAnnualCost": 1,
  "annualStandingCharge": "1.0",
  "standingCharge": "1.0",
  "unitRate": "1.0",
  "assumedAnnualConsumption": 1
}

Fields

Name Description

additionals (String)

annualStandingCharge (Decimal!)

assumedAnnualConsumptionDay (Int!)

assumedAnnualConsumptionNight (Int!)

assumedAnnualConsumptionOffPeak (Int!)

estimatedAnnualCost (Int)

exitFees (Int)

exitFeesType (String)

paymentMethod (PaymentMethods!)

Override Field to add additional attributes and extend description with possible_errors

priceGuaranteedUntil (String!)

standingCharge (Decimal!)

supplier (String!)

tariffCode (String!)

tariffComparisonRate (Decimal)

tariffDisplayName (String!)

tariffEndsOn (String!)

tariffFullName (String!)

tariffType (String!)

unitRateDay (Decimal!)

unitRateNight (Decimal!)

unitRateOffPeak (Decimal!)

Example

{
  "supplier": "abc123",
  "tariffFullName": "abc123",
  "tariffDisplayName": "abc123",
  "tariffType": "abc123",
  "tariffCode": "abc123",
  "tariffEndsOn": "abc123",
  "paymentMethod": "DIRECT_DEBIT",
  "priceGuaranteedUntil": "abc123",
  "exitFees": 1,
  "exitFeesType": "abc123",
  "additionals": "abc123",
  "tariffComparisonRate": "1.0",
  "estimatedAnnualCost": 1,
  "annualStandingCharge": "1.0",
  "standingCharge": "1.0",
  "unitRateDay": "1.0",
  "unitRateNight": "1.0",
  "unitRateOffPeak": "1.0",
  "assumedAnnualConsumptionDay": 1,
  "assumedAnnualConsumptionNight": 1,
  "assumedAnnualConsumptionOffPeak": 1
}

Fields

Name Description

index (AchievedRegionalCarbonIndexChoices)

Index of carbon intensity ('low', 'high', etc.).

periodStart (DateTime)

Start of the half hourly carbon intensity projection period.

value (Float)

Carbon intensity value.

Example

{
  "periodStart": "2020-01-01T00:00:00.000Z",
  "value": 1.0,
  "index": "VERY_LOW"
}

Fields

Name Description

projectedRegionalCarbonIntensity ([ProjectedRegionalCarbonIntensitiesType])

List of projected regional carbon intensity values.

Example

{
  "projectedRegionalCarbonIntensity": [ProjectedRegionalCarbonIntensitiesType]
}

Fields

Name Description

addressLine1 (String!)

addressLine2 (String!)

country (String!)

county (String!)

postcode (String!)

town (String!)

Example

{
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "town": "abc123",
  "county": "abc123",
  "country": "abc123",
  "postcode": "abc123"
}

Fields

Name Description

administrativeArea (String)

Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture.

AU: Australia

This must be one of NSW, VIC, QLD, TAS, ACT, SA, NT, WA. For addresses not within these locations, use the value that Australia Post uses, e.g. ACT for the Jervis Bay Territory or WA for Christmas Island.

country (String)

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

deliveryPointIdentifier (String)

Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point.

This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers.

dependentLocality (String)

UK dependent localities, or neighbourhoods or boroughs in some other locations.

locality (String)

City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town.

name (String)

A personal name.

organization (String)

The name of a business or organisation.

postalCode (String)

Postal code (ZIP code in the US).

sortingCode (String)

Sorting code, e.g. FR CEDEX code. This field is not used in many countries.

streetAddress (String)

The 'street address' component.

This value can (and often will) contain newline characters when appropriate.

In some cases, data may appear in this field instead of the below fields; e.g. a UK post town name may appear here instead of in the dependent_locality field. This happens when data has been migrated from a legacy format, and that format had insufficient metadata to determine the appropriate field.

If structured_street_address is also set, the value of this field will be a string generated from that value.

structuredStreetAddress (GenericScalar)

The 'street address' component, in a structured format.

This field stores the same value as street_address, but with more detail; for instance, instead of 123 Example Street it might be {'street_number': '123', 'street_name': 'Example', 'street_type': 'Street'}. In many cases this will be blank; we only use this field for Krakens where we need to supply this level of granularity to some third-party service, like a bulk mail provider.

The exact structure of this value depends on the country of the address, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank.

AU: Australia

The following keys may be present; all are optional. All keys have string values, and their meaning is the same as their aseXML counterparts. (Note that, unlike aseXML, all keys are provided at the top level, rather than being nested.)

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • building_or_property_name
  • location_descriptor
  • lot_number
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_name
  • street_type
  • street_suffix
  • postal_delivery_type
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

JP: Japan

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • chome
  • banchi
  • go
  • edaban
  • kana_building_name
  • kanji_building_name
  • building_number
  • room_number
  • address_code
  • physical_location_identifier
  • kana_company_name
  • kanji_company_name

NZ: New Zealand

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • property_name
  • building_name
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_prefix
  • street_name
  • street_type
  • street_suffix
  • rural_delivery_number
  • mailtown
  • postal_delivery_type
  • postal_delivery_location
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

Example

{
  "name": "abc123",
  "organization": "abc123",
  "streetAddress": "abc123",
  "structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "dependentLocality": "abc123",
  "locality": "abc123",
  "administrativeArea": "abc123",
  "postalCode": "abc123",
  "sortingCode": "abc123",
  "country": "abc123",
  "deliveryPointIdentifier": "abc123"
}

Fields

Name Description

property (PropertyType!)

The matched property.

score (Decimal!)

A score representing the degree of confidence for a match.

Example

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

PropertyType

Represents a property. Conceptually, it collects supply points under an address.

Fields

Name Description

address (String)

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

availableSmets2InstallationTimeslots ([Smets2InstallationTimeslotType])

Timeslots for which the property has the possibility to book a smart-meter installation.

coordinates (CoordinatesType)

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

electricityMeterPoints ([ElectricityMeterPointType])

Retrieve the details of electricity meter-points for a property.

embeddedNetwork (EmbeddedNetworkType)

The embedded network this property belongs to, if any.

gasMeterPoints ([GasMeterPointType])

Retrieve the details of gas meter-points for a property.

id (String)

isChangeOfTenancyOngoing (Boolean)

isSmets2InstallationAllowed (Boolean)

Indicates if the property meets smart meter install preconditions.

label (String)

An optional label for the property.

measurements (MeasurementConnection)

Measurements at a property

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

richAddress (PropertyRichAddressType)

Property rich address.

smartDeviceNetworks ([SmartMeterDeviceNetworkType])

Retrieve any smartmeter devices connected to the property.

splitAddress ([String])

List of address lines.

wanCoverage (WANCoverageStrengths)

Likelihood that a smart meter at the given postcode and address will get a stable network connection.

Example

{
  "id": "abc123",
  "postcode": "abc123",
  "address": "abc123",
  "richAddress": PropertyRichAddressType,
  "splitAddress": ["abc123"],
  "label": "abc123",
  "occupancyPeriods": [OccupancyPeriodType],
  "coordinates": CoordinatesType,
  "embeddedNetwork": EmbeddedNetworkType,
  "measurements": MeasurementConnection,
  "smartDeviceNetworks": [SmartMeterDeviceNetworkType],
  "isChangeOfTenancyOngoing": true,
  "isSmets2InstallationAllowed": true,
  "electricityMeterPoints": [ElectricityMeterPointType],
  "gasMeterPoints": [GasMeterPointType],
  "wanCoverage": "HIGH",
  "availableSmets2InstallationTimeslots": [Smets2InstallationTimeslotType]
}

Fields

Name Description

oauthUri (String!)

OAuth 2.0 URI for the provider.

Example

{
  "oauthUri": "abc123"
}

ProviderVirtualKeyDetailsType

Details of a public key that can be added to devices for end-to-end authentication or encryption.

E.g. for Tesla the user visits a URL and the name can be used to show what the key is called. https://github.com/teslamotors/vehicle-command#distributing-your-public-key

Fields

Name Description

virtualKeyName (String!)

Friendly human-readable name for the virtual key.

virtualKeyUri (String!)

URI for the virtual key.

Example

{
  "virtualKeyName": "abc123",
  "virtualKeyUri": "abc123"
}

Fields

Name Description

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

Name Description

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

Name Description

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

Fields

Name Description

awsIotHostname (String)

The AWS IoT endpoint hostname to connect to AWS APIs & services.

certificate (String)

The certificate which the controller will present to AWS IoT in order to validate its provisioning claim. It will contain the public key of the controller, and be signed by KF.

encryptedPrivateKey (String)

This is the private key which will be used by the controller to make the provisioning claim, encrypted with the public key of the controller.

Example

{
  "certificate": "abc123",
  "encryptedPrivateKey": "abc123",
  "awsIotHostname": "abc123"
}

Fields

Name Description

cost (Money)

The cost for the charge added during a charging session.

end (DateTime!)

The end time of a charging session.

energyAdded (Energy)

The energy added during a charging session.

location (String!)

Location of the charging session.

operatorImageUrl (String)

URL of the operator image.

start (DateTime!)

The start time of a charging session.

stateOfChargeChange (Decimal)

The change in state of charge during a charging session. The value will be between 0 and 100, if not null.

stateOfChargeFinal (Decimal)

The final state of charge after a charging session. The value will be between 0 and 100, if not null.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z",
  "stateOfChargeChange": "1.0",
  "stateOfChargeFinal": "1.0",
  "energyAdded": Energy,
  "cost": Money,
  "location": "abc123",
  "operatorImageUrl": "abc123"
}

PublishTransactionalMessagingExternalTrigger

Publish an externally defined transactional messaging trigger.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-5421: Account user not found.
  • KT-CT-9901: Invalid trigger type code.
  • KT-CT-9905: Top-level context fields are missing.
  • KT-CT-9906: Template variables do not match the defined schema.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

trigger (Trigger)

The trigger that has been published.

Example

{
  "possibleErrors": [PossibleErrorType],
  "trigger": Trigger
}

PublishTransactionalMessagingTrigger

Publish a trigger within the transactional messaging service.

The possible errors that can be raised are:

  • KT-CT-9901: Invalid trigger type code.
  • KT-CT-9902: Invalid trigger type params.
  • KT-CT-9903: Trigger type cannot be published externally.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

trigger (Trigger)

The trigger that has been published.

Example

{
  "possibleErrors": [PossibleErrorType],
  "trigger": Trigger
}

PushNotificationBindingType

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

Fields

Name Description

application (NotifiableApplicationType!)

expiresAt (DateTime!)

id (ID!)

messages ([SMSMessageType!]!)

registeredAt (DateTime!)

token (String!)

user (AccountUserType!)

Example

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

Fields

Name Description

complexityValue (Int)

The complexity of the query.

Example

{
  "complexityValue": 1
}

QuoteAccountOnProducts

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

quoteRequest (QuoteRequest)

The generated quote.

Example

{
  "possibleErrors": [PossibleErrorType],
  "quoteRequest": QuoteRequest
}

Fields

Name Description

addressLine1 (String)

addressLine2 (String)

addressLine3 (String)

Example

{
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123"
}

QuoteCampaignOffer

Quote a given account on a campaign offer.

Fields

Name Description

quoteCode (String)

Example

{
  "quoteCode": "abc123"
}

Fields

Name Description

costs (JSONString)

The cost for quoting this product.

createdAt (DateTime)

The date and time when the quote component was created.

identifier (ID)

Identifier of the Quote.

productComponentIdentifier (ID)

Identifier of the Product Component.

quotingParamsInputData (JSONString)

The input data used for quoting this product component.

Example

{
  "identifier": "abc123",
  "productComponentIdentifier": "abc123",
  "costs": {"key": "value"},
  "quotingParamsInputData": {"key": "value"},
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

quoteRequest (QuoteRequest)

The generated quote.

Example

{
  "quoteRequest": QuoteRequest
}

QuoteNewMeterPointsOnBespokeProducts

The possible errors that can be raised are:

  • KT-CT-4616: Unable to create a quote.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

quoteRequest (QuoteRequest)

The generated quote.

Example

{
  "possibleErrors": [PossibleErrorType],
  "quoteRequest": QuoteRequest
}

Fields

Name Description

code (String!)

The code of the created quote.

createdAt (DateTime)

electricitySupplyPoints ([ElectricitySupplyPoint])

List of electricity supply points and their quoted products.

gasSupplyPoints ([GasSupplyPoint])

List of gas supply points and their quoted products.

termsAndConditions ([TermsAndConditions])

List of terms and conditions for this quote.

Example

{
  "electricitySupplyPoints": [ElectricitySupplyPoint],
  "gasSupplyPoints": [GasSupplyPoint],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "termsAndConditions": [TermsAndConditions],
  "code": "abc123"
}

Fields

Name Description

createdAt (DateTime)

electricitySupplyPoints ([ElectricitySupplyPoint])

List of electricity supply points and their quoted products.

gasSupplyPoints ([GasSupplyPoint])

List of gas supply points and their quoted products.

termsAndConditions ([TermsAndConditions])

List of terms and conditions for this quote.

Example

{
  "electricitySupplyPoints": [ElectricitySupplyPoint],
  "gasSupplyPoints": [GasSupplyPoint],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "termsAndConditions": [TermsAndConditions]
}

Fields

Name Description

address (QuoteAddressType)

code (String)

consumptionEstimates (ConsumptionEstimates)

Deprecated. Use the consumptionEstimates query instead.

Deprecated

The 'consumption_estimates' field is deprecated.

Please use the `consumptionEstimates` query instead.

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

elecAnnualConsumptionDay (Int)

In kWh

elecAnnualConsumptionNight (Int)

In kWh

elecAnnualConsumptionStandard (Int)

In kWh

elecEstimate (Boolean!)

gasAnnualConsumption (Int)

In kWh

gasEstimate (Boolean!)

gspGroupId (String)

includesElectricity (Boolean!)

includesGas (Boolean!)

isBusiness (Boolean!)

latitude (Float)

longitude (Float)

meterType (MeterTypes)

The meter type for the quote.

mpan (String!)

mprn (String)

partnerProductId (Int)

paymentMethod (QuotePaymentMethod!)

postcode (String!)

quotedProducts ([QuotedProductType])

A list of the products that have been quoted for the usage provided at the time the quote was created.

termsAndConditions (TermsAndConditionsType)

Example

{
  "code": "abc123",
  "postcode": "abc123",
  "gspGroupId": "abc123",
  "includesElectricity": true,
  "includesGas": true,
  "isBusiness": true,
  "meterType": "NO_METER",
  "mpan": "abc123",
  "paymentMethod": "DIRECTDEBIT",
  "elecAnnualConsumptionStandard": 1,
  "elecAnnualConsumptionDay": 1,
  "elecAnnualConsumptionNight": 1,
  "elecEstimate": true,
  "gasAnnualConsumption": 1,
  "gasEstimate": true,
  "partnerProductId": 1,
  "latitude": 1.0,
  "longitude": 1.0,
  "address": QuoteAddressType,
  "consumptionEstimates": ConsumptionEstimates,
  "quotedProducts": [QuotedProductType],
  "termsAndConditions": TermsAndConditionsType,
  "mprn": "abc123"
}

Fields

Name Description

createdAt (DateTime)

The date and time when the quote was created.

createdBy (ActorType)

The Actor who created the Quote.

identifier (ID)

Identifier of the Quote.

productOfferingIdentifier (ID)

The product offering identifier this Quote is related to.

quoteComponents ([QuoteComponentType])

Quote components of this quote.

Example

{
  "identifier": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "productOfferingIdentifier": "abc123",
  "quoteComponents": [QuoteComponentType],
  "createdBy": ActorType
}

Fields

Name Description

allowedSupplyStartDates ([Date])

A list of dates allowable to start supply of the quoted product.

annualAmount (Int)

Estimated cost in pence of the product over a year based on the quoted usage.

annualSaving (Int)

Estimated saving in pence vs the 'Big 6' of the product over a year based on the quoted usage.

co2SavingInKg (Int)

The amount of co2 saved per year when this product is chosen.

description (String!)

elecTariffCode (String!)

electricityTariffInformationLabel (TariffInformationLabelType)

Electricity tariff information label (TIL) provides standardised information between suppliers about a tariff.

gasTariffCode (String!)

gasTariffInformationLabel (TariffInformationLabelStandard)

Gas tariff information label (TIL) provides standardised information between suppliers about a tariff.

id (ID!)

includesCarbonOffsetting (Boolean)

isVariable (Boolean)

Whether or not this is a variable product.

monthlyAmount (Int)

Estimated cost in pence of the product per month based on the quoted usage.

name (String!)

product (EnergyProductType)

recommended (Boolean!)

treesSaving (Int)

The number of trees it would take to offset the amount of co2 that is saved per year when this product is chosen.

Example

{
  "id": "abc123",
  "name": "abc123",
  "description": "abc123",
  "product": EnergyProductType,
  "recommended": true,
  "monthlyAmount": 1,
  "annualAmount": 1,
  "annualSaving": 1,
  "elecTariffCode": "abc123",
  "gasTariffCode": "abc123",
  "electricityTariffInformationLabel": TariffInformationLabelType,
  "gasTariffInformationLabel": TariffInformationLabelStandard,
  "isVariable": true,
  "allowedSupplyStartDates": ["2020-01-01"],
  "co2SavingInKg": 1,
  "treesSaving": 1,
  "includesCarbonOffsetting": true
}

Fields

Name Description

mpan (String!)

The MPAN of the meter point.

type (String!)

The type of meter point.

Example

{
  "mpan": "abc123",
  "type": "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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

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

RateGroupPrices

Rate group prices for a product.

Fields

Name Description

prices ([PriceForStream!]!)

The prices for the rate group.

rateGroup (String!)

The rate group code.

Example

{
  "rateGroup": "abc123",
  "prices": PriceForStream
}

ReadInventory

Triggers an asynchronous request through the DCC adapter to read the Smart Metering Inventory.

Returns a request reference that can be used to track the status of the request.

The possible errors that can be raised are:

  • KT-GB-4021: Invalid MPxN.
  • KT-GB-4024: The provided device ID does not match any devices known by Kraken.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

The reference for the associated request in Kraken.

Example

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

Fields

Name Description

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

Fields

Name Description

granularityValue (String)

Reading consent granularity value.

Example

{
  "granularityValue": "abc123"
}

ReadingsConnection

Pagination for utility usage readings.

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (Reading)

The item at the end of the edge

Example

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

ReauthenticateDevice

Re-authenticate a device. The authentication details provided must be for the same device as was previously authenticated.

The possible errors that can be raised are:

  • KT-CT-4313: Could not find KrakenFlex device.
  • KT-CT-4314: Unable to get provider details.
  • KT-CT-4315: Unable to re-authenticate device.
  • KT-CT-4363: No capable devices found.
  • KT-CT-4364: Multiple devices found.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

RebootHeatingController

Reboot a heating controller.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionId (ID)

The unique ID associated with this reboot operation.

Example

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

RecordDepositAgreementAccepted

Record the customer's acceptance of a deposit agreement.

The possible errors that can be raised are:

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

Fields

Name Description

isRecorded (Boolean)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

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": ActionType,
  "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

Name Description

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean!)

Whether or not the request was successful.

Example

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

ReferralClaimCodeType

Referral claim code is a way of claiming promotional benefit coming from the partner-reward referral schemes.

Fields

Name Description

accountReferral (ReferralType)

Account referral associated with the claim code.

createdAt (DateTime)

Datetime when claim code was generated.

id (Int)

Id of claim code instance.

referralScheme (ReferralSchemeType)

Referral scheme claim code belongs to.

value (String)

Value of claim code.

Example

{
  "id": 1,
  "value": "abc123",
  "referralScheme": ReferralSchemeType,
  "accountReferral": ReferralType,
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

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

Name Description

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

Name Description

canBeReferred (Boolean)

Whether the current account is eligible to be referred under this scheme.

code (String)

The unique code for the scheme.

combinedRewardAmount (Int)

The reward amount received by the referrer and the referee combined.

isUsageAtCapacity (Boolean)

True if the the scheme has limit of uses, and if the usage is at capacity.

loyaltyPointsBonus (Int)

The number of loyalty points to be awarded to the referrer in addition to the reward amount.

maxRecurrence (Int)

Max number of times this referral code can be credited to a given account.

referralDisplayUrl (String)

A referral url for display purposes.

referralUrl (String)

A fully qualified url give people to create accounts referred by this scheme.

referredRewardAmount (Int)

The reward amount received by the referred party.

referrerFamilyName (String)

The family name of the person making the referral.

Deprecated

The 'referrerFamilyName' field is deprecated.

Only make use of the referrerGivenName for privacy reasons.

- Marked as deprecated on 2022-11-07.
- Scheduled for removal on or after 2023-01-07.

referrerGivenName (String)

The given name of the person making the referral.

referrerRewardAmount (Int)

The reward amount received by the referrer.

schemeType (String)

Scheme type of the referral scheme.

Example

{
  "referralUrl": "abc123",
  "referralDisplayUrl": "abc123",
  "referrerRewardAmount": 1,
  "referredRewardAmount": 1,
  "combinedRewardAmount": 1,
  "loyaltyPointsBonus": 1,
  "canBeReferred": true,
  "code": "abc123",
  "referrerGivenName": "abc123",
  "referrerFamilyName": "abc123",
  "schemeType": "abc123",
  "maxRecurrence": 1,
  "isUsageAtCapacity": true
}

Fields

Name Description

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

Name Description

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",
  "code": "abc123",
  "referredUserName": "abc123",
  "paymentStatus": "abc123",
  "referredUserJoinDate": "2020-01-01T00:00:00.000Z",
  "referredUserPaymentAmount": 1,
  "referringUserPaymentAmount": 1,
  "combinedPaymentAmount": 1
}

RefreshQuote

The possible errors that can be raised are:

  • KT-GB-4612: Unable to refresh quote - quote not found.
  • KT-GB-4613: Error generating quote.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

quote (QuoteType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "quote": QuoteType
}

RefreshToken

An opaque token that can be used to renew a Kraken Token.

Fields

Name Description

expiryDt (DateTime!)

The datetime when the token will expire.

isValid (Boolean)

key (String!)

Example

{
  "key": "abc123",
  "expiryDt": "2020-01-01T00:00:00.000Z",
  "isValid": true
}

Refund

A refund to the customer from the energy supplier.

Fields

Name Description

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

RefundPayment

The possible errors that can be raised are:

  • KT-CT-3924: Unauthorized.
  • KT-CT-3928: Idempotency key used for another repayment request.
  • KT-CT-3929: The payment is not in a refundable state.
  • KT-CT-3933: Refund amount greater than payment amount.
  • KT-CT-3937: Payment not eligible for refund.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

repayment (AccountRepaymentType)

The repayment for the requested refund.

Example

{
  "possibleErrors": [PossibleErrorType],
  "repayment": AccountRepaymentType
}

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (RefundPaymentRequestType)

The item at the end of the edge

Example

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

Fields

Name Description

requestedAmountToReturn (Int)

The requested refund amount which was submitted in the repayment.

Example

{
  "requestedAmountToReturn": 1
}

RegenerateSecretKey

Regenerate the user's API key.

Fields

Name Description

key (String!)

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

viewer (AccountUserType)

The currently authenticated user.

Example

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

RegisterOpportunityFlowStatusEvent

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType]
}

Fields

Name Description

pushNotificationBinding (PushNotificationBindingType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "pushNotificationBinding": PushNotificationBindingType
}

Fields

Name Description

digits (Int)

identifier (String)

isQuarantined (Boolean)

name (String)

value (String)

Example

{
  "identifier": "abc123",
  "name": "abc123",
  "value": "abc123",
  "digits": 1,
  "isQuarantined": true
}

RegisterSmartDevice

A request sent to notify Kraken of a new device, which will be prenotified to the adapter.

Fields

Name Description

requestReference (String)

The reference for the associated request in Kraken.

Example

{
  "requestReference": "abc123"
}

Fields

Name Description

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

RemoveCampaignFromAccount

The possible errors that can be raised are:

  • KT-CT-7424: Failed to remove campaign from account.
  • KT-CT-7426: The account is not part of the given campaign.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

campaignRemoved (Boolean)

Whether the campaign was successfully removed from the account.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

RemoveCampaignItems

The possible errors that can be raised are:

  • KT-CT-11501: Voice campaign not found.
  • KT-CT-11502: Cannot remove items from multiple campaigns at once.
  • KT-CT-11505: Voice campaign item not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

campaignItems ([VoiceCampaignItemType])

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "campaignItems": [VoiceCampaignItemType]
}

RemoveConsumerDevice

Remove a consumer device from the CHF/HAN. Currently limited to only CAD devices.

The possible errors that can be raised are:

  • KT-GB-4012: Unable to find the CAD device.
  • KT-GB-4032: Error sending the request to remove the device.
  • KT-GB-4013: Received invalid device type to remove other than CAD.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

The reference of the remove consumer device request in Kraken.

Example

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

RemoveItemsFromRiskList

Remove existing items from risk list.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

riskIdentifiers ([RiskListItemType])

List of successfully removed risk identifiers.

Example

{
  "possibleErrors": [PossibleErrorType],
  "riskIdentifiers": [RiskListItemType]
}

RemoveSensor

Remove a sensor from a heating controller device.

The possible errors that can be raised are:

  • KT-CT-4309: Error trying to remove sensor from heat pump controller.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionId (ID)

Unique ID associated with removing a sensor from a heat pump controller.

Example

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

RenewAgreementForMeterPoint

Renew agreement for a given meter point.

The possible errors that can be raised are:

  • KT-GB-4112: Unable to renew agreements for meter point at this time. Please try again later.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

electricityAgreement (RestrictedElectricityAgreement)

gasAgreement (RestrictedGasAgreement)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "electricityAgreement": RestrictedElectricityAgreement,
  "gasAgreement": RestrictedGasAgreement
}

RenewAgreements

Renew agreements for an account.

This mutation calls tariff renewal use-case both for electricity and gas agreements.

This mutation renews agreements from midnight the day it is invoked in the case of flexible tariffs and fixed tariffs ending in more than 90 days. For fixed tariffs that end in less than 90 days, it creates follow on agreements that start when the fixed agreements end (or minimum of when they end in the case of misaligned agreements).

The possible errors that can be raised are:

  • KT-GB-4125: Invalid data.
  • KT-GB-4111: Unable to renew agreements for tariff renewal.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

account (AccountType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

RenewAgreementsForAccount

Renew agreements provided for an account.

The possible errors that can be raised are:

  • KT-GB-4113: At least one list of agreements to renew is required.
  • KT-GB-4126: Electricity and gas agreement input is invalid.
  • KT-GB-4114: Unable to renew agreements.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (AccountType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

Fields

Name Description

product (EnergyProductType)

Override Field to add additional attributes and extend description with possible_errors

slug (String!)

Example

{
  "slug": "abc123",
  "product": EnergyProductType
}

Fields

Name Description

outcome (String)

The repayment intervention outcome.

reason (String)

The repayment intervention reason.

Example

{
  "outcome": "abc123",
  "reason": "abc123"
}

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (RepaymentRequestType)

The item at the end of the edge

Example

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

Fields

Name Description

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

ReplaceAgreement

Replace the given agreement with the given product.

TODO: Move this outside of plugin as it is applicable to the wider domain.

Fields

Name Description

account (AccountInterface)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "account": AccountInterface
}

Fields

Name Description

requestReference (String)

The reference for the associated request in Kraken.

Example

{
  "requestReference": "abc123"
}

ReportRemovedMeterDetails

The possible errors that can be raised are:

  • KT-GB-4213: Application not found.
  • KT-GB-4231: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

result (ReportRemovedMeterDetailsOutput)

Example

{
  "possibleErrors": [PossibleErrorType],
  "result": ReportRemovedMeterDetailsOutput
}

Fields

Name Description

appointment (SiteworksAppointmentType)

Override Field to add additional attributes and extend description with possible_errors

electricityMeterPoint (SiteworksBookingElectricityMeterPointType)

Override Field to add additional attributes and extend description with possible_errors

gasMeterPoint (SiteworksBookingGasMeterPointType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "appointment": SiteworksAppointmentType,
  "electricityMeterPoint": SiteworksBookingElectricityMeterPointType,
  "gasMeterPoint": SiteworksBookingGasMeterPointType
}

RequestConsumptionData

The possible errors that can be raised are:

  • KT-GB-4033: No electricity device found matching device ID.
  • KT-GB-4034: Error requesting consumption data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

requestReference (String)

The reference for the associated request in Kraken.

Example

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

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

Name Description

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

Name Description

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean)

Whether the request was successful.

Example

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

RequestProvisioningClaimCertificate

The possible errors that can be raised are:

  • KT-CT-4332: Invalid data.
  • KT-CT-4304: Error in preprovisioning step for Octopus Heat Pump.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

provisioningClaimBundle (ProvisioningClaimBundle)

The certificate and private key required to create a provisioning claim.

Example

{
  "possibleErrors": [PossibleErrorType],
  "provisioningClaimBundle": ProvisioningClaimBundle
}

Fields

Name Description

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

Name Description

requestId (String)

The ID of the repayment request.

status (RepaymentRequestStatus)

The current status of the repayment request.

Example

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

Fields

Name Description

quote (QuoteType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "quote": QuoteType
}

Fields

Name Description

clientMutationId (String)

errors ([SerializerFieldErrorsType])

Example

{
  "errors": [SerializerFieldErrorsType],
  "clientMutationId": "abc123"
}

Fields

Name Description

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

Name Description

id (ID!)

The ID of the object

tariffCode (String)

validFrom (DateTime!)

validTo (DateTime)

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "id": "abc123",
  "tariffCode": "abc123"
}

Fields

Name Description

id (ID!)

The ID of the object

tariffCode (String)

validFrom (DateTime!)

validTo (DateTime)

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "id": "abc123",
  "tariffCode": "abc123"
}

ResumeDeviceControl

Resume control of a device after having been away from home.

This is so that the device can be charged again according to the set preferences.

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4359: Unable to resume device control.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

RevokeAgreement

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1502: Billed agreements cannot be revoked.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (AccountType)

Account responsible for the revoked agreement.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

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

Name Description

code (String)

The referral code.

id (ID!)

paymentDate (Date)

The date when the payment was made.

paymentStatus (ReferralStatusChoices)

The status of the reward payment.

rewardAmount (Int)

Reward amount given to the account in the smallest unit of the clients currency.

schemeType (ReferralSchemeTypeChoices)

The type of reward scheme.

Example

{
  "id": "abc123",
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "code": "abc123",
  "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

Name Description

administrativeArea (String)

Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture.

AU: Australia

This must be one of NSW, VIC, QLD, TAS, ACT, SA, NT, WA. For addresses not within these locations, use the value that Australia Post uses, e.g. ACT for the Jervis Bay Territory or WA for Christmas Island.

country (String)

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

deliveryPointIdentifier (String)

Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point.

This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers.

dependentLocality (String)

UK dependent localities, or neighbourhoods or boroughs in some other locations.

locality (String)

City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town.

name (String)

A personal name.

organization (String)

The name of a business or organisation.

postalCode (String)

Postal code (ZIP code in the US).

sortingCode (String)

Sorting code, e.g. FR CEDEX code. This field is not used in many countries.

streetAddress (String)

The 'street address' component.

This value can (and often will) contain newline characters when appropriate.

In some cases, data may appear in this field instead of the below fields; e.g. a UK post town name may appear here instead of in the dependent_locality field. This happens when data has been migrated from a legacy format, and that format had insufficient metadata to determine the appropriate field.

If structured_street_address is also set, the value of this field will be a string generated from that value.

structuredStreetAddress (GenericScalar)

The 'street address' component, in a structured format.

This field stores the same value as street_address, but with more detail; for instance, instead of 123 Example Street it might be {'street_number': '123', 'street_name': 'Example', 'street_type': 'Street'}. In many cases this will be blank; we only use this field for Krakens where we need to supply this level of granularity to some third-party service, like a bulk mail provider.

The exact structure of this value depends on the country of the address, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank.

AU: Australia

The following keys may be present; all are optional. All keys have string values, and their meaning is the same as their aseXML counterparts. (Note that, unlike aseXML, all keys are provided at the top level, rather than being nested.)

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • building_or_property_name
  • location_descriptor
  • lot_number
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_name
  • street_type
  • street_suffix
  • postal_delivery_type
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

JP: Japan

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • chome
  • banchi
  • go
  • edaban
  • kana_building_name
  • kanji_building_name
  • building_number
  • room_number
  • address_code
  • physical_location_identifier
  • kana_company_name
  • kanji_company_name

NZ: New Zealand

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • property_name
  • building_name
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_prefix
  • street_name
  • street_type
  • street_suffix
  • rural_delivery_number
  • mailtown
  • postal_delivery_type
  • postal_delivery_location
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

Example

{
  "name": "abc123",
  "organization": "abc123",
  "streetAddress": "abc123",
  "structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "dependentLocality": "abc123",
  "locality": "abc123",
  "administrativeArea": "abc123",
  "postalCode": "abc123",
  "sortingCode": "abc123",
  "country": "abc123",
  "deliveryPointIdentifier": "abc123"
}

RiskListItemType

Represents the result of importing/removing risk identifiers into the risk list with detailed information.

Fields

Name Description

riskIdentifierId (ID)

The unique identifier of the edited risk identifier.

Example

{
  "riskIdentifierId": "abc123"
}

Fields

Name Description

isValid (Boolean!)

Whether the SEG installation is valid according to MCS.

Example

{
  "isValid": true
}

Fields

Name Description

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

Name Description

account (AccountType)

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": AccountType,
  "attachments": [AttachmentType],
  "sender": "abc123",
  "recipient": "abc123",
  "textBody": "abc123"
}

Fields

Name Description

dispatchNotice (DispatchNoticeTypeChoices)

Dispatch notice time of event (day before, within 1 day, etc).

eventStartDate (DateTime)

The start datetime of the joined event.

isOptedIntoEvent (Boolean)

Did the account opt-in to the event.

streakPoints (Int)

The streak point the account had during the event.

Example

{
  "eventStartDate": "2020-01-01T00:00:00.000Z",
  "isOptedIntoEvent": true,
  "dispatchNotice": "DAY_AHEAD",
  "streakPoints": 1
}

Fields

Name Description

avgCustomerRemunerationPounds (Float)

The average payment amongst all customers per event.

baselineConsumptionDeltaKwh (Float)

How much we thought the customer was going to use over the event period.

co2SavedInGrams (Float)

The saved amount of CO2 in grams for the event.

consumptionDeltaKwh (Float)

How much the customer actually used over the event period.

endAt (DateTime)

The end datetime of the joined event.

energySavedInKwh (Float)

The energy saved in kWh for the event.

eventId (Int)

The event ID of the joined event.

eventStatus (SavingSessionsAccountEventStatus)

The status of the event.

netReductionPctRank (Float)

Percent rank amongst all customers that reduced consumption.

percentageSaved (Float)

The total consumption reduction in percentage for the event.

resultsSetAt (DateTime)

The datetime of when the results were set.

resultsStatus (SavingSessionsAccountEventResultStatusChoices)

Updated results status.

rewardGivenInOctoPoints (Int)

The amount of OctoPoints the account has been awarded for their participation in the event.

startAt (DateTime)

The start datetime of the joined event.

status (SavingSessionsAccountEventResultStatusChoices)

The outcome of the account's participation of the event.

Deprecated

The 'status' field is deprecated.

Status has been split up into event_status and results_status

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

Example

{
  "eventId": 1,
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "rewardGivenInOctoPoints": 1,
  "energySavedInKwh": 1.0,
  "status": "CALCULATING",
  "eventStatus": "UPCOMING",
  "resultsStatus": "CALCULATING",
  "co2SavedInGrams": 1.0,
  "percentageSaved": 1.0,
  "netReductionPctRank": 1.0,
  "avgCustomerRemunerationPounds": 1.0,
  "baselineConsumptionDeltaKwh": 1.0,
  "consumptionDeltaKwh": 1.0,
  "resultsSetAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

number (String!)

Example

{
  "number": "abc123"
}

Fields

Name Description

canJoinCampaign (Boolean)

Whether the account is eligible to join the campaign.

eligibleMeterPoints ([EligibleMetersPointsType])

Meterpoints eligible for signup to Saving Sessions.

eventStreak ([SavingSessionsAccountEventStreakType])

The event streak history of the account.

hasJoinedCampaign (Boolean)

Whether the account joined the campaign.

isBusinessAccount (Boolean)

Whether the account is a business account.

isTesterAccount (Boolean)

Whether the account is a tester account for the campaign.

joinedEvents ([SavingSessionsAccountJoinedEventsType])

The events that the account has joined.

signedUpMeterPoint (EligibleMetersPointsType)

The meter point signed up to Saving Sessions.

Example

{
  "canJoinCampaign": true,
  "hasJoinedCampaign": true,
  "eligibleMeterPoints": [EligibleMetersPointsType],
  "signedUpMeterPoint": EligibleMetersPointsType,
  "isBusinessAccount": true,
  "isTesterAccount": true,
  "joinedEvents": [SavingSessionsAccountJoinedEventsType],
  "eventStreak": [SavingSessionsAccountEventStreakType]
}

Fields

Name Description

code (String)

The event code.

devEvent (Boolean)

Whether this this a test event.

endAt (DateTime)

The end of the event.

id (Int)

The event ID.

optInInvitationBatchId (UUID)

The batch ID for the opt-in invitations.

rewardPerKwhInOctoPoints (Int)

The number of OctoPoints an account will earn per kWh of energy reduced, if successful.

startAt (DateTime)

The start of the event.

status (SavingSessionsAccountEventStatus)

Status of the event.

targetGsp ([TargetGspType])

List of the target gsp group id's for the event, if any.

totalParticipants (Int)

The total number of participants who joined the event.

Example

{
  "id": 1,
  "code": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "status": "UPCOMING",
  "totalParticipants": 1,
  "rewardPerKwhInOctoPoints": 1,
  "targetGsp": [TargetGspType],
  "optInInvitationBatchId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "devEvent": true
}

Fields

Name Description

co2SavedEquivalentInWords (String)

The equivalent total CO2 saved in a phrase.

co2SavedEquivalentTooltip (String)

Optional additional context for the CO2e statement.

energySavedEquivalentInWords (String)

The equivalent total energy saved in a phrase.

energySavedInKwh (Int)

The amount of energy saved across all Saving Sessions, in kWh.

lastUpdatedAt (DateTime)

The last datetime the stats were updated.

Example

{
  "energySavedInKwh": 1,
  "energySavedEquivalentInWords": "abc123",
  "co2SavedEquivalentInWords": "abc123",
  "co2SavedEquivalentTooltip": "abc123",
  "lastUpdatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

lastUpdatedAt (DateTime)

The last datetime the prize draw information was updated.

latestAwardedPrizeDescription (String)

A description of the the latest spot prize winner.

nextSessionPrizeDescription (String)

A description of the spot prize for the next Saving Session.

showPrizeDraw (Boolean)

Whether there is prize draw information to show for the next Saving Session.

Example

{
  "showPrizeDraw": true,
  "nextSessionPrizeDescription": "abc123",
  "latestAwardedPrizeDescription": "abc123",
  "lastUpdatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

baselineMwh (Float)

The baseline consumption in MWh.

eventCount (Int)

Number of events the region has participated in.

gspGroupId (String)

The grid supply point id for the region (eg. '_A').

gspGroupName (String)

The grid supply point group name of the region.

meteredMwh (Float)

The metered consumption in MWh.

reductionMwh (Float)

The consumption reduction in MWh.

reductionPct (Float)

The consumption reduction in percentage.

Example

{
  "gspGroupId": "abc123",
  "gspGroupName": "abc123",
  "eventCount": 1,
  "baselineMwh": 1.0,
  "reductionMwh": 1.0,
  "meteredMwh": 1.0,
  "reductionPct": 1.0
}

Fields

Name Description

account (SavingSessionsAccountType)

Info related to a specific account.

The possible errors that can be raised are:

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

eventCount (Int)

The total number of events.

events ([SavingSessionsEventType])

Saving Sessions events, ordered by start datetime.

nationalAggregatedStats (SavingSessionsNationalAggregatedStatsType)

Combined statistics from all of the Savings Sessions so far.

prizeDrawInformation (SavingSessionsPrizeDrawInformationType)

Prize draw information.

regionalResults ([SavingSessionsRegionalResultType])

Regional results from all of the Savings Sessions so far.

Example

{
  "account": SavingSessionsAccountType,
  "events": [SavingSessionsEventType],
  "eventCount": 1,
  "nationalAggregatedStats": SavingSessionsNationalAggregatedStatsType,
  "prizeDrawInformation": SavingSessionsPrizeDrawInformationType,
  "regionalResults": [SavingSessionsRegionalResultType]
}

Fields

Name Description

days (String)

A bitmask of the days this program is active for.

settings ([Setting])

A list of the Setting objects which make up this schedule.

Example

{
  "days": "abc123",
  "settings": [Setting]
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean!)

Whether the message was scheduled successfully.

Example

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

Fields

Name Description

action (String)

Whether the scheduled transaction is a 'charge' or a 'credit'.

ancillaryData (JSONString)

Additional data that is consumed and associated with the scheduled transaction.

displayNote (String)

Optional short note about the scheduled transaction for customer display.

grossAmount (BigInt)

The gross amount of the scheduled transaction.

internalNote (String)

Optional short note about the scheduled transaction for internal use.

ledgerNumber (String)

The ledger the scheduled transaction is for.

metadata (JSONString)

Any extra data that is associated with scheduled transaction.

netAmount (BigInt)

The net amount of the scheduled transaction.

postedAfter (DateTime)

The datetime after which the scheduled transaction can be added to the ledger.

reason (String)

The reason why the scheduled transaction is added to the account.

salesTaxAmount (BigInt)

The tax amount of the scheduled transaction.

salesTaxRate (Decimal)

The tax rate of the scheduled transaction.

Example

{
  "ledgerNumber": "abc123",
  "action": "abc123",
  "grossAmount": 1,
  "netAmount": 1,
  "salesTaxAmount": 1,
  "salesTaxRate": "1.0",
  "reason": "abc123",
  "ancillaryData": {"key": "value"},
  "metadata": {"key": "value"},
  "internalNote": "abc123",
  "displayNote": "abc123",
  "postedAfter": "2020-01-01T00:00:00.000Z"
}

ScreenActionType

An action which calls another backend screen via its screen id.

Fields

Name Description

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

Name Description

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": SectionContent,
  "order": 1
}

Fields

Name Description

name (String!)

The segment name

Example

{
  "name": "abc123"
}

SelectChargePointMake

Options for selecting a charge point's make from a list of options.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectChargePointMakeForSmartFlexOnboarding

Complete the select charge point make step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

chargePointMake (ChargePointVariantType)

The make of the charge point, e.g. myenergi.

id (ID)

A unique identifier for this list item.

Example

{
  "id": "abc123",
  "chargePointMake": ChargePointVariantType
}

SelectChargePointVariant

Options for selecting a charge point's variant from a list of options.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectChargePointVariantForSmartFlexOnboarding

Complete the select charge point variant step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

chargePointVariant (ChargePointVariantType)

The model variant of the charge point, e.g. Zappi.

id (ID)

A unique identifier for this list item.

Example

{
  "id": "abc123",
  "chargePointVariant": ChargePointVariantType
}

SelectDeviceType

A type where the user must select the type of device to onboard.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectDeviceTypeForSmartFlexOnboarding

Select the type of device to start the onboarding process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

id (ID)

A unique identifier for this list item.

label (String)

The device type, e.g. Electric Vehicle.

Example

{
  "id": "abc123",
  "label": "abc123"
}

SelectInverterMake

Options for selecting an inverter's make from a list of options.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectInverterMakeForSmartFlexOnboarding

Complete the select inverter make step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

id (ID)

A unique identifier for this list item.

inverterMake (InverterVariantType)

The make (manufacturer) of the inverter.

Example

{
  "id": "abc123",
  "inverterMake": InverterVariantType
}

SelectProducts

Mark chosen quoted products for quoted supply points on quote request as selected.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4634: Quoted product with given id not found.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-4635: Missing a quoted product for at least one quoted supply point on the quote request.
  • KT-CT-4636: Quoted product not linked to a product.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean!)

Whether we successfully marked the chosen quoted products as selected.

Example

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

SelectUserVehicle

Options for selecting a user's vehicle from a list of options.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectUserVehicleForSmartFlexOnboarding

Complete the select user vehicle step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

id (ID)

A unique identifier for this list item.

userVehicle (ElectricVehicleType)

The selected electric vehicle when multiple vehicles were available.

Deprecated

The 'userVehicle' field is deprecated.

Please use 'SelectUserVehicleListItem.vehicle' instead.

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

vehicle (VehicleInformationType)

A vehicle associated with the user's OEM account.

Example

{
  "id": "abc123",
  "userVehicle": ElectricVehicleType,
  "vehicle": VehicleInformationType
}

SelectVehicleMake

Options for selecting a vehicle's make from a list of options.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectVehicleMakeForSmartFlexOnboarding

Complete the select vehicle make step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

id (ID)

A unique identifier for this list item.

vehicleMake (ElectricVehicleType)

The make of the electric vehicle make, e.g. Tesla.

Example

{
  "id": "abc123",
  "vehicleMake": ElectricVehicleType
}

SelectVehicleVariant

Options for selecting a vehicle's variant from a list of options.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

options ([SmartFlexListItemInterface])

The options the user can select.

selectedOptionId (ID)

The ID of the option that has been selected, if any.

Example

{
  "id": "abc123",
  "options": SmartFlexListItemInterface,
  "selectedOptionId": "abc123"
}

SelectVehicleVariantForSmartFlexOnboarding

Complete the select vehicle variant step.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

id (ID)

A unique identifier for this list item.

vehicleVariant (ElectricVehicleType)

The model variant of the electric vehicle, e.g. Model Y.

Example

{
  "id": "abc123",
  "vehicleVariant": ElectricVehicleType
}

Fields

Name Description

requestReference (String)

The reference of the Decommission Request in Kraken.

Example

{
  "requestReference": "abc123"
}

Fields

Name Description

clientMutationId (String)

liveChat (InkLiveChat)

The live chat.

messageRelayId (String!)

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

Example

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

SendLossObjectionForChangeOfSupplier

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean)

Returns true if objection was successfully sent.

Example

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

SendQuoteSummary

Trigger the sending of a quote summary to the provided recipient.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4178: No account found with given account number.
  • KT-CT-4632: Invalid recipient information.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

success (Boolean!)

Whether the triggering of the quote summary was successful.

Example

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

SendVerificationEmail

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

verificationStatus (Boolean)

If the verification email was sent.

Example

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

Fields

Name Description

online (Boolean)

Whether or not a sensor is currently online.

retrievedAt (DateTime)

Time at which the status was retrieved.

Example

{
  "online": true,
  "retrievedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

code (String)

The code name for a sensor.

connectivity (SensorConnectivity)

The connectivity/online status of a sensor.

telemetry (SensorTelemetry)

The telemetry data of a sensor.

Example

{
  "code": "abc123",
  "connectivity": SensorConnectivity,
  "telemetry": SensorTelemetry
}

Fields

Name Description

humidityPercentage (Int)

Percentage humidity recorded by the sensor.

retrievedAt (DateTime)

Time at which the telemetry was retrieved.

rssi (Int)

Signal strength of a sensor measured in dBm (Received Signal Strength Indicator).

rssiPercentage (Int)

Deprecated.

Deprecated

The 'rssiPercentage' field is deprecated.

Use rssi instead.

- Marked as deprecated on 2023-05-17.
- Scheduled for removal on or after 2023-05-31.

temperatureInCelsius (Float)

Temperature recorded by a sensor in celsius.

voltage (Float)

Voltage recorded by a sensor.

Example

{
  "temperatureInCelsius": 1.0,
  "humidityPercentage": 1,
  "rssi": 1,
  "rssiPercentage": 1,
  "voltage": 1.0,
  "retrievedAt": "2020-01-01T00:00:00.000Z"
}

SensorUpdateTransactionId

A mapping of sensor codes to transaction ids as returned from a successful KF request.

Fields

Name Description

sensorCode (String!)

The code of the sensor which was updated.

transactionId (String!)

A UUID representing the update operation for this sensor.

Example

{
  "sensorCode": "abc123",
  "transactionId": "abc123"
}

Fields

Name Description

code (String)

message (String)

Example

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

Fields

Name Description

errors ([ErrorTypeUnion!])

field (String)

Example

{
  "field": "abc123",
  "errors": [ErrorTypeUnion]
}

SetBatteryChargingPreferences

Allow customers to set/update their battery's charging preferences.

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4353: An error occurred while trying to update your charging preferences.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (BatteryDeviceType)

The battery device updated, with the ID of the device in KrakenFlex.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": BatteryDeviceType
}

SetClimateControlState

The possible errors that can be raised are:

  • KT-CT-4337: Unable to set climate control state.
  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "heatPumpDevice": HeatPumpDeviceType
}

SetHotWaterState

The possible errors that can be raised are:

  • KT-CT-4336: Unable to set hot water state.
  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "heatPumpDevice": HeatPumpDeviceType
}

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

Name Description

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

SetOpportunityOutcome

The possible errors that can be raised are:

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

Fields

Name Description

message (String)

Success message for now.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

SetPaymentPreference

Choose how automatic payments will be collected.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3967: Payment method is not valid.
  • KT-CT-3968: Preference cannot be set this soon.
  • KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType]
}

SetReadingConsentGranularity

Update the reading consent granularity for a meter point.

This mutation allows the user to update the reading consent granularity for a specific meter point. Note that if the consent granularity is already set to the current value, no changes will be made, and the mutation will return a success response.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

readingConsentGranularitySubmitted (Boolean)

Whether the reading consent granularity was successfully submitted.

Example

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

SetRoomTemperature

The possible errors that can be raised are:

  • KT-CT-4329: Invalid data.
  • KT-CT-4346: Unable to set the room temperature.
  • KT-CT-7223: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "heatPumpDevice": HeatPumpDeviceType
}

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

Fields

Name Description

paymentInstruction (DirectDebitInstructionType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

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

SetVehicleChargingPreferences

Allow customers to set/update their vehicle's charging preferences.

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4321: Serializer validation error.
  • KT-CT-4353: An error occurred while trying to update your charging preferences.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

SetZoneMode

Turn a heating controller zone ON/OFF, set it to AUTO or BOOST it.

The possible errors that can be raised are:

  • KT-CT-4333: Invalid data.
  • KT-CT-4306: Error setting mode for heat pump controller zone.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionId (ID)

Unique ID associated with a zone's mode operation.

Example

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

SetZonePrimarySensor

Set the primary sensor for a zone.

The primary sensor is the one which controls the heating for that zone. Other sensors merely provide data, at least currently.

The possible errors that can be raised are:

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

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionId (ID)

The unique ID associated with this operation.

Example

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

SetZoneSchedules

Set a heating controller zone's schedule(s).

The possible errors that can be raised are:

  • KT-CT-4334: Invalid data.
  • KT-CT-4308: Error setting schedule(s) for heat pump controller zone.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

transactionId (ID)

Unique ID associated with adding schedule(s) for a zone.

Example

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

Fields

Name Description

action (String)

Whether the setting turns the zone on or off, or changes its temperature.

setpointInCelsius (Float)

Desired zone temperature (for zones which support setpoints).

startTime (Time)

The time this setting becomes active.

zoneState (ZoneActivationState)

Whether the setting leaves the zone "ON" or "OFF".

Example

{
  "startTime": "00:00:00.000Z",
  "action": "abc123",
  "setpointInCelsius": 1.0,
  "zoneState": "ON"
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

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

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

share (GoodsQuoteShare)

Goods quote shared.

Example

{
  "possibleErrors": [PossibleErrorType],
  "share": GoodsQuoteShare
}

Fields

Name Description

availability (Boolean)

Denotes whether or not this voucher value is currently available.

value (Int)

The voucher value.

Example

{
  "value": 1,
  "availability": true
}

Fields

Name Description

code (String)

The voucher code.

Example

{
  "code": "abc123"
}

Fields

Name Description

consumptionInKw (Decimal)

The current power in kW being consumed by the property from the solar panels, battery and grid. If power is being exported to the grid, that is offset againstconsumption. If power is being used to charge the battery, that doesn't count towards consumption; that'll only count as consumed when it is later used to power the property (this avoids double-counting it).

exportInKw (Decimal)

The current power being exported from the property to the grid in kW. This will be 0 if no export is occurring, or otherwise a positive value.

Example

{
  "consumptionInKw": "1.0",
  "exportInKw": "1.0"
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([SiteworksAppointmentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": SiteworksAppointmentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

SiteworksAppointmentConnectionTypeEdge

A Relay edge containing a SiteworksAppointmentConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (SiteworksAppointmentType)

The item at the end of the edge

Example

{
  "node": SiteworksAppointmentType,
  "cursor": "abc123"
}

Fields

Name Description

agentReference (String)

appointmentDate (Date)

calculationId (String)

endTime (Time)

promiseId (String)

siteId (String)

slotId (String)

startTime (Time)

Example

{
  "appointmentDate": "2020-01-01",
  "startTime": "00:00:00.000Z",
  "endTime": "00:00:00.000Z",
  "agentReference": "abc123",
  "siteId": "abc123",
  "slotId": "abc123",
  "calculationId": "abc123",
  "promiseId": "abc123"
}

Fields

Name Description

calculationId (String)

expectedJobDurationMinutes (Int)

fetchStatus (FetchSiteworksAppointmentStatus)

The status of the fetch siteworks appointment operation.

slots ([SiteworksAppointmentSlotType])

Example

{
  "calculationId": "abc123",
  "slots": [SiteworksAppointmentSlotType],
  "expectedJobDurationMinutes": 1,
  "fetchStatus": "PENDING"
}

Fields

Name Description

account (AccountType)

Override Field to add additional attributes and extend description with possible_errors

activeAppointment (ActiveAppointmentType)

Override Field to add additional attributes and extend description with possible_errors

electricityMeterPoints ([SiteworksBookingElectricityMeterPointType])

Electricity meter points associated with this Siteworks appointment.

gasMeterPoints ([SiteworksBookingGasMeterPointType])

Gas meter points associated with this Siteworks appointment.

property (PropertyType)

Override Field to add additional attributes and extend description with possible_errors

Example

{
  "activeAppointment": ActiveAppointmentType,
  "account": AccountType,
  "property": PropertyType,
  "electricityMeterPoints": [SiteworksBookingElectricityMeterPointType],
  "gasMeterPoints": [SiteworksBookingGasMeterPointType]
}

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([SiteworksBookingAccountConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": SiteworksBookingAccountConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

SiteworksBookingAccountConnectionTypeEdge

A Relay edge containing a SiteworksBookingAccountConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (SiteworksBookingAccountType)

The item at the end of the edge

Example

{
  "node": SiteworksBookingAccountType,
  "cursor": "abc123"
}

SiteworksBookingAccountType

An object holding information about an account and its associated users, properties and meter points, used for administering siteworks bookings.

Fields

Name Description

accountType (String!)

activeCampaigns ([SiteworksCampaignType])

Active campaigns for the account.

billingName (String!)

Name for this account. If one exists, the billing name of the portfolio will prepend this.

brand (String!)

The brand of the account.

canModifyPayments (CanModifyPaymentsType)

Data about whether or not an account can modify their payments.

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'.

number (String!)

properties ([SiteworksBookingPropertyType])

Properties linked to the account now and in the future.

siteworksRequests ([SiteworksRequestType])

Siteworks requests associated to an account.

smets2Interest (SmartMeterInterestChoices)

The interest of an account in procuring smart meters.

status (AccountStatus)

The current status of the account.

users ([AccountUserType!]!)

Example

{
  "number": "abc123",
  "status": "PENDING",
  "users": AccountUserType,
  "billingName": "abc123",
  "accountType": "abc123",
  "properties": [SiteworksBookingPropertyType],
  "marketSupplyAgreements": AgreementConnection,
  "canModifyPayments": CanModifyPaymentsType,
  "siteworksRequests": [SiteworksRequestType],
  "activeCampaigns": [SiteworksCampaignType],
  "smets2Interest": "PRIORITY",
  "brand": "abc123"
}

SiteworksBookingElectricityMeterPointType

This type holds information about an electricity meter point that is used by partner organisations to book siteworks.

Fields

Name Description

agentContracts ([ElectricityAgentContractType])

A list of agents responsible for management of the meterpoint.

dccServiceFlag (String!)

energisationStatus (String!)

gspGroupId (String)

The distribution network the grid supply point falls under.

id (ID!)

isMeterReadingDue (Boolean!)

Whether this meter point has a meter which is due a reading.

isOnSupply (Boolean!)

latestSupplyPeriod (SupplyPeriodType)

The latest supply period of the meterpoint.

meters ([ElectricityMeterType])

mpan (String!)

ssc (String!)

Standard settlement configuration

status (String!)

supplyEndDate (Date)

Example

{
  "id": "abc123",
  "supplyEndDate": "2020-01-01",
  "mpan": "abc123",
  "ssc": "abc123",
  "energisationStatus": "abc123",
  "dccServiceFlag": "abc123",
  "status": "abc123",
  "isOnSupply": true,
  "latestSupplyPeriod": SupplyPeriodType,
  "isMeterReadingDue": true,
  "meters": [ElectricityMeterType],
  "gspGroupId": "abc123",
  "agentContracts": [ElectricityAgentContractType]
}

SiteworksBookingGasMeterPointType

This type holds information about a gas meter point that is used by partner organisations to book siteworks.

Fields

Name Description

agentContracts ([GasAgentContractType])

A list of agents responsible for management of the meterpoint.

id (ID!)

isMeterReadingDue (Boolean!)

Whether this meter point has a meter which is due a reading.

isOnSupply (Boolean!)

latestSupplyPeriod (SupplyPeriodType)

The latest supply period of the meterpoint.

meters ([GasMeterType])

mprn (String)

status (String!)

supplyEndDate (Date)

Example

{
  "id": "abc123",
  "supplyEndDate": "2020-01-01",
  "mprn": "abc123",
  "status": "abc123",
  "isOnSupply": true,
  "latestSupplyPeriod": SupplyPeriodType,
  "isMeterReadingDue": true,
  "meters": [GasMeterType],
  "agentContracts": [GasAgentContractType]
}

SiteworksBookingPropertyType

This type is used by partner organisations to retrieve information about a property and its meter points that is used to book siteworks.

Fields

Name Description

electricityMeterPoints ([SiteworksBookingElectricityMeterPointType])

Retrieve the details of an electricity meter-point.

gasMeterPoints ([SiteworksBookingGasMeterPointType])

Retrieve the details of a gas meter-point.

id (ID!)

isChangeOfTenancyOngoing (Boolean)

isSmets2InstallationAllowed (Boolean)

Indicates if the property meets smart meter install preconditions.

postcode (String!)

smartDeviceNetworks ([SmartMeterDeviceNetworkType])

Retrieve any smartmeter devices connected to the property.

splitAddress ([String])

List of address lines.

Example

{
  "id": "abc123",
  "postcode": "abc123",
  "smartDeviceNetworks": [SmartMeterDeviceNetworkType],
  "isChangeOfTenancyOngoing": true,
  "isSmets2InstallationAllowed": true,
  "electricityMeterPoints": [SiteworksBookingElectricityMeterPointType],
  "gasMeterPoints": [SiteworksBookingGasMeterPointType],
  "splitAddress": ["abc123"]
}

Fields

Name Description

name (String!)

slug (String!)

Example

{
  "name": "abc123",
  "slug": "abc123"
}

Fields

Name Description

appointments ([ActiveAppointmentType])

Siteworks appointments associated to a request.

Example

{
  "appointments": [ActiveAppointmentType]
}

SkipSSDPayment

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-GB-4137: Could not cancel SSD payment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

nextPaymentAmount (Int)

The amount of the next scheduled payment for the account.

nextPaymentDate (Date)

The date of the next scheduled payment for the account.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

skippedPaymentAmount (Int!)

The amount of the skipped payment.

skippedPaymentDate (Date)

The date of the payment that was skipped.

Example

{
  "possibleErrors": [PossibleErrorType],
  "skippedPaymentAmount": 1,
  "skippedPaymentDate": "2020-01-01",
  "nextPaymentAmount": 1,
  "nextPaymentDate": "2020-01-01"
}

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

make (String)

Make of the battery.

model (String)

Model of the battery.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface,
  "make": "abc123",
  "model": "abc123"
}

SmartFlexChargePoint

Information about a charge point that has been registered with Kraken Flex.

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

chargePointVariant (ChargePointVariantModelType)

This contains more detail about the variant of the charge point model.

chargingPreferences (SmartFlexVehicleChargingPreferences)

The user's preferences for charging using this charge point.

chargingSessions (DeviceChargingSessionConnection)

History of charging sessions for a SmartFlex device.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

make (String)

The make of the charge point, e.g. myenergi.

model (String)

The model of the charge point, e.g. Zappi.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

vehicleVariant (ElectricVehicleModelType)

This contains more detail about the variant of the vehicle model.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface,
  "chargingSessions": DeviceChargingSessionConnection,
  "make": "abc123",
  "model": "abc123",
  "vehicleVariant": ElectricVehicleModelType,
  "chargePointVariant": ChargePointVariantModelType,
  "chargingPreferences": SmartFlexVehicleChargingPreferences
}

SmartFlexChargePointStatus

The current status of a registered charge point.

Fields

Name Description

current (SmartFlexDeviceLifecycleStatus)

The current status of the device.

currentState (SmartFlexDeviceState)

The current state of this SmartFlex device state machine.

isSuspended (Boolean)

Whether control of the device is currently disabled.

stateOfChargeLimit (StateOfChargeLimit)

Information about the limits for the SoC.

testDispatchFailureReason (TestDispatchAssessmentFailureReason)

The reason for the most recent failed test dispatch (if any).

Example

{
  "current": "ONBOARDING",
  "isSuspended": true,
  "currentState": "AUTHENTICATION_PENDING",
  "stateOfChargeLimit": StateOfChargeLimit,
  "testDispatchFailureReason": "NONE"
}

Fields

Name Description

cause (SmartFlexChargingErrorCause!)

Possible cause of the charging error.

Example

{
  "cause": "SOC_LIMIT_REACHED"
}

Fields

Name Description

cost (Money)

The cost for the charge added during a charging session.

dispatches ([SmartFlexDispatch])

The charging session dispatch.

end (DateTime!)

The end time of a charging session.

energyAdded (Energy)

The energy added during a charging session.

problems ([SmartFlexChargingProblem])

Charging problem(s) encountered during the session due to an error or truncation.

start (DateTime!)

The start time of a charging session.

stateOfChargeChange (Decimal)

The change in state of charge during a charging session. The value will be between 0 and 100, if not null.

stateOfChargeFinal (Decimal)

The final state of charge after a charging session. The value will be between 0 and 100, if not null.

targetType (PreferencesTargetType!)

The target type for a user's preferences.

type (SmartFlexChargingType!)

The type of charge, i.e. SMART or BOOST.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z",
  "stateOfChargeChange": "1.0",
  "stateOfChargeFinal": "1.0",
  "energyAdded": Energy,
  "cost": Money,
  "type": "SMART",
  "targetType": "ABSOLUTE_STATE_OF_CHARGE",
  "dispatches": [SmartFlexDispatch],
  "problems": [SmartFlexChargingProblem]
}

Fields

Name Description

achievableStateOfCharge (Decimal!)

The state of charge (in percent) that was possible, given the truncation.

originalAchievableStateOfCharge (Decimal!)

The state of charge (in percent) that could have been achieved, if not for truncation of the charging session.

truncationCause (SmartFlexChargingTruncationCause!)

The cause for the truncation of a charging session.

Example

{
  "truncationCause": "DISCONNECTED",
  "originalAchievableStateOfCharge": "1.0",
  "achievableStateOfCharge": "1.0"
}

SmartFlexDevice

Information about a device that has been registered for Smart Flex.

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface
}

SmartFlexDeviceAlert

Information about an alert relevant to a device registered for Smart Flex.

Fields

Name Description

message (String)

A device alert message.

publishedAt (DateTime)

When a device alert message is published.

Example

{
  "message": "abc123",
  "publishedAt": "2020-01-01T00:00:00.000Z"
}

SmartFlexDevicePreferenceSchedule

A schedule entry for device preferences specifying target values for a specific day and time.

For information about valid value ranges, time constraints, and step increments, query the device's preferenceSettings field which provides bounds and validation rules.

Fields

Name Description

dayOfWeek (DayOfWeek!)

Day of week schedule applies to.

max (Float!)

Maximum value for the schedule. Usage depends on the targetType - e.g., maximum charge for EVs. For valid bounds and step increments, see the device's preferenceSettings field.

min (Float)

Minimum value for the schedule when applicable. Usage depends on the targetType - e.g., minimum temperature for heat pumps. May be null for device types that don't require a lower bound. For valid bounds and step increments, see the device's preferenceSettings field.

time (Time!)

Time of day the preference applies.

upperLimit (Float)

Upper limit value for the schedule when applicable.Usage depends on the targetType - e.g., charge level to never be exceeded for V2G EVs.May be null for device types that don't require an upper bound.

Example

{
  "dayOfWeek": "MONDAY",
  "time": "00:00:00.000Z",
  "min": 1.0,
  "max": 1.0,
  "upperLimit": 1.0
}

Fields

Name Description

mode (PreferencesModeChoices!)

The device's preference mode.

schedules ([SmartFlexDevicePreferenceSchedule])

The schedules of the device's preference.

targetType (PreferencesTargetType!)

The target type of the preference.

unit (PreferencesUnitChoices!)

The unit of the preference schedules' min and max values.

Example

{
  "targetType": "ABSOLUTE_STATE_OF_CHARGE",
  "unit": "CELSIUS",
  "mode": "CHARGE",
  "schedules": [SmartFlexDevicePreferenceSchedule]
}

SmartFlexDeviceStatus

Information about the current status of a device registered for Smart Flex.

Fields

Name Description

current (SmartFlexDeviceLifecycleStatus)

The current status of the device.

currentState (SmartFlexDeviceState)

The current state of this SmartFlex device state machine.

isSuspended (Boolean)

Whether control of the device is currently disabled.

Example

{
  "current": "ONBOARDING",
  "isSuspended": true,
  "currentState": "AUTHENTICATION_PENDING"
}

Fields

Name Description

importSupplyPointId (String!)

Import supply point ID.

smartFlexDeviceId (String!)

SmartFlex device ID.

Example

{
  "importSupplyPointId": "abc123",
  "smartFlexDeviceId": "abc123"
}

Fields

Name Description

end (DateTime!)

The end time of the dispatch.

energyAddedKwh (Decimal)

The energy added in kWh of the dispatch.

start (DateTime!)

The start time of the dispatch.

type (SmartFlexChargingType!)

The type of charge.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z",
  "type": "SMART",
  "energyAddedKwh": "1.0"
}

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

make (String)

The make of the heat pump, e.g. Daikin.

model (String)

The model of the heat pump, e.g. EDLA04E2V3.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

powerInKw (NormalizedDecimal)

The maximum power consumed by the heat pump in kilowatts.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface,
  "make": "abc123",
  "model": "abc123",
  "powerInKw": NormalizedDecimal
}

Fields

Name Description

activity (Activity)

The data related to the latest reported activity of the heat pump.

current (SmartFlexDeviceLifecycleStatus)

The current status of the device.

currentState (SmartFlexDeviceState)

The current state of this SmartFlex device state machine.

currentTemperatures ([ZoneTemperature])

The data related to the latest reported temperature of different zones.

isSuspended (Boolean)

Whether control of the device is currently disabled.

mode (FunctionalMode)

The data related to the latest reported mode of the heat pump.

targetTemperature (TargetTemperature)

The data related to the target temperature of the heat pump.

Example

{
  "current": "ONBOARDING",
  "isSuspended": true,
  "currentState": "AUTHENTICATION_PENDING",
  "mode": FunctionalMode,
  "currentTemperatures": [ZoneTemperature],
  "targetTemperature": TargetTemperature,
  "activity": Activity
}

SmartFlexInverter

Information about an inverter that has been registered with KrakenFlex.

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

make (String)

The make of the inverter.

model (String)

The model of the inverter.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

telemetry (SmartFlexInverterTelemetry)

Telemetry data for the inverter.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface,
  "make": "abc123",
  "model": "abc123",
  "telemetry": SmartFlexInverterTelemetry
}

SmartFlexInverterTelemetry

Telemetry data for a registered inverter.

Fields

Name Description

battery (BatteryTelemetry)

Information about the battery.

grid (GridTelemetry)

Information about the grid.

inverter (InverterTelemetry)

Information about the inverter.

site (SiteTelemetry)

Information about the site.

solar (SolarTelemetry)

Information about the solar panels.

Example

{
  "inverter": InverterTelemetry,
  "battery": BatteryTelemetry,
  "solar": SolarTelemetry,
  "grid": GridTelemetry,
  "site": SiteTelemetry
}

SmartFlexOnboardingDeviceRegistration

A type that returns True if the device(s) were successfully registered.

Fields

Name Description

deviceRegistered (Boolean)

Returns true if the device(s) were successfully registered.

id (ID)

A unique identifier for this onboarding step.

Example

{
  "id": "abc123",
  "deviceRegistered": true
}

Fields

Name Description

backendScreen (BackendScreenType)

A Backend Screen that renders the SmartFlex onboarding wizard.

completedSteps ([SmartFlexOnboardingStepInterface])

The completed steps for all onboarding wizards that are currently in progress. Note: - The last step is the most recent one. - If an onboarding journey is completed, it will not be included in this list.

currentStep (SmartFlexOnboardingStepInterface)

The next step of the SmartFlex onboarding wizard. Returns None if the onboarding journey is completed.

deviceType (KrakenFlexDeviceTypes)

The onboarding wizard's selected device type to be onboarded.

displayName (String)

The onboarding wizard's display name extracted from the wizard's selected device attributes.

id (ID!)

A unique identifier for this SmartFlex onboarding wizard.

resumable (SmartFlexResumable)

Determines whether the wizard's onboarding journey can be resumed.

Example

{
  "id": "abc123",
  "resumable": SmartFlexResumable,
  "deviceType": "BATTERIES",
  "displayName": "abc123",
  "backendScreen": BackendScreenType,
  "currentStep": SmartFlexOnboardingStepInterface,
  "completedSteps": SmartFlexOnboardingStepInterface
}

Fields

Name Description

isResumable (Boolean)

A boolean to determine whether the wizard's onboarding journey can be resumed.

resumableReasons ([String])

Reasons why a wizard cannot be resumed.

Example

{
  "isResumable": true,
  "resumableReasons": ["abc123"]
}

SmartFlexStorageHeaters

Information about storage heaters that have been registered with Kraken Flex.

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface
}

SmartFlexVehicle

Information about a vehicle that has been registered with Kraken Flex.

Fields

Name Description

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

chargePointVariant (ChargePointVariantModelType)

This contains more detail about the variant of the charge point model.

chargingPreferences (SmartFlexVehicleChargingPreferences)

The user's preferences for charging this vehicle.

Deprecated

The 'chargingPreferences' field is deprecated.

Please use 'devices.preferences' instead.

- Marked as deprecated on 2024-11-01.
- Scheduled for removal on or after 2025-05-06.

chargingSessions (DeviceChargingSessionConnection)

History of charging sessions for a SmartFlex device.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

integrationDeviceId (String)

The third-party integration device ID.

make (String)

The make of the vehicle, e.g. Tesla.

model (String)

The model of the vehicle, e.g. Model 3.

name (String)

The user-friendly name for the device.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

preferenceSetting (FlexDevicePreferenceSettingInterface)

The preference setting for this device.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

propertyId (String)

The id of the property linked to the device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface!)

Information about the current status of this device.

vehicleVariant (ElectricVehicleModelType)

This contains more detail about the variant of the vehicle model.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "BYD",
  "integrationDeviceId": "abc123",
  "status": SmartFlexDeviceStatusInterface,
  "propertyId": "abc123",
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard,
  "preferences": SmartFlexDevicePreferencesInterface,
  "preferenceSetting": FlexDevicePreferenceSettingInterface,
  "chargingSessions": DeviceChargingSessionConnection,
  "make": "abc123",
  "model": "abc123",
  "vehicleVariant": ElectricVehicleModelType,
  "chargePointVariant": ChargePointVariantModelType,
  "chargingPreferences": SmartFlexVehicleChargingPreferences
}

SmartFlexVehicleChargingPreferences

The user's preferences for charging, e.g. target SoC (State of Charge).

Fields

Name Description

maximumSoc (Int)

The maximum SoC (percentage).

minimumSoc (Int)

The minimum SoC (percentage).

weekdayTargetSoc (Int!)

The target SoC to achieve on a weekday (percentage).

weekdayTargetTime (Time!)

The time at which the target SoC should be achieved on a weekday.

weekendTargetSoc (Int!)

The target SoC to achieve on a weekend (percentage).

weekendTargetTime (Time!)

The time at which the target SoC should be achieved on a weekend.

Example

{
  "weekdayTargetTime": "00:00:00.000Z",
  "weekdayTargetSoc": 1,
  "weekendTargetTime": "00:00:00.000Z",
  "weekendTargetSoc": 1,
  "minimumSoc": 1,
  "maximumSoc": 1
}

SmartFlexVehicleStatus

The current status of a registered vehicle.

Fields

Name Description

current (SmartFlexDeviceLifecycleStatus)

The current status of the device.

currentState (SmartFlexDeviceState)

The current state of this SmartFlex device state machine.

isSuspended (Boolean)

Whether control of the device is currently disabled.

stateOfChargeLimit (StateOfChargeLimit)

Information about the limits for the SoC.

testDispatchFailureReason (TestDispatchAssessmentFailureReason)

The reason for the most recent failed test dispatch (if any).

Example

{
  "current": "ONBOARDING",
  "isSuspended": true,
  "currentState": "AUTHENTICATION_PENDING",
  "stateOfChargeLimit": StateOfChargeLimit,
  "testDispatchFailureReason": "NONE"
}

Fields

Name Description

readingFrequency (SmartMeterReadingFrequencyChoices)

The reading frequency for the smart meter.

readingsAnalysisConsentProvided (Boolean)

Has the user given consent that their readings can be used for further analysis?

readingsAnalysisConsentUpdatedDatetime (DateTime)

The datetime when the user gave consent that their readings can be used for further analysis.

Example

{
  "readingFrequency": "DAILY",
  "readingsAnalysisConsentProvided": true,
  "readingsAnalysisConsentUpdatedDatetime": "2020-01-01T00:00:00.000Z"
}

SmartMeterDeviceNetworkType

This is the network through which a set of SMETS2 devices communicates.

Fields

Name Description

id (ID!)

smartDevices ([SmartMeterDeviceType])

A list of devices attached to one network.

Example

{
  "id": "abc123",
  "smartDevices": [SmartMeterDeviceType]
}

SmartMeterDeviceType

A smart meter device.

Fields

Name Description

deviceId (String!)

deviceNetwork (SmartMeterDeviceNetworkType)

exportElectricityMeter (ElectricityMeterType)

firmwareVersion (String!)

gasMeter (GasMeterType)

id (ID!)

importElectricityMeter (ElectricityMeterType)

manufacturer (String!)

model (String!)

paymentMode (PaymentMode)

The payment mode (e.g. credit or prepayment) that the device is currently operating in.

serialNumber (String!)

status (DeviceStatus!)

type (DeviceType)

weeklyDebtRecoveryRateInPence (Int)

The rate, in pence per week, that debt is being recovered from this device.

Example

{
  "id": "abc123",
  "importElectricityMeter": ElectricityMeterType,
  "exportElectricityMeter": ElectricityMeterType,
  "gasMeter": GasMeterType,
  "deviceNetwork": SmartMeterDeviceNetworkType,
  "serialNumber": "abc123",
  "deviceId": "abc123",
  "type": "ESME",
  "status": "PENDING",
  "manufacturer": "abc123",
  "model": "abc123",
  "firmwareVersion": "abc123",
  "paymentMode": "PREPAY",
  "weeklyDebtRecoveryRateInPence": 1
}

Fields

Name Description

consumption (Decimal)

Total energy consumed by the meter measured in Wh.

consumptionDelta (Decimal)

Energy consumption in Wh between the read_at and the next reading.

costDelta (Decimal)

Energy cost excluding VAT for the consumption delta in pence.

costDeltaWithTax (Decimal)

Energy cost including VAT for the consumption delta in pence.

demand (Decimal)

Energy being demanded by the meter measured in W.

export (Decimal)

Total energy exported by the meter measured in Wh.

readAt (DateTime)

The start_at time of the telemetry data. E.g if querying in 30 minute intervals the reading may have been taken anywhere between 00:00:00 and 00:29:59 and represents the maximum reading taken in the time period.

Example

{
  "readAt": "2020-01-01T00:00:00.000Z",
  "consumption": "1.0",
  "export": "1.0",
  "demand": "1.0",
  "consumptionDelta": "1.0",
  "costDelta": "1.0",
  "costDeltaWithTax": "1.0"
}

Fields

Name Description

account (AccountType!)

id (ID!)

meterPoint (ElectricityMeterPointType)

product (EnergyProductType!)

Example

{
  "id": "abc123",
  "account": AccountType,
  "meterPoint": ElectricityMeterPointType,
  "product": EnergyProductType
}

SmartTariffComparisonType

Consumption cost for different smart tariffs.

Fields

Name Description

consumptionReadingsEndAt (DateTime!)

The datetime the consumption readings end.

consumptionReadingsStartAt (DateTime!)

The datetime the consumption readings start.

costComparisons ([TariffComparisonType])

Costs comparisons for available smart tariffs. Note: if product type is not supported or product doesn't have unit rates - it will not be included in response.

currentCost (Float!)

Total cost for a period.

currentCostWithTax (Float!)

Total cost with tax for a period.

Example

{
  "currentCost": 1.0,
  "currentCostWithTax": 1.0,
  "costComparisons": [TariffComparisonType],
  "consumptionReadingsStartAt": "2020-01-01T00:00:00.000Z",
  "consumptionReadingsEndAt": "2020-01-01T00:00:00.000Z"
}

SmartTariffOnboardingType

The smart tariff onboarding process. Only relevant for Kraken instances that support half hourly tariffs. Returns null if not applicable.

Fields

Name Description

id (ID!)

lastUpdated (String)

latestStatus (SmartOnboardingEventType)

latestTermsStatus (SmartOnboardingTermsStatuses)

smartTariffCode (SmartOnboardingTariffCodes)

Example

{
  "id": "abc123",
  "latestStatus": "STARTED",
  "latestTermsStatus": "TERMS_ACCEPTANCE_REQUIRED",
  "smartTariffCode": "AGILE_OCTOPUS",
  "lastUpdated": "abc123"
}

Smets2InstallationTimeslotType

A timeslot for which a property can make an appointment for installation of a smart-meter.

Fields

Name Description

appointmentDate (Date)

endTime (Time)

startTime (Time)

Example

{
  "appointmentDate": "2020-01-01",
  "startTime": "00:00:00.000Z",
  "endTime": "00:00:00.000Z"
}

Fields

Name Description

constantinesCaught ([CaughtConstantine])

List of caught Constantines for this set.

constantinesRemaining ([ConstantineType])

List of Constantines not yet caught for this set.

displayName (String)

The name of the set of Constantines.

isComplete (Boolean)

Is this Constantine set completed (all constantines in set caught).

prizeEntries (Int)

The amount of prizes entries completing the set is worth.

slug (String)

The slug for this kind of Constantine set.

Example

{
  "displayName": "abc123",
  "slug": "abc123",
  "isComplete": true,
  "constantinesCaught": [CaughtConstantine],
  "constantinesRemaining": [ConstantineType],
  "prizeEntries": 1
}

Fields

Name Description

date (Date)

The date of the data.

hour (Int)

The numerical hour of the data.

value (Float)

The estimated solar generation in kWh.

Example

{
  "date": "2020-01-01",
  "hour": 1,
  "value": 1.0
}

Fields

Name Description

solarGenerationEstimates ([SolarGenerationEstimateType])

A list of solar generation estimates.

Example

{
  "solarGenerationEstimates": [SolarGenerationEstimateType]
}

Fields

Name Description

powerInKw (Decimal)

The current power being generated by the solar panels in kW. This will be null if there are no solar panels, 0 if there are solar panels but they are not generating, or a positive value if they are generating.

Example

{
  "powerInKw": "1.0"
}

SpecialCircumstanceRecordType

Any special circumstances that the user has notified us about, which may entitle them to some specialist services.

Fields

Name Description

createdAt (DateTime)

The date and time the special circumstance record was created.

electricityPSRCode (String)

gasPSRCode (String)

id (ID)

internalCode (String)

summary (String)

Example

{
  "id": "abc123",
  "summary": "abc123",
  "internalCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "gasPSRCode": "abc123",
  "electricityPSRCode": "abc123"
}

SpecialCircumstancesType

Information about the special circumstances that relate to a user.

Fields

Name Description

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])

A list of special circumstance records, both temporary and permanent.

Example

{
  "isSharingConsentGiven": true,
  "records": [SpecialCircumstanceRecordUnion]
}

SpinWheelOfFortune

The possible errors that can be raised are:

  • KT-CT-7011: Terms must be accepted.
  • KT-CT-7023: Unauthorized.
  • KT-CT-7010: The account does not have any available submissions.
  • KT-CT-7012: Wheel of Fortune submission error.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

spinResult (WheelOfFortuneSpinResultType)

The result of the Wheel of Fortune spin.

This field requires the Authorization header to be set.

Example

{
  "possibleErrors": [PossibleErrorType],
  "spinResult": WheelOfFortuneSpinResultType
}

Fields

Name Description

absoluteReductionPercentage (Float)

Absolute change in the percentage of daily consumption occurring in peak hours. e.g. if 14% pre and 12% post then this will relate to a 2% reduction in peak usage.

isReduction (Boolean)

True if peak consumption percentage has decreased after the clock change, False otherwise.

postPeakPercentage (Float)

Average percentage of total daily consumption that occurs during peak (4-7 PM) in the latest 14 days post clock change.

priorPeakPercentage (Float)

Average percentage of total daily consumption that occurs during peak (4-7 PM) in the 14 days prior to spring clock change.

relativeReductionPercentage (Float)

Relative change in the percentage of daily consumption occurring in peak hours. e.g. if 14% pre and 12% post then this will relate to a 14.3% reduction in peak usage.

Example

{
  "priorPeakPercentage": 1.0,
  "postPeakPercentage": 1.0,
  "absoluteReductionPercentage": 1.0,
  "relativeReductionPercentage": 1.0,
  "isReduction": true
}

Fields

Name Description

description (String)

displayName (String)

fullName (String)

id (ID)

isExport (Boolean)

Whether the tariff is for exporting energy.

preVatStandingCharge (Float)

preVatUnitRate (Float)

productCode (String)

standingCharge (Float)

tariffCode (String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

unitRate (Float)

unitRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123",
  "isExport": true,
  "unitRate": 1.0,
  "unitRateEpgApplied": true,
  "preVatUnitRate": 1.0
}

StartCustomerVerification

Start the customer verification using the provided verification method.

The possible errors that can be raised are:

  • KT-CT-1701: Brand does not exist.
  • KT-CT-4194: Verification type not supported yet.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

verificationProcess (VerificationProcess)

The newly created verification process.

Example

{
  "possibleErrors": [PossibleErrorType],
  "verificationProcess": VerificationProcess
}

StartExportOnboardingProcess

Onboarding for export tariffs.

This mutation kicks off the export onboarding for electricity.

The possible errors that can be raised are:

  • KT-GB-4103: Unable to start export onboarding process.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

onboardingProcess (SmartOnboardingProcessType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

productEnrolment (ProductEnrolmentType)

The product enrolment process created.

Example

{
  "possibleErrors": [PossibleErrorType],
  "onboardingProcess": SmartOnboardingProcessType,
  "productEnrolment": ProductEnrolmentType
}

StartSmartFlexOnboarding

Create a wizard for onboarding a device with SmartFlex.

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

StartSmartOnboardingProcess

Onboarding for smart tariffs.

This mutation kicks off the smart onboarding for electricity.

The possible errors that can be raised are:

  • KT-GB-4102: Unable to start smart onboarding process.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

onboardingProcess (SmartOnboardingProcessType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

productEnrolment (ProductEnrolmentType)

The product enrolment process created.

Example

{
  "possibleErrors": [PossibleErrorType],
  "onboardingProcess": SmartOnboardingProcessType,
  "productEnrolment": ProductEnrolmentType
}

StartTestChargeForSmartFlexOnboarding

Attempt to start a test charge.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4371: Onboarding wizard ID is invalid.
  • KT-CT-4372: Simultaneous attempts to update onboarding process.
  • KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try again later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Example

{
  "possibleErrors": [PossibleErrorType],
  "wizard": SmartFlexOnboardingWizard
}

Fields

Name Description

isLimitViolated (Boolean)

Whether or not target SoC exceeds upper SoC limit.

timestamp (String)

Time of the latest SoC limit reading.

upperSocLimit (Int)

Maximum level of charge allowed by the battery relative to its capacity (in percent).

Example

{
  "upperSocLimit": 1,
  "timestamp": "abc123",
  "isLimitViolated": true
}

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

Name Description

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

Name Description

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

Name Description

annulledBy (AnnulmentBillingDocumentType)

Billing document that annuls this statement.

documentDebtPosition (BillingDocumentPositionType)

Position of the billing document in the delinquent debt tracking system.

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

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,
  "documentDebtPosition": BillingDocumentPositionType
}

Fields

Name Description

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

Name Description

attachments (BillingAttachmentConnectionTypeConnection)

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.

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

Name Description

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"
}

StopAutomatedPayments

Choose how automatic payments will be collected.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3968: Preference cannot be set this soon.
  • KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType]
}

StoreElectricJuicePaymentInstruction

Store a new card instruction for Electric Juice from an embedded form.

The possible errors that can be raised are:

  • KT-CT-3923: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

paymentInstruction (PaymentInstructionType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "paymentInstruction": PaymentInstructionType
}

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

Name Description

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-Kraken-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

Name Description

customerFeedback (CustomerFeedbackType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

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

Name Description

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

Name Description

supplyEndAt (DateTime)

The end date of the supply period.

supplyStartAt (DateTime)

The start date of the supply period.

Example

{
  "supplyStartAt": "2020-01-01T00:00:00.000Z",
  "supplyEndAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (SupplyPointType)

The item at the end of the edge

Example

{
  "node": SupplyPointType,
  "cursor": "abc123"
}

Fields

Name Description

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"
}

SupplyPointType

Represents a SupplyPoint.

Fields

Name Description

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.

meterPoint (MeterPointType)

The meter point associated with this supply point.

property (PropertyType)

The supply point's property

readings (ReadingsConnection)

Get readings from this supply point.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "externalIdentifier": "abc123",
  "property": PropertyType,
  "readings": ReadingsConnection,
  "meterPoint": MeterPointType
}

SupplyProductType

GraphQL type for a supply product.

Fields

Name Description

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"
}

Fields

Name Description

maxSpinsPerMonth (Int)

The maximum number of spins per month, per fuel type.

remainingSpinsThisMonth (Int)

The number of spins remaining for this month, per fuel type.

usedSpinsThisMonth (Int)

The number of spins used this month, per fuel type.

Example

{
  "maxSpinsPerMonth": 1,
  "remainingSpinsThisMonth": 1,
  "usedSpinsThisMonth": 1
}

SuspendDeviceControl

Suspend control of a device while away from home, e.g. on holiday.

This is to prevent charging during that period.

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4358: Unable to suspend device control.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

krakenflexDevice (KrakenFlexDeviceType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "krakenflexDevice": KrakenFlexDeviceType
}

SwitchAccountToVariablePaymentSchedule

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3921: Account not found.
  • KT-CT-3922: Ledger not found for the account.
  • KT-CT-3947: An unexpected error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

schedule (PaymentScheduleType!)

New payment schedule.

Example

{
  "possibleErrors": [PossibleErrorType],
  "schedule": PaymentScheduleType
}

SwitchMeterPointProducts

Switch the provided meter points to the specified product.

The possible errors that can be raised are:

  • KT-GB-4116: Invalid data.
  • KT-GB-4617: Quoted product not found.
  • KT-CT-4623: Unauthorized.
  • KT-GB-4117: Unable to process product switch.
  • KT-GB-4119: Meter point already on another account.
  • KT-GB-4120: MPxN has no active agreement.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (AccountType)

The account associated with the meter points whose products were switched.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "account": AccountType
}

Fields

Name Description

groupId (String)

Grid Supply Point group id, eg. '_A'.

Example

{
  "groupId": "abc123"
}

Fields

Name Description

timestamp (DateTime)

The time the data was submitted.

value (Decimal)

The target temperature in Celsius.

Example

{
  "value": "1.0",
  "timestamp": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

cost (Float)

Cost of a tariff.

costWithTax (Float)

Cost of a tariff with tax.

productCode (String)

Product code.

tariff (String)

Tariff name.

Example

{
  "tariff": "abc123",
  "productCode": "abc123",
  "cost": 1.0,
  "costWithTax": 1.0
}

Fields

Name Description

additionals (String)

annualStandingCharge (Float)

assumedAnnualConsumptionDay (Int)

assumedAnnualConsumptionNight (Int)

estimatedAnnualCost (Int)

exitFees (Int)

exitFeesType (String)

paymentMethod (String)

priceGuaranteedUntil (String)

standingCharge (Float)

supplier (String)

tariffCode (String)

tariffComparisonRate (Float)

tariffEndsOn (String)

tariffName (String)

tariffType (String)

unitRateDay (Float)

unitRateNight (Float)

Example

{
  "supplier": "abc123",
  "tariffName": "abc123",
  "tariffType": "abc123",
  "tariffCode": "abc123",
  "paymentMethod": "abc123",
  "tariffEndsOn": "abc123",
  "priceGuaranteedUntil": "abc123",
  "exitFees": 1,
  "exitFeesType": "abc123",
  "additionals": "abc123",
  "tariffComparisonRate": 1.0,
  "standingCharge": 1.0,
  "estimatedAnnualCost": 1,
  "annualStandingCharge": 1.0,
  "unitRateDay": 1.0,
  "unitRateNight": 1.0,
  "assumedAnnualConsumptionDay": 1,
  "assumedAnnualConsumptionNight": 1
}

Fields

Name Description

additionals (String)

annualStandingCharge (Float)

assumedAnnualConsumption (Int)

estimatedAnnualCost (Int)

exitFees (Int)

exitFeesType (String)

paymentMethod (String)

priceGuaranteedUntil (String)

standingCharge (Float)

supplier (String)

tariffCode (String)

tariffComparisonRate (Float)

tariffEndsOn (String)

tariffName (String)

tariffType (String)

unitRate (Float)

Example

{
  "supplier": "abc123",
  "tariffName": "abc123",
  "tariffType": "abc123",
  "tariffCode": "abc123",
  "paymentMethod": "abc123",
  "tariffEndsOn": "abc123",
  "priceGuaranteedUntil": "abc123",
  "exitFees": 1,
  "exitFeesType": "abc123",
  "additionals": "abc123",
  "tariffComparisonRate": 1.0,
  "standingCharge": 1.0,
  "estimatedAnnualCost": 1,
  "annualStandingCharge": 1.0,
  "unitRate": 1.0,
  "assumedAnnualConsumption": 1
}

Fields

Name Description

additionals (String)

annualStandingCharge (Float)

assumedAnnualConsumptionDay (Int)

assumedAnnualConsumptionNight (Int)

assumedAnnualConsumptionOffPeak (Int)

estimatedAnnualCost (Int)

exitFees (Int)

exitFeesType (String)

paymentMethod (String)

priceGuaranteedUntil (String)

standingCharge (Float)

supplier (String)

tariffCode (String)

tariffComparisonRate (Float)

tariffEndsOn (String)

tariffName (String)

tariffType (String)

unitRateDay (Float)

unitRateNight (Float)

unitRateOffPeak (Float)

Example

{
  "supplier": "abc123",
  "tariffName": "abc123",
  "tariffType": "abc123",
  "tariffCode": "abc123",
  "paymentMethod": "abc123",
  "tariffEndsOn": "abc123",
  "priceGuaranteedUntil": "abc123",
  "exitFees": 1,
  "exitFeesType": "abc123",
  "additionals": "abc123",
  "tariffComparisonRate": 1.0,
  "standingCharge": 1.0,
  "estimatedAnnualCost": 1,
  "annualStandingCharge": 1.0,
  "unitRateDay": 1.0,
  "unitRateNight": 1.0,
  "unitRateOffPeak": 1.0,
  "assumedAnnualConsumptionDay": 1,
  "assumedAnnualConsumptionNight": 1,
  "assumedAnnualConsumptionOffPeak": 1
}

Fields

Name Description

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"
}

Temperature

Describes the temperature of something that is relevant to the heating system.

Fields

Name Description

unit (TemperatureUnit!)

The units in which the temperature is being measured.

value (Decimal)

The temperature measured.

Example

{
  "value": "1.0",
  "unit": "DEGREES_CELSIUS"
}

Fields

Name Description

maximum (Temperature)

The maximum allowable temperature in range.

minimum (Temperature)

The minimum allowable temperature in range.

Example

{
  "minimum": Temperature,
  "maximum": Temperature
}

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

Name Description

createdAt (DateTime)

The date and time the special circumstance record was created.

electricityPSRCode (String)

expiryDate (Date)

gasPSRCode (String)

id (ID)

internalCode (String)

summary (String)

Example

{
  "id": "abc123",
  "summary": "abc123",
  "internalCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "gasPSRCode": "abc123",
  "electricityPSRCode": "abc123",
  "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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

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

Name Description

amount (Decimal)

The amount of the termination fee.

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

feeType (TerminationFeeType)

The type of termination fee.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "amount": "1.0",
  "feeType": TerminationFeeType
}

Fields

Name Description

effectiveFrom (DateTime)

The date from which these terms and conditions are effective.

html (String!)

The html of the terms and conditions document rendered as a JSON string.

pdfUrl (String!)

The url location of the pdf.

text (String!)

The text body of the terms and conditions.

versionMajor (Int!)

The major version of the terms and conditions.

versionMinor (Int!)

The minor version of the terms and conditions.

Example

{
  "versionMajor": 1,
  "versionMinor": 1,
  "text": "abc123",
  "html": "abc123",
  "pdfUrl": "abc123",
  "effectiveFrom": "2020-01-01T00:00:00.000Z"
}

TermsAndConditionsConnectionTypeConnection

Pagination for terms and conditions.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([TermsAndConditionsConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": TermsAndConditionsConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

TermsAndConditionsConnectionTypeEdge

A Relay edge containing a TermsAndConditionsConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (TermsAndConditionsType)

The item at the end of the edge

Example

{
  "node": TermsAndConditionsType,
  "cursor": "abc123"
}

Fields

Name Description

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"
}

TeslaModifyScopes

A step which indicates that the Tesla permission scopes need to be granted by the user in order to register their vehicle.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

modifyScopesUri (String)

Returns the URI to update the permission scopes.

redirectUri (String)

The redirect URI to return to after updating the permission scopes.

Example

{
  "id": "abc123",
  "modifyScopesUri": "abc123",
  "redirectUri": "abc123"
}

TeslaRegistrationFailed

A step which indicates that the Tesla registration failed and the user must re-grant permission scopes to register their vehicle.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

modifyScopesSelected (Boolean)

Returns:- true if user wants to update permissions scopes.- false if user wants to retry the OAuth journey.- null if user has not made a decision.

Example

{
  "id": "abc123",
  "modifyScopesSelected": true
}

TeslaSetupVirtualKey

A step which indicates that the user must add the given URI as a virtual key in their Tesla account.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

key (String)

The name of the key to add.

uri (String)

The URI to add as a virtual key in the user's Tesla account.

Example

{
  "id": "abc123",
  "key": "abc123",
  "uri": "abc123"
}

TestCharge

A step which indicates if we're able to test charge the user's vehicle(s).

Fields

Name Description

error (TestChargeError)

Returns the error raised from a failed test charge.

id (ID)

A unique identifier for this onboarding step.

isReady (Boolean)

Returns true if the device is ready for a test charge.

isStarted (Boolean)

Returns true if the test charge has started.

status (TestDispatchStatus)

Returns the dispatch status of test charge.

Deprecated

The 'status' field is deprecated.

Please use 'isStarted' and 'error' instead.

- Marked as deprecated on 2024-12-12.
- Scheduled for removal on or after 2025-02-12.

Example

{
  "id": "abc123",
  "error": TestChargeError,
  "isReady": true,
  "status": "TRIGGERED",
  "isStarted": true
}

TestChargeError

Errors can be of two kinds (assuming the user is querying this type with message, reasons, errorType, and descriptions fields):

  1. If we were unable to start a test charge, the response will be: { "message": "TestChargeRefused", "reasons": [Returns a list of values from `TestChargeRefusalReason`], "errorType": "UNABLE_TO_INITIATE_TEST_CHARGE", "descriptions": [Returns a list of descriptions for the refusal reasons] }

    Where descriptions can be: - DEVICE_LIVE: "device is already live" - DEVICE_ONBOARDING_IN_PROGRESS: "test dispatch already in progress" - DEVICE_RETIRED: "device is retired" - DEVICE_SUSPENDED: "device is suspended" - DEVICE_DISCONNECTED: "device is disconnected" - DEVICE_ALREADY_CHARGING: "device is already charging" - DEVICE_AWAY_FROM_HOME: "device is away from home" - DEVICE_NO_LOCATION_CONFIGURED: "device has no location configured" - DEVICE_LOCATION_UNABLE_TO_IDENTIFY: "unable to identify device location" - DEVICE_LOCATION_MISSING: "device location is missing"

  2. If an error occurred during a test charge, the response will be: { "message": "Test dispatch failed", "reasons": [Returns a list of values from `TestDispatchAssessmentFailureReason`], "errorType": "UNABLE_TO_COMPLETE_TEST_CHARGE", "descriptions": [Returns a list of descriptions for the refusal reasons] }

    Where descriptions can be: - ASSESSMENTS_FAILED: "Both power-based and charge status-based assessments failed" - NOT_AT_HOME: "Device location not at home" - UNKNOWN: "Unknown failure" - UNABLE_TO_COMMUNICATE: "Unable to communicate with device" - DEVICE_DISCONNECTED: "Device disconnected" - SOC_LIMIT_REACHED: "State of charge limit reached" - ERROR: "Could not fetch the test charge failure reason" - NONE: "No failure reason"

Fields

Name Description

descriptions ([String])

A list of error descriptions for a failed test charge attempt.

errorType (TestChargeErrorType)

The type of test charge error.

message (String)

A human readable error message.

reasons ([String])

A list of reasons for a failed test charge attempt.

refusalReasons ([TestChargeRefusalReason])

A list of refusal reasons from the failed test charge attempt.

Deprecated

The 'refusalReasons' field is deprecated.

Please use `errorType` and `reasons` instead.

- Marked as deprecated on 2025-01-07.
- Scheduled for removal on or after 2025-01-29.

Example

{
  "message": "abc123",
  "refusalReasons": "DEVICE_LIVE",
  "errorType": "UNABLE_TO_INITIATE_TEST_CHARGE",
  "reasons": ["abc123"],
  "descriptions": ["abc123"]
}

TextType

A block of text.

Fields

Name Description

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"
}

ThirdPartyCompleteDeviceRegistration

Complete the registration of a device.

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-4322: Unable to complete registration error.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

success (ThirdPartyCompleteDeviceRegistrationType)

The response showing account validity and optional tariff information.

Example

{
  "possibleErrors": [PossibleErrorType],
  "success": ThirdPartyCompleteDeviceRegistrationType
}

Fields

Name Description

isAccountValid (Boolean!)

If the account is valid.

isTariffSwitchInProgress (Boolean!)

If a switch to the required tariff is in progress.

tariff (ThirdPartyTariffsType)

The tariff the account is on, if the switch is complete.

Example

{
  "isAccountValid": true,
  "isTariffSwitchInProgress": true,
  "tariff": ThirdPartyTariffsType
}

ThirdPartyOrganizationType

Type for the third party organization.

Fields

Name Description

name (String!)

permissions ([ThirdPartyPermission])

Holds information about the permissions of the current viewer.

Example

{
  "name": "abc123",
  "permissions": [ThirdPartyPermission]
}

ThirdPartyPermission

Holds information about a specific permission.

Fields

Name Description

permission (String)

The short name of the permission

Example

{
  "permission": "abc123"
}

Fields

Name Description

daysOfWeek ([String]!)

Day(s) of the week of the tariff interval.

endTime (String!)

Local 24hr end time of the tariff interval (format hh:mm).

startTime (String!)

Local 24hr start time of the tariff interval (format hh:mm).

tariffType (String!)

The type of tariff this is (e.g. peak or offPeak).

Example

{
  "startTime": "abc123",
  "endTime": "abc123",
  "daysOfWeek": "abc123",
  "tariffType": "abc123"
}

Fields

Name Description

currency (String!)

Currency according to the ISO 4217 standard.

price (Decimal!)

Price per kWh in the given currency.

type (String!)

The type of tariff this is (e.g. peak or offPeak).

Example

{
  "currency": "abc123",
  "price": "1.0",
  "type": "abc123"
}

Fields

Name Description

tariffIntervals ([ThirdPartyTariffIntervalType]!)

Tariff intervals of the charging location.

tariffs ([ThirdPartyTariffType]!)

Tariff rates of the charging location.

Example

{
  "tariffs": ThirdPartyTariffType,
  "tariffIntervals": ThirdPartyTariffIntervalType
}

Fields

Name Description

dayRate (Float)

dayRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

description (String)

displayName (String)

fullName (String)

id (ID)

isExport (Boolean)

Whether the tariff is for exporting energy.

nightRate (Float)

nightRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

offPeakRate (Float)

offPeakRateEpgApplied (Boolean)

Is EPG applied to the unit rate.

preVatDayRate (Float)

preVatNightRate (Float)

preVatOffPeakRate (Float)

preVatStandingCharge (Float)

productCode (String)

standingCharge (Float)

tariffCode (String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123",
  "isExport": true,
  "dayRate": 1.0,
  "dayRateEpgApplied": true,
  "nightRate": 1.0,
  "nightRateEpgApplied": true,
  "offPeakRate": 1.0,
  "offPeakRateEpgApplied": true,
  "preVatDayRate": 1.0,
  "preVatNightRate": 1.0,
  "preVatOffPeakRate": 1.0
}

Fields

Name Description

discount (Decimal)

The discount that is rewarded when the power crosses the corresponding threshold. Ranges from 0.0 - 1.0.

power (Decimal)

The power (kW) that must be surpassed to achieve the corresponding discount.

windSpeed (Decimal)

The wind speed (m/s) that corresponds to the power cut-off for this threshold.

Example

{
  "power": "1.0",
  "discount": "1.0",
  "windSpeed": "1.0"
}

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

Name Description

description (NonEmptyString)

The description of the term.

displayName (NonEmptyString)

The display name of the term.

identifier (NonEmptyString)

The identifier of the term.

isVariable (Boolean)

Whether the term is variable.

type (NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true
}

Fields

Name Description

validFrom (DateTime!)

validTo (DateTime)

value (String!)

Token's identifying value.

Example

{
  "value": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

TrackOptionType

Key value pair for the choice of tracks.

Fields

Name Description

trackCode (String)

The value save for the user to indicate their choice of track.

trackTitle (String)

The title of the track.

Example

{
  "trackTitle": "abc123",
  "trackCode": "abc123"
}

Fields

Name Description

demoUrl (String)

URL for tracker demo.

electricity (Int)

Today's electricity costs (in pence).

gas (Int)

Today's gas costs (in pence).

Example

{
  "demoUrl": "abc123",
  "electricity": 1,
  "gas": 1
}

Fields

Name Description

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

Name Description

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

Name Description

cursor (String!)

A cursor for use in pagination

node (TransactionType)

The item at the end of the edge

Example

{
  "node": TransactionType,
  "cursor": "abc123"
}

TransferLedgerBalance

Trigger balance transfer between accounts.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3823: Unauthorized.
  • KT-CT-9701: Balance transfer to same account is not allowed.
  • KT-CT-9702: Balance transfer is not support for debit account with Zero balance.
  • KT-CT-9703: Balance transfer is not supported for debit account.
  • KT-CT-9704: Balance transfer amount should be non-zero.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

balanceTransfer (AccountBalanceTransferType)

Balance transfer details.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "balanceTransfer": AccountBalanceTransferType
}

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

Name Description

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-Kraken-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
}

Fields

Name Description

createdAt (DateTime!)

The date/time that the trigger was created.

id (String!)

The ID of the trigger.

messages (MessageConnection!)

The messages created in response to this trigger.

processingStatus (TriggerProcessingStatus!)

The current processing status of this trigger.

triggerTypeCode (String!)

The trigger type code for this trigger.

Example

{
  "id": "abc123",
  "triggerTypeCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "messages": MessageConnection,
  "processingStatus": "UNPROCESSED"
}

TriggerPostUploadOperations

The possible errors that can be raised are:

  • KT-CT-8710: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

operationsTriggered (Boolean)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "operationsTriggered": true
}

Fields

Name Description

addressKey (String!)

The non-human-legible address in a single string.

addressLine1 (String)

First address line.

addressLine2 (String)

Second address line.

addressLine3 (String)

Third address line.

addressLine4 (String)

Fourth address line.

addressLine5 (String)

Fifth address line.

display (String!)

The complete and human-legible address in a single string.

postcode (String!)

Postcode.

uprn (String)

Unique Property Reference Number.

Example

{
  "uprn": "abc123",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "addressLine4": "abc123",
  "addressLine5": "abc123",
  "postcode": "abc123",
  "display": "abc123",
  "addressKey": "abc123"
}

Fields

Name Description

uprn (String)

Unique Property Reference Number.

Example

{
  "uprn": "abc123"
}

UnenrollAccountFromLoyaltyProgram

Unenroll an account from the loyalty program.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9220: Ineligible loyalty points unenrollment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

outcome (UnenrollAccountFromLoyaltyProgramOutcome)

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-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "outcome": UnenrollAccountFromLoyaltyProgramOutcome
}

Fields

Name Description

hasUnenrolled (Boolean)

Indicates whether the account has been unenrolled from the loyalty points campaign.

Example

{
  "hasUnenrolled": true
}

Fields

Name Description

display (String!)

The human-legible address in a single string, excluding the postcode.

locality1 (String)

Dependant locality e.g. 'Durham'.

locality2 (String)

Double dependant locality e.g. 'Durham East'.

postcode (String!)

The postcode of the address.

primaryName (String)

Primary Addressable Object description, normally the name or number of the property e.g. 'London House'.

secondaryName (String)

Secondary Addressable Object description, e.g. 'Flat 2'. This is only relevant for a child property.

street1 (String)

The thoroughfare e.g. 'Witton Grove'.

street2 (String)

Dependant thoroughfare e.g. 'Witton Grove East'.

town (String)

The town or city e.g. 'London'.

uprn (String!)

The Unique Property Reference Number assigned to the addressable location.

Example

{
  "uprn": "abc123",
  "display": "abc123",
  "primaryName": "abc123",
  "secondaryName": "abc123",
  "street1": "abc123",
  "street2": "abc123",
  "locality1": "abc123",
  "locality2": "abc123",
  "town": "abc123",
  "postcode": "abc123"
}

Fields

Name Description

preVatValue (Float)

Price in pence (not including VAT).

validFrom (DateTime)

validTo (DateTime)

value (Float)

Price in pence (inc VAT).

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "value": 1.0,
  "preVatValue": 1.0
}

UpdateAPIException

The possible errors that can be raised are:

  • KT-CT-7804: No fields present in the input for updating the APIException.
  • KT-CT-7803: Received an invalid apiExceptionId.
  • KT-CT-7809: Update results in no changes to API Exception.
  • KT-CT-7805: Too many tags associated with this API Exception.
  • KT-CT-7806: Cannot create duplicate tags for the same API exception.
  • KT-CT-7801: Received an invalid operationsTeamId.
  • KT-CT-7811: Received an invalid assignedUserId.
  • KT-CT-7812: Support user is inactive.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

apiException (APIExceptionType)

The updated APIException.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "apiException": APIExceptionType
}

UpdateAPIExceptionNote

The possible errors that can be raised are:

  • KT-CT-7807: Received an invalid apiExceptionNoteId.
  • KT-CT-7808: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

apiException (APIExceptionType)

The updates APIExceptionNote.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "apiException": APIExceptionType
}

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

Name Description

account (AccountType)

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-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "account": AccountType
}

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

Name Description

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-Kraken-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
}

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

Name Description

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-Kraken-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

Name Description

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-Kraken-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
}

UpdateAccountSmartMeterInterest

Set stated interest in acquiring a smart meter of an account.

The possible errors that can be raised are:

  • KT-GB-4115: Could not create smart meter interest for account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

interestUpdated (Boolean)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

smets2Interest (SmartMeterInterestChoices)

The interest of an account in procuring smart meters.

smets2InterestSource (SmartMeterInterestSourceChoices)

The source category of the smart meter interest update.

smets2RefusalReason (SMETS2InterestReason)

The reason why the account holder is not interested in having a smart meter installed.

Example

{
  "possibleErrors": [PossibleErrorType],
  "interestUpdated": true,
  "smets2Interest": "PRIORITY",
  "smets2InterestSource": "WEBSITE",
  "smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME"
}

UpdateAccountUserCommsPreferencesMutationPayload

Update the account user comms preferences.

Fields

Name Description

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

Name Description

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-Kraken-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

Name Description

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

Name Description

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-Kraken-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
}

Update an affiliate link of an existing sales agent.

The possible errors that can be raised are:

  • KT-CT-7711: Invalid data.
  • KT-CT-7713: Invalid data.
  • KT-CT-7714: Invalid data.
  • KT-CT-7715: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

affiliateLink (AffiliateLinkType)

The updated affiliate link.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "affiliateLink": AffiliateLinkType
}

UpdateAffiliateOrganisation

Update an affiliate organisation.

The possible errors that can be raised are:

  • KT-CT-7717: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

affiliateOrganisation (AffiliateOrganisationType)

The updated affiliate organisation.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "affiliateOrganisation": AffiliateOrganisationType
}

UpdateAgreementPeriod

Update the period of an agreement.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1503: Agreement validto date must be later than validfrom date.
  • KT-CT-1504: Account does not match with the agreement.
  • KT-CT-1505: Unable to edit agreement.
  • KT-CT-1506: Agreement period is not within the supply and property period.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

account (AccountType)

Account responsible for the update agreement.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "account": AccountType
}

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-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

schedule (PaymentScheduleType)

The new schedule created.

Example

{
  "possibleErrors": [PossibleErrorType],
  "schedule": PaymentScheduleType
}

UpdateCharityDonation

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-GB-11901: Could not update charity donation.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

amount (CharityDonationAmountChoices!)

Amount that will be donated each month.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "amount": "ONE"
}

UpdateCollectionProcessRecordToActive

Update the Collection Process Record from raised status to active

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11202: No External reference provided.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

collectionProcessActivated (UpdateCollectionProcessRecordToActiveOutputType)

Whether the collection process was successfully 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-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "collectionProcessActivated": UpdateCollectionProcessRecordToActiveOutputType
}

UpdateCollectionProcessRecordToActiveOutputType

Output for updating a Collection process Record to Active.

Fields

Name Description

number (String)

The number of the collection process record.

status (CollectionProcessRecordStatusTypes)

The current status of the collection process record.

Example

{
  "number": "abc123",
  "status": "PENDING"
}

UpdateCollectionProcessRecordToComplete

Update the Collection Process Record from raised status to complete

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11203: No Completion reason provided.
  • KT-CT-11204: No Completion details provided.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

collectionProcessComplete (UpdateCollectionProcessRecordToCompleteOutputType)

Whether the collection process was successfully 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-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "collectionProcessComplete": UpdateCollectionProcessRecordToCompleteOutputType
}

UpdateCollectionProcessRecordToCompleteOutputType

Output for updating a Collection process Record to Complete.

Fields

Name Description

number (String)

The number of the collection process record.

status (CollectionProcessRecordStatusTypes)

The current status of the repayment request.

Example

{
  "number": "abc123",
  "status": "PENDING"
}

UpdateCommsDeliveryPreference

Update the comms delivery preference for the 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

Name Description

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-Kraken-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
}

UpdateCommsHubStatus

Update the status of the communications hub.

The possible errors that can be raised are:

  • KT-GB-4026: Either the mpxn or mpan input must be provided.
  • KT-GB-4027: If both mpxn and mpan are provided, they must match.
  • KT-GB-4028: Please input a valid MPxN.
  • KT-GB-4029: Meter point not found for MPAN.
  • KT-GB-4030: Meter point not found for MPRN.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

requestReference (String)

The id of the Request object in Kraken.

Example

{
  "possibleErrors": [PossibleErrorType],
  "requestReference": "abc123"
}

UpdateDCAProceeding

The possible errors that can be raised are:

  • KT-CT-11610: unable to edit the debt collection proceeding.
  • KT-CT-11604: Active debt collection proceeding does not exist for account.
  • KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

dcaProceedingUpdateStatus (DCAProceedingUpdateStatus)

Whether the update has been applied.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "dcaProceedingUpdateStatus": DCAProceedingUpdateStatus
}

UpdateFlowTemperatureConfiguration

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

transactionId (ID)

Unique ID associated with this operation.

Example

{
  "possibleErrors": [PossibleErrorType],
  "transactionId": "abc123"
}

UpdateLeadAssignment

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

updatedLeadData (JSONString)

Arguments passed.

Example

{
  "possibleErrors": [PossibleErrorType],
  "updatedLeadData": {"key": "value"}
}

UpdateLeadDetails

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-8913: Organisation is not valid to be assigned.
  • KT-CT-8914: Stage not found.
  • KT-CT-8915: Stages are not in the same funnel.
  • KT-CT-8916: Current stage mismatch.
  • KT-CT-8917: Stage transition not allowed.
  • KT-CT-8918: Stage precondition not met.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

updatedLeadData (JSONString)

Arguments passed.

Example

{
  "possibleErrors": [PossibleErrorType],
  "updatedLeadData": {"key": "value"}
}

Fields

Name Description

clientMutationId (String)

tags ([InkTag!]!)

Confirmed tags.

Example

{
  "tags": InkTag,
  "clientMutationId": "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

Name Description

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-Kraken-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
}

UpdateOpportunityAssignment

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

updatedOpportunityData (JSONString)

Arguments passed.

Example

{
  "possibleErrors": [PossibleErrorType],
  "updatedOpportunityData": {"key": "value"}
}

UpdateOpportunityExtraDetails

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

extraDetails (JSONString)

The opportunity's extra details to be added 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-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "extraDetails": {"key": "value"}
}

UpdateOpportunityStage

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-8910: Received opportunity current stage is not valid.
  • KT-CT-8914: Stage not found.
  • KT-CT-8915: Stages are not in the same funnel.
  • KT-CT-8916: Current stage mismatch.
  • KT-CT-8917: Stage transition not allowed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

message (String)

Placeholder success message for now.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "message": "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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

viewer (AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "possibleErrors": [PossibleErrorType],
  "viewer": AccountUserType
}

UpdatePaymentSchedulePaymentAmount

The possible errors that can be raised are:

  • KT-GB-3919: Invalid payment schedule amount.
  • KT-GB-3920: Cannot update payment schedule amount.
  • KT-CT-3923: Unauthorized.
  • KT-CT-3941: Invalid data.
  • KT-CT-3942: An unexpected error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

paymentSchedule (PaymentScheduleType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "paymentSchedule": PaymentScheduleType
}

UpdatePaymentSchedulePaymentDay

The possible errors that can be raised are:

  • KT-GB-3918: Account not found.
  • KT-GB-3910: This feature is not available to business accounts.
  • KT-GB-3911: Your payment day cannot be changed at this time.
  • KT-GB-3912: Unable to update payment day.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

paymentSchedule (PaymentScheduleType)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "paymentSchedule": PaymentScheduleType
}

UpdateProductPricesOutput

Rate group prices for a product.

Fields

Name Description

prices ([RateGroupPrices!]!)

The rate group prices.

Example

{
  "prices": RateGroupPrices
}

UpdateSensorDisplayName

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

transactionId (ID)

Unique ID associated with updating a sensor attribute.

Example

{
  "possibleErrors": [PossibleErrorType],
  "transactionId": "abc123"
}

UpdateSiteworksRequest

The possible errors that can be raised are:

  • KT-CT-4231: Unauthorized.
  • KT-CT-4232: Status passed is not valid.
  • KT-CT-4233: Request does not exist.
  • KT-CT-4234: Terminated Request cannot be updated.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

siteworksRequest (CoreSiteworksRequestType)

The siteworks request after the update.

Example

{
  "possibleErrors": [PossibleErrorType],
  "siteworksRequest": CoreSiteworksRequestType
}

UpdateSmartMeterDataPreferences

Update smart meter data preferences of an account.

The possible errors that can be raised are:

  • KT-CT-4023: Unauthorized.
  • KT-GB-4015: Cannot update smart meter reading frequency preferences.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

preferencesUpdated (Boolean)

smartMeterDataPreferences (SmartMeterDataPreferencesType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "preferencesUpdated": true,
  "smartMeterDataPreferences": SmartMeterDataPreferencesType
}

UpdateSpecialCircumstances

The possible errors that can be raised are:

  • KT-GB-5411: Failed to update special circumstance record.
  • KT-CT-9404: Received an invalid accountUserId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

specialCircumstances (SpecialCircumstancesType)

Return type displaying an AccountUser's special circumstances.

Example

{
  "possibleErrors": [PossibleErrorType],
  "specialCircumstances": SpecialCircumstancesType
}

UpdateSpecialCircumstancesAsOrganization

The possible errors that can be raised are:

  • KT-GB-5411: Failed to update special circumstance record.
  • KT-CT-9404: Received an invalid accountUserId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

specialCircumstances (SpecialCircumstancesType)

Return type displaying an AccountUser's special circumstances.

Example

{
  "possibleErrors": [PossibleErrorType],
  "specialCircumstances": SpecialCircumstancesType
}

UpdateSsd

Mutation to update the Supply Start Date (SSD) of an account.

The possible errors that can be raised are:

  • KT-GB-4101: Unable to update SSD for account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

estimatedSsd (Date)

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

ssdUpdated (Boolean)

Example

{
  "possibleErrors": [PossibleErrorType],
  "ssdUpdated": true,
  "estimatedSsd": "2020-01-01"
}

UpdateSupplyPointMetadata

The possible errors that can be raised are:

  • KT-CT-8413: Invalid data.
  • KT-CT-8415: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

metadata (Metadata)

The updated 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-Kraken-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
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

viewer (AccountUserType)

Example

{
  "possibleErrors": [PossibleErrorType],
  "viewer": AccountUserType
}

UpdateWaterSetpoint

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

transactionId (ID)

Unique ID associated with this operation.

Example

{
  "possibleErrors": [PossibleErrorType],
  "transactionId": "abc123"
}

UploadPostRequest

Information that should be used in the POST request to the S3 API.

For more details please see this.

Fields

Name Description

fields (JSONString!)

key (String!)

url (String!)

Example

{
  "url": "abc123",
  "fields": {"key": "value"},
  "key": "abc123"
}

Fields

Name Description

location (String)

Present for completed dispatches, otherwise null. The only relevant value is AT_HOME if present.

source (String)

Present for planned dispatches, otherwise null. Value can be smart-charge, test-charge or bump-charge.

Example

{
  "source": "abc123",
  "location": "abc123"
}

Fields

Name Description

delta (Decimal)

Energy in kWh (import has a negative value).

deltaKwh (Int)

This field has been replaced by delta.

Deprecated

The 'deltaKwh' field is deprecated.

`delta` has replaced `deltaKwh` for increased precision.

- Marked as deprecated on 2024-04-19.
- Scheduled for removal on or after 2025-01-01.

end (DateTime!)

The end time of the dispatch.

endDt (String)

This field has been replaced by end.

Deprecated

The 'endDt' field is deprecated.

`end` has replaced `end_dt` for improved typing.

- Marked as deprecated on 2024-04-19.
- Scheduled for removal on or after 2025-01-01.

meta (UpsideDispatchMetaType)

Override Field to add additional attributes and extend description with possible_errors

start (DateTime!)

The start time of the dispatch.

startDt (String)

This field has been replaced by start.

Deprecated

The 'startDt' field is deprecated.

`start` has replaced `start_dt` for improved typing.

- Marked as deprecated on 2024-04-19.
- Scheduled for removal on or after 2025-01-01.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z",
  "startDt": "abc123",
  "endDt": "abc123",
  "deltaKwh": 1,
  "delta": "1.0",
  "meta": UpsideDispatchMetaType
}

Fields

Name Description

bookSmartMeterInstallation (String)

URL to book a smart meter installation for the given account and property.

savingSessionsDashboard (String)

Pre-signed URL to the saving session dashboard.

savingSessionsJoinCampaign (String)

Pre-signed URL to join the Saving Sessions campaign.

tariffRenewal (String)

The tariff renewal URL for the given account.

Deprecated

The 'tariffRenewal' field is deprecated.

Fetching anonymous journey URLs via API is no longer supported.

- Marked as deprecated on 2025-02-25.
- Scheduled for removal on or after 2025-05-25.

wheelOfFortuneElec (String)

The Wheel of Fortune URL for the given account's electricity meter.

Deprecated

The 'wheelOfFortuneElec' field is deprecated.

Fetching Wheel of Fortune URLs via API is no longer supported.

- Marked as deprecated on 2025-02-25.
- Scheduled for removal on or after 2025-08-25.

wheelOfFortuneGas (String)

The Wheel of Fortune URL for the given account's gas meter.

Deprecated

The 'wheelOfFortuneGas' field is deprecated.

Fetching Wheel of Fortune URLs via API is no longer supported.

- Marked as deprecated on 2025-02-25.
- Scheduled for removal on or after 2025-08-25.

Example

{
  "wheelOfFortuneElec": "abc123",
  "wheelOfFortuneGas": "abc123",
  "tariffRenewal": "abc123",
  "bookSmartMeterInstallation": "abc123",
  "savingSessionsJoinCampaign": "abc123",
  "savingSessionsDashboard": "abc123"
}

UserActionReason

A type that returns a user action that needs to be completed for the device to be successfully registered.

Fields

Name Description

description (String)

Description of the required user action.

uri (String)

An optional uri that, if provided, can navigate the user to where they can resolve this required action.

userAction (String)

Reference key to the required user action.

Example

{
  "userAction": "abc123",
  "description": "abc123",
  "uri": "abc123"
}

UserActionRequired

A type that returns user actions that need to be completed for the device to be successfully registered

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

userActions ([UserActionReason])

List of actions the user must resolve in order for the device to be registered.

Example

{
  "id": "abc123",
  "userActions": [UserActionReason]
}

UserManagedPayment

Represents the preference of the user to pay himself, instead of get charged.

Fields

Name Description

forPaymentsAfter (String)

The start time of the payment preference.

Example

{
  "forPaymentsAfter": "abc123"
}

Fields

Name Description

information (VehicleInformationType)

Override Field to add additional attributes and extend description with possible_errors

vehicleId (String)

Example

{
  "vehicleId": "abc123",
  "information": VehicleInformationType
}

Fields

Name Description

bankName (String)

branch (String)

county (String)

line1 (String)

line2 (String)

line3 (String)

line4 (String)

postcode (String)

town (String)

Example

{
  "bankName": "abc123",
  "branch": "abc123",
  "county": "abc123",
  "line1": "abc123",
  "line2": "abc123",
  "line3": "abc123",
  "line4": "abc123",
  "town": "abc123",
  "postcode": "abc123"
}

ValidateEmail

Validate whether a user's email is a valid email via the Kickbox API.

Fields

Name Description

isValid (Boolean)

Whether the email is valid or not.

Example

{
  "isValid": true
}

ValidatePhone

Validate whether a user's phone number is a valid phone number.

Fields

Name Description

isValid (Boolean)

Whether the phone number is valid or not.

Example

{
  "isValid": true
}

VaryContractTermsOutput

Output type for varying contract terms.

Fields

Name Description

contract (Contract)

The contract with the varied terms.

Example

{
  "contract": Contract
}

Fields

Name Description

maximumSocPercentage (Int)

The maximum state of charge (soc) %, if available.

minimumSocPercentage (Int)

The minimum state of charge (soc) %, if available.

weekdayTargetSoc (Int)

weekdayTargetTime (String)

weekendTargetSoc (Int)

weekendTargetTime (String)

Example

{
  "weekdayTargetTime": "abc123",
  "weekdayTargetSoc": 1,
  "weekendTargetTime": "abc123",
  "weekendTargetSoc": 1,
  "minimumSocPercentage": 1,
  "maximumSocPercentage": 1
}

Fields

Name Description

brand (String)

displayName (String)

The (user chosen) display name of the vehicle, if available.

model (String)

The model name of the vehicle, if available (e.g. i3s 120).

vin (String)

year (Int)

The year of the vehicle model, if available.

Example

{
  "vin": "abc123",
  "brand": "abc123",
  "model": "abc123",
  "year": 1,
  "displayName": "abc123"
}

Fields

Name Description

status (String)

Verification process status.

type (String)

Verification type.

userNumber (String)

Customer with pending verification.

Example

{
  "userNumber": "abc123",
  "status": "abc123",
  "type": "abc123"
}

VerifyCustomer

Verify a customer using the provided code and verification type.

The possible errors that can be raised are:

  • KT-CT-4191: Error while verifying the customer.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

user (AccountUserType)

The currently authenticated user.

Example

{
  "possibleErrors": [PossibleErrorType],
  "user": AccountUserType
}

VerifyEmail

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

isVerified (Boolean)

Whether the email is verified.

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType],
  "isVerified": true
}

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

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

token (String!)

An expiring token that can be used to request to update the user's email address.

Example

{
  "possibleErrors": [PossibleErrorType],
  "token": "abc123"
}

VoiceCampaignConnectionTypeConnection

Paginator of Voice Campaigns

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([VoiceCampaignConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": VoiceCampaignConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

VoiceCampaignConnectionTypeEdge

A Relay edge containing a VoiceCampaignConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (VoiceCampaignType)

The item at the end of the edge

Example

{
  "node": VoiceCampaignType,
  "cursor": "abc123"
}

VoiceCampaignItemConnectionTypeConnection

Paginator of Campaign Items

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([VoiceCampaignItemConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": VoiceCampaignItemConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

VoiceCampaignItemConnectionTypeEdge

A Relay edge containing a VoiceCampaignItemConnectionType and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (VoiceCampaignItemType)

The item at the end of the edge

Example

{
  "node": VoiceCampaignItemType,
  "cursor": "abc123"
}

Fields

Name Description

accountId (ID)

The account ID associated with the item.

If the phone number for the item is not set, the account ID will be used to determine the phone number to call.

callWindowEnd (DateTime)

Together with call_window_start, this determines the time window in which the item should be called. Specified as ISO 8601 format.

callWindowStart (DateTime)

Together with call_window_end, this determines the time window in which the item should be called. Specified as ISO 8601 format.

id (ID)

The ID of the campaign item.

metadata (JSONString)

Metadata about the item.

This enables items to be filtered based on additional information such as location. It is a dictionary of key-value pairs, with both keys and values being strings.

phoneNumber (String)

The phone number of the campaign item.

This is used to determine the phone number to call when the item is processed. If it is not set, the account ID will be used instead to call the phone number associated with the account.

status (CampaignItemStatus!)

The status of the campaign item that determines what actions can be taken on it.

"UNASSIGNED":  An item that is ready to be assigned to an agent
"ASSIGNED":    An item that is assigned to an agent and ready to contact
"IN_PROGRESS": An item where a call is currently in progress
"COMPLETE":    An item has been contacted, and does not need to be re-contacted
"REMOVED":     An item that was removed without being contacted

Example

{
  "id": "abc123",
  "phoneNumber": "abc123",
  "status": "UNASSIGNED",
  "callWindowStart": "2020-01-01T00:00:00.000Z",
  "callWindowEnd": "2020-01-01T00:00:00.000Z",
  "accountId": "abc123",
  "metadata": {"key": "value"}
}

Fields

Name Description

campaignItems (VoiceCampaignItemConnectionTypeConnection)

The items that are part of the campaign.

These are the items that contain information about what phone numbers or accounts to call while this campaign is active.

campaignType (TypeOfVoiceCampaign)

The type of campaign, e.g. preview or predictive.

customOutboundPhoneNumber (String)

If appropriate, a custom number to use as the caller id for calls from this campaign.

description (String)

Additional information to describe the purpose of the campaign.

id (ID)

The ID of the campaign.

name (String!)

The name of the campaign.

This is used to identify the campaign in the system, and must be unique.

preventDuplicateRecords (Boolean)

Flag to indicate whether not to create a duplicate record when uploading campaign items that already exist for a given account number and/or phone number

status (CampaignStatus)

The status of the campaign.

Indicates whether calls can be made for items in the campaign or not.

tags (CallTagConnectionTypeConnection)

The call tags that can be used within this campaign.

Example

{
  "id": "abc123",
  "name": "abc123",
  "description": "abc123",
  "customOutboundPhoneNumber": "abc123",
  "tags": CallTagConnectionTypeConnection,
  "status": "ACTIVE",
  "campaignType": "PREVIEW",
  "campaignItems": VoiceCampaignItemConnectionTypeConnection,
  "preventDuplicateRecords": true
}

WaitForLiveIntegration

Indicates a step where the integration is pending activation.

Progress to the next onboarding step is blocked until the integration becomes active.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

isLive (Boolean)

Returns true if the device integration is supported by us, false otherwise.

Example

{
  "id": "abc123",
  "isLive": true
}

WaitForTransition

A generic step that can be used to hold an onboarding wizard until the device has transitioned from one onboarding state to another.

Generally, this step should be completed via a KF AMI event handler after the device has been registered and transitioned to the desired state.

Fields

Name Description

id (ID)

A unique identifier for this onboarding step.

Example

{
  "id": "abc123"
}

Fields

Name Description

additionalInformation (String)

addressIdentifier (String)

anticipatedCoverageAt (String)

auxiliaryEquipment (String)

connectivityLikelihood (String)

isCoverageAvailable (Boolean)

postcode (String)

wanTechnology (String)

Example

{
  "postcode": "abc123",
  "addressIdentifier": "abc123",
  "isCoverageAvailable": true,
  "anticipatedCoverageAt": "abc123",
  "wanTechnology": "abc123",
  "auxiliaryEquipment": "abc123",
  "connectivityLikelihood": "abc123",
  "additionalInformation": "abc123"
}

Fields

Name Description

applications (WarmHomeDiscountApplicationConnection)

Get the Warm Home Discount applications against this account. These are ordered to return the most recent first.

records (WarmHomeDiscountRecordConnection)

Get the Warm Home Discount records attached to this account. These are ordered to return the most recent first.


WarmHomeDiscountApplication

Get details about a Warm Home Discount application.

Fields

Name Description

qualifyingComponent (QualifyingComponentOptions)

Which component criteria was chosen for the Warm Home Discount application.

qualifyingCriteria (QualifyingCriteriaOptions)

Which criteria was chosen for the Warm Home Discount application.

rejectionReason (BroaderGroupRejectionReason)

Reason for rejecting a Warm Home Discount application.

status (Status)

The status of the Warm Home Discount application.

taxYear (String)

The tax year for which the application was made.

updatedAt (Date)

The last date on which this application was updated.

yearEnding (Int!)

Example

{
  "qualifyingCriteria": "SAVINGS_ELEMENT_OF_PENSION_CREDIT",
  "qualifyingComponent": "PERSONAL_INDEPENDENCE_PAYMENTS",
  "yearEnding": 1,
  "status": "PENDING",
  "rejectionReason": "APPLICATIONS_NOT_OPEN",
  "taxYear": "abc123",
  "updatedAt": "2020-01-01"
}

WarmHomeDiscountApplicationConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([WarmHomeDiscountApplicationEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": WarmHomeDiscountApplicationEdge,
  "totalCount": 1,
  "edgeCount": 1
}

WarmHomeDiscountApplicationEdge

A Relay edge containing a WarmHomeDiscountApplication and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (WarmHomeDiscountApplication)

The item at the end of the edge

Example

{
  "node": WarmHomeDiscountApplication,
  "cursor": "abc123"
}

Fields

Name Description

errors ([SerializerFieldErrorsType])

id (String)

Example

{
  "errors": [SerializerFieldErrorsType],
  "id": "abc123"
}

Fields

Name Description

isEligible (Boolean)

Is the customer eligible to apply for the Warm Home Discount as part of the Scottish Broader Group.

rejectionReason (String)

Reason why the customer is unable to apply.

Example

{
  "isEligible": true,
  "rejectionReason": "abc123"
}

WarmHomeDiscountRecord

Get details about a Warm Home Discount record.

Fields

Name Description

accountType (WhdAccountType)

Type of account receiving the discount. Either credit the account or payment via prepay cards.

credit (Int)

Amount in pence that was credited to the account as a result of the discount.

qualifyingComponent (QualifyingComponentOptions)

Which component criteria was chosen for the Warm Home Discount.

qualifyingCriteria (QualifyingCriteriaOptions)

Which criteria was chosen for the Warm Home Discount.

taxYear (String)

The tax year for which the credit was given.

yearEnding (Int!)

Example

{
  "accountType": "SMART_PREPAY",
  "yearEnding": 1,
  "qualifyingCriteria": "SAVINGS_ELEMENT_OF_PENSION_CREDIT",
  "qualifyingComponent": "PERSONAL_INDEPENDENCE_PAYMENTS",
  "credit": 1,
  "taxYear": "abc123"
}

WarmHomeDiscountRecordConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

Name Description

edgeCount (Int!)

Number of nodes in the edge.

edges ([WarmHomeDiscountRecordEdge]!)

Contains the nodes in this connection.

pageInfo (PageInfo!)

Pagination data for this connection.

totalCount (Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": WarmHomeDiscountRecordEdge,
  "totalCount": 1,
  "edgeCount": 1
}

WarmHomeDiscountRecordEdge

A Relay edge containing a WarmHomeDiscountRecord and its cursor.

Fields

Name Description

cursor (String!)

A cursor for use in pagination

node (WarmHomeDiscountRecord)

The item at the end of the edge

Example

{
  "node": WarmHomeDiscountRecord,
  "cursor": "abc123"
}

Fields

Name Description

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

Name Description

currentWaterTemperature (Decimal)

The current temperature of the hot water tank in Celsius.

waterTemperatureEnabled (Boolean)

Example

{
  "waterTemperatureEnabled": true,
  "currentWaterTemperature": "1.0"
}

Fields

Name Description

allowableMaximumTemperatureRange (TemperatureRange!)

The allowable range for the maximum value of flow temperature.

allowableMinimumTemperatureRange (TemperatureRange!)

The allowable range for the minimum value of flow temperature.

allowableRange (TemperatureRange!)

The minimum and maximum temperatures which may be selected, dictated by the device.

Deprecated

The 'allowableRange' field is deprecated.

Please use `allowableMinimumTemperatureRange` and `allowableMaximumTemperatureRange` instead.

- Marked as deprecated on 2025-01-14.
- Scheduled for removal on or after 2025-07-14.

currentRange (TemperatureRange!)

The min and max flow temperatures currently selected by the user.

enabled (Boolean!)

Whether weather compensation is enabled or not.

Example

{
  "enabled": true,
  "allowableRange": TemperatureRange,
  "allowableMinimumTemperatureRange": TemperatureRange,
  "allowableMaximumTemperatureRange": TemperatureRange,
  "currentRange": TemperatureRange
}

Fields

Name Description

accountId (Int)

The account identifier.

accountNumber (String)

The account number of the customer.

achievedCarbonIndex (AchievedCarbonIndexChoices)

The corresponding index (very-low, low, moderate, high, very-high).

achievedCarbonRank (String)

Where the customer ranks for carbon intensity within their region. (1=Greenest, 100=Dirtiest).

achievedCarbonRate (Float)

Achieved unit rate over that week period.

apiGspGroupName (String)

The name given to the GSP as per NG API.

carbonGrams (Float)

The corresponding total grams of C02 over that week period.

consumptionKwh (String)

The total consumption over that week period.

gspGroupId (String)

The GSP.

hasFullReadings (String)

Whether or not the customer has full readings within the week period.

isLatestWeek (String)

If the week is the latest week i.e if the date is 2024-03-06 (Wed) then the latest full week should be 2024-02-26 (Mon).

meterPointId (Int)

The meter point identifier.

mpan (String)

Corresponding MPAN.

numberPeriods (String)

The number of smart meter readings we have within the week period (should be 336).

periodEnd (DateTime)

The last meter reading we have for this customer within week period.

periodStart (DateTime)

The first meter reading we have for this customer within week period.

propertyId (Int)

The property identifier.

weekStart (DateTime)

The Monday of the week in question.

Example

{
  "accountId": 1,
  "meterPointId": 1,
  "weekStart": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123",
  "propertyId": 1,
  "mpan": "abc123",
  "gspGroupId": "abc123",
  "apiGspGroupName": "abc123",
  "consumptionKwh": "abc123",
  "carbonGrams": 1.0,
  "achievedCarbonRate": 1.0,
  "achievedCarbonIndex": "VERY_LOW",
  "periodStart": "2020-01-01T00:00:00.000Z",
  "periodEnd": "2020-01-01T00:00:00.000Z",
  "numberPeriods": "abc123",
  "hasFullReadings": "abc123",
  "isLatestWeek": "abc123",
  "achievedCarbonRank": "abc123"
}

Fields

Name Description

body (String!)

Whatsapp text message body.

Example

{
  "body": "abc123"
}

Fields

Name Description

prizeAmount (Int)

The amount won in cents.

Example

{
  "prizeAmount": 1
}

Fields

Name Description

segments ([Int])

The integer values that make up the WoF segments.

Example

{
  "segments": [1]
}

Fields

Name Description

winterGasComparison ([WinterGasComparisonType])

List of winter gas comparison values.

Example

{
  "winterGasComparison": [WinterGasComparisonType]
}

Fields

Name Description

comparisonGroup (ComparisonGroup)

The comparison group of the data (how we calculated the result).

numberOfBedrooms (Int)

The properties number of bedrooms.

percentageAboveGroupAvg (Float)

The measured gas consumption in comparison to group in percentage (can be negative).

periodStart (DateTime)

First day of the month the data is representing. Eg. '2024-11-01' for November.

postcodeAreacode (String)

The properties postcode areacode. Eg. 'NW'.

postcodeOutcode (String)

The properties postcode outcode. Eg. 'W1W'.

propertyType (String)

The property type, eg. 'Terraced'.

Example

{
  "periodStart": "2020-01-01T00:00:00.000Z",
  "comparisonGroup": "PROPERTY_BEDROOM_AREACODE",
  "propertyType": "abc123",
  "numberOfBedrooms": 1,
  "percentageAboveGroupAvg": 1.0,
  "postcodeOutcode": "abc123",
  "postcodeAreacode": "abc123"
}

WithdrawDunning

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11301: Account not in a dunning process for the given path name.
  • KT-CT-11302: No active dunning process found.
  • KT-CT-11303: Multiple active dunning processes found.
  • KT-CT-11306: Withdrawing the dunning process failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

Name Description

possibleErrors ([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

withdrawSuccessful (Boolean)

Whether the dunning process was withdrawn successfully.

Example

{
  "possibleErrors": [PossibleErrorType],
  "withdrawSuccessful": true
}

Fields

Name Description

identifier (String!)

The identifier of the work schedule (also known as the 'slug').

isOpen (Boolean!)

Whether the work schedule is currently open.

isPublicHoliday (Boolean!)

Whether today is a public holiday, according to the work schedule.

name (String!)

Name of the work schedule.

openOrClosedReason (WorkScheduleOpenOrClosedReason!)

The reason the Work Schedule is open or closed.

Example

{
  "identifier": "abc123",
  "name": "abc123",
  "isOpen": true,
  "isPublicHoliday": true,
  "openOrClosedReason": "CLOSED_DUE_TO_PUBLIC_HOLIDAY"
}

Fields

Name Description

boostEnabled (Boolean)

Whether or not boost is enabled for a sensor.

code (String)

Code name of the sensor.

displayName (String)

User determined name for a sensor.

firmwareVersion (String)

Sensor firmware version.

id (ID)

Sensor ID.

type (SensorType)

Sensor type (Zigbee).

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "type": "ZIGBEE",
  "id": "abc123",
  "firmwareVersion": "abc123",
  "boostEnabled": true
}

Fields

Name Description

callForHeat (Boolean)

Whether the zone is calling for heat.

code (Zone)

Code name of the zone.

currentOperation (ZoneCurrentOperation)

Current operation.

displayName (String)

User determined name for a zone.

emergency (Boolean)

Default mode, if the zone loses connection to the primary sensor.

enabled (Boolean)

Enabled allows zone to heat when callForHeat is True.

heatDemand (Boolean)

Whether there is demand for heat (True) or not (False).

previousOperation (ZonePreviousOperation)

Previous operation.

primarySensor (String)

Primary sensor for the zone.

sensors ([SensorConfiguration])

All associated sensors and ADCs.

zoneType (ZoneType)

What the zone is used for (heating, water etc).

Example

{
  "code": "WATER",
  "zoneType": "HEAT",
  "enabled": true,
  "displayName": "abc123",
  "primarySensor": "abc123",
  "currentOperation": ZoneCurrentOperation,
  "previousOperation": ZonePreviousOperation,
  "callForHeat": true,
  "heatDemand": true,
  "emergency": true,
  "sensors": [SensorConfiguration]
}

Fields

Name Description

action (OperationAction)

For zones which do not support setpoints, whether the operation was an ON or an OFF.

end (DateTime)

End time for the current operation.

mode (Mode)

Heating mode in zone.

setpointInCelsius (Float)

Target temperature for a zone, in celsius.

Example

{
  "mode": "ON",
  "setpointInCelsius": 1.0,
  "action": "ON",
  "end": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

transactionId (String!)

The transaction ID issued for the zone's name update.

zoneCode (Zone!)

The code of the heat pump controller zone.

Example

{
  "zoneCode": "WATER",
  "transactionId": "abc123"
}

Fields

Name Description

configuration (ZoneConfiguration)

Configuration for a zone.

schedules ([Schedule])

The heating schedules being used by this zone.

Example

{
  "configuration": ZoneConfiguration,
  "schedules": [Schedule]
}

Fields

Name Description

action (OperationAction)

For zones which do not support setpoints, whether the operation was an ON or an OFF.

mode (Mode)

Heating mode in zone.

setpointInCelsius (Float)

Target temperature for a zone, in celsius.

Example

{
  "mode": "ON",
  "setpointInCelsius": 1.0,
  "action": "ON"
}

Fields

Name Description

telemetry (ZoneTelemetry)

The telemetry data of a zone.

zone (Zone)

The heat pump controller zone, i.e. WATER, ZONE1, ZONE2 or AUXILIARY.

Example

{
  "zone": "WATER",
  "telemetry": ZoneTelemetry
}

Fields

Name Description

heatDemand (Boolean)

Whether there is demand for heat (True) or not (False).

mode (Mode)

Heating mode in zone.

relaySwitchedOn (Boolean)

Whether relay is currently switched on (True) or off (False).

retrievedAt (DateTime)

Time at which the telemetry was retrieved.

setpointInCelsius (Float)

Target temperature for a zone, in celsius.

Example

{
  "setpointInCelsius": 1.0,
  "mode": "ON",
  "relaySwitchedOn": true,
  "heatDemand": true,
  "retrievedAt": "2020-01-01T00:00:00.000Z"
}

Fields

Name Description

timestamp (DateTime)

The time the temperature was reported.

value (Decimal)

Value of the temperature in Celsius.

zone (String)

Name of the zone.

Example

{
  "zone": "abc123",
  "value": "1.0",
  "timestamp": "2020-01-01T00:00:00.000Z"
}

Authentication Server

Fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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
}