Skip to main content

Mutations

In this section

About Mutations

Every GraphQL schema has a root type for both queries and mutations. The mutation type defines GraphQL operations that change data on the server. It is analogous to performing HTTP verbs such as POST, PATCH, and DELETE.

acceptGoodsQuote

Type:AcceptGoodsQuote

Accept a goods quote.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (AcceptGoodsQuoteInput!)

Input fields for accepting a quote.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

goodsPurchase (GoodsPurchase)

Goods purchase created.

Mutation

mutation AcceptGoodsQuote($input: AcceptGoodsQuoteInput!) {
  acceptGoodsQuote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    goodsPurchase {
      ...GoodsPurchaseFragment
    }
  }
}

Variables

Response

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

acceptTermsAndConditions

Type:AcceptTermsAndConditions

Accept the terms and conditions.

Arguments

NameDescription

input (AcceptTermsAndConditionsInput!)

Input fields for accepting terms and conditions

Return fields

NameDescription

acceptedVersion (String)

Version of terms and conditions that were accepted.

Mutation

mutation AcceptTermsAndConditions($input: AcceptTermsAndConditionsInput!) {
  acceptTermsAndConditions(input: $input) {
    acceptedVersion
  }
}

Variables

Response

{
  "data": {
    "acceptTermsAndConditions": {
      "acceptedVersion": "abc123"
    }
  }
}

addCampaignToAccount

Type:AddCampaignToAccount

The possible errors that can be raised are:

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

Arguments

NameDescription

input (AddCampaignToAccountInput!)

Input variables needed for adding a campaign to an account.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

campaignAdded (Boolean)

Whether the campaign was successfully added.

Mutation

mutation AddCampaignToAccount($input: AddCampaignToAccountInput!) {
  addCampaignToAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    campaignAdded
  }
}

Variables

Response

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

addCreditToSmartMeter

Type:AddCreditToSmartMeter

Add credit to a smart prepay meter

Arguments

NameDescription

input (SmartPrepayMeterAmountInput!)

Controls which meter to top-up and by how much.

Return fields

NameDescription

amount (Int!)

Top-up amount in pence to add to smart meter

Mutation

mutation AddCreditToSmartMeter($input: SmartPrepayMeterAmountInput!) {
  addCreditToSmartMeter(input: $input) {
    amount
  }
}

Variables

Response

{
  "data": {
    "addCreditToSmartMeter": {
      "amount": 1
    }
  }
}

amendPayment

Type:AmendPayment

Amend an existing payment.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (AmendPaymentInput!)

Input fields for amending an existing payment.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

payment (AccountPaymentType)

Mutation

mutation AmendPayment($input: AmendPaymentInput!) {
  amendPayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    payment {
      ...AccountPaymentTypeFragment
    }
  }
}

Variables

{
  "input": AmendPaymentInput
}

Response

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

Arguments

NameDescription

input (AmendUnbilledReadingInput!)

Input fields for amending unbilled electricity reading.

Return fields

NameDescription

readingAmended (Boolean)

Mutation

mutation AmendUnbilledElectricityReading($input: AmendUnbilledReadingInput!) {
  amendUnbilledElectricityReading(input: $input) {
    readingAmended
  }
}

Variables

Response

{
  "data": {
    "amendUnbilledElectricityReading": {
      "readingAmended": true
    }
  }
}

apiKeyAuthentication

Type:APIKeyAuthentication

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

Arguments

NameDescription

apiKey (String!)

Return fields

NameDescription

token (String)

The DRF token to be used for authentication.

errors ([ErrorType])

Mutation

mutation ApiKeyAuthentication($apiKey: String!) {
  apiKeyAuthentication(apiKey: $apiKey) {
    token
    errors {
      ...ErrorTypeFragment
    }
  }
}

Variables

{
  "apiKey": "abc123"
}

Response

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

assignDiscountCode

Type:AssignDiscountCode

Assign discount code to account and account user if available and eligible. A confirmation email will be sent to the user with the discount code.

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.

Arguments

NameDescription

accountNumber (String)

The account number to assign the code to.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

discountCode (String)

The assigned discount code.

Mutation

mutation AssignDiscountCode($accountNumber: String) {
  assignDiscountCode(accountNumber: $accountNumber) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    discountCode
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

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

backendScreenEvent

Type:BackendScreenEvent

Look up an event to perform from its event_id, and return the next action to perform.

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.

Arguments

NameDescription

input (BackendScreenEventInput!)

Input fields for performing a backend action.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

action (ActionType)

An action to perform.

Mutation

mutation BackendScreenEvent($input: BackendScreenEventInput!) {
  backendScreenEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    action {
      ... on DeeplinkActionType {
        ...DeeplinkActionTypeFragment
      }
      ... on LinkActionType {
        ...LinkActionTypeFragment
      }
      ... on BackendScreenEventActionType {
        ...BackendScreenEventActionTypeFragment
      }
      ... on CloseActionType {
        ...CloseActionTypeFragment
      }
      ... on ScreenActionType {
        ...ScreenActionTypeFragment
      }
    }
  }
}

Variables

Response

{
  "data": {
    "backendScreenEvent": {
      "possibleErrors": [PossibleErrorType],
      "action": DeeplinkActionType
    }
  }
}

billToLatestSmartMeterSnapshot

Type:BillToLatestSmartMeterSnapshot

Bill to latest smart meter snapshot.

Arguments

NameDescription

input (BillToLatestSmartMeterSnapshotInput!)

Input fields for billing to latest smart meter snapshot.

Return fields

NameDescription

billedToDate (Date)

The date that has been billed up to.

currentBalance (Decimal)

The balance after attempting to bill.

Mutation

mutation BillToLatestSmartMeterSnapshot($input: BillToLatestSmartMeterSnapshotInput!) {
  billToLatestSmartMeterSnapshot(input: $input) {
    billedToDate
    currentBalance
  }
}

Response

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

bulkUpdateSensorDisplayName

Type:BulkUpdateSensorDisplayName

Update the display name of multiple sensors.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

updates ([SensorDisplayNameUpdate]!)

A list of sensor codes and display names to set.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionIds ([SensorUpdateTransactionId])

A mapping of transaction ids for each sensor.

Mutation

mutation BulkUpdateSensorDisplayName(
  $accountNumber: String!,
  $euid: ID!,
  $updates: [SensorDisplayNameUpdate]!
) {
  bulkUpdateSensorDisplayName(
    accountNumber: $accountNumber,
    euid: $euid,
    updates: $updates
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionIds {
      ...SensorUpdateTransactionIdFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "updates": SensorDisplayNameUpdate
}

Response

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

cancelRepaymentRequest

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

Arguments

NameDescription

input (CancelRepaymentRequestInputType!)

Input fields for cancelling a repayment request.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

repaymentRequest (CancelRepaymentRequestOutputType)

The cancelled repayment/refund request.

Mutation

mutation CancelRepaymentRequest($input: CancelRepaymentRequestInputType!) {
  cancelRepaymentRequest(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    repaymentRequest {
      ...CancelRepaymentRequestOutputTypeFragment
    }
  }
}

Variables

Response

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

cancelSmartFlexOnboarding

Type:CancelSmartFlexOnboarding

Cancel onboarding of a device with SmartFlex.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CancelSmartFlexOnboardingInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation CancelSmartFlexOnboarding($input: CancelSmartFlexOnboardingInput!) {
  cancelSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

claimOctoplusReward

Type:ClaimOctoplusReward

Claim an Octoplus Reward.

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.

Arguments

NameDescription

accountNumber (String!)

The account number for the Octoplus-enrolled account

offerSlug (String!)

The unique string identifier for the offer to be claimed.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

rewardId (String)

The ID of the claimed reward.

Mutation

mutation ClaimOctoplusReward(
  $accountNumber: String!,
  $offerSlug: String!
) {
  claimOctoplusReward(
    accountNumber: $accountNumber,
    offerSlug: $offerSlug
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    rewardId
  }
}

Variables

{
  "accountNumber": "abc123",
  "offerSlug": "abc123"
}

Response

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

claimShoptopusVoucher

Type:ClaimShoptopusVoucher

Claim a Shoptopus Voucher using Octopoints.

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.

Arguments

NameDescription

accountNumber (String!)

The account number for the Octoplus-enrolled account

points (Int!)

The number of Octopoints to exchange for a reward.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

code (String)

The Reward Voucher code.

Mutation

mutation ClaimShoptopusVoucher(
  $accountNumber: String!,
  $points: Int!
) {
  claimShoptopusVoucher(
    accountNumber: $accountNumber,
    points: $points
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    code
  }
}

Variables

{
  "accountNumber": "abc123",
  "points": 1
}

Response

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

collectPayment

Type:CollectPayment

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CollectPaymentInput!)

Input fields for collecting a payment.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

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.

Mutation

mutation CollectPayment($input: CollectPaymentInput!) {
  collectPayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    payment {
      ...AccountPaymentTypeFragment
    }
  }
}

Variables

{
  "input": CollectPaymentInput
}

Response

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

Arguments

NameDescription

input (CreateAccountFileAttachmentInput!)

Return fields

NameDescription

Mutation

mutation CreateAccountFileAttachment($input: CreateAccountFileAttachmentInput!) {
  createAccountFileAttachment(input: $input) {
    postRequest {
      ...UploadPostRequestFragment
    }
    clientMutationId
  }
}

Variables

Response

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

createAccountPaymentSchedule

Type:CreateAccountPaymentSchedule

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateAccountPaymentScheduleInput!)

Input fields for updating a payment schedule.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

schedule (PaymentScheduleType!)

New payment schedule.

Mutation

mutation CreateAccountPaymentSchedule($input: CreateAccountPaymentScheduleInput!) {
  createAccountPaymentSchedule(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    schedule {
      ...PaymentScheduleTypeFragment
    }
  }
}

Variables

Response

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

createAccountReference

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

Arguments

NameDescription

input (AccountReferenceInput!)

Input fields for creating an account reference.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

accountReference (AccountReferenceType)

Mutation

mutation CreateAccountReference($input: AccountReferenceInput!) {
  createAccountReference(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountReference {
      ...AccountReferenceTypeFragment
    }
  }
}

Variables

Response

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

createAcquisitionQuoteRequestForProducts

Type:CreateAcquisitionQuoteRequestForProducts

Create an acquisition quote request for requested products without persisting to the database.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateAcquisitionQuoteRequestForProductsInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

quoteRequest (QuoteRequestBase)

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

Mutation

mutation CreateAcquisitionQuoteRequestForProducts($input: CreateAcquisitionQuoteRequestForProductsInput!) {
  createAcquisitionQuoteRequestForProducts(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    quoteRequest {
      ...QuoteRequestBaseFragment
    }
  }
}

Response

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

createAutoTopupConfig

Type:CreateAutoTopupConfig

Create a new auto top-up config for SPAYG meter.

Arguments

NameDescription

input (CreateAutoTopupConfigInput!)

Input fields for creating an auto top-up config.

Return fields

NameDescription

autoTopupConfig (AutoTopupConfigType!)

The created auto top-up config.

Mutation

mutation CreateAutoTopupConfig($input: CreateAutoTopupConfigInput!) {
  createAutoTopupConfig(input: $input) {
    autoTopupConfig {
      ...AutoTopupConfigTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createAutoTopupConfig": {
      "autoTopupConfig": AutoTopupConfigType
    }
  }
}

createContributionAgreement

Type:CreateContributionAgreement

Create a contribution agreement for an account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateContributionAgreementInput!)

Input variables needed for creating a contribution agreement on an account.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

contributionAgreement (ContributionAgreementType)

The created contribution agreement.

Mutation

mutation CreateContributionAgreement($input: CreateContributionAgreementInput!) {
  createContributionAgreement(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    contributionAgreement {
      ...ContributionAgreementTypeFragment
    }
  }
}

Variables

Response

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

createDirectDebitInstruction

Type:CreateDirectDebitInstruction

Create new direct debit instruction

This field requires the Authorization header to be set.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateDirectDebitInstructionInput!)

Input fields for creating a new direct debit instruction.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

directDebitInstruction (DirectDebitInstructionType)

Mutation

mutation CreateDirectDebitInstruction($input: CreateDirectDebitInstructionInput!) {
  createDirectDebitInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    directDebitInstruction {
      ...DirectDebitInstructionTypeFragment
    }
  }
}

Variables

Response

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

createElectricityMeterReading

Type:CreateMeterReadingOutputType

Create electricity meter reading(s) with the given value(s) for the given meter(s).

This field requires the Authorization header to be set.

Arguments

NameDescription

mpan (String)

readAt (Date)

readings ([ReadingInputType])

serialNumber (String)

Return fields

NameDescription

readingErrors ([SerializerFieldErrorsType])

id (String)

Deprecated

The 'id' field is deprecated.

The `ID` field is depreciated.

- Marked as deprecated on 2022-10-03.
- Will be removed on 2024-01-01.

Mutation

mutation CreateElectricityMeterReading(
  $mpan: String,
  $readAt: Date,
  $readings: [ReadingInputType],
  $serialNumber: String
) {
  createElectricityMeterReading(
    mpan: $mpan,
    readAt: $readAt,
    readings: $readings,
    serialNumber: $serialNumber
  ) {
    readingErrors {
      ...SerializerFieldErrorsTypeFragment
    }
    id
  }
}

Variables

{
  "mpan": "abc123",
  "readAt": "2020-01-01",
  "readings": ReadingInputType,
  "serialNumber": "abc123"
}

Response

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

createFormSubmission

Type:FormSubmissionOuput

Create a "form submission" entity. This is only meant to be used as a quick way of putting together a form and submit data for it, in the form of JSON - it is not expected that all form submissions will come through this path.

This field requires the Authorization header to be set.

Arguments

NameDescription

input (FormSubmissionInput!)

Return fields

NameDescription

id (Int)

content (JSONString)

errors ([SerializerFieldErrorsType])

Mutation

mutation CreateFormSubmission($input: FormSubmissionInput!) {
  createFormSubmission(input: $input) {
    id
    content
    errors {
      ...SerializerFieldErrorsTypeFragment
    }
  }
}

Variables

{
  "input": FormSubmissionInput
}

Response

{
  "data": {
    "createFormSubmission": {
      "id": 1,
      "content": {"key": "value"},
      "errors": [SerializerFieldErrorsType]
    }
  }
}

createGasMeterReading

Type:CreateMeterReadingOutputType

Create gas meter reading with the given value for the given meter.

This field requires the Authorization header to be set.

Arguments

NameDescription

mprn (String)

readAt (Date)

reading (Int)

serialNumber (String)

Return fields

NameDescription

readingErrors ([SerializerFieldErrorsType])

id (String)

Deprecated

The 'id' field is deprecated.

The `ID` field is depreciated.

- Marked as deprecated on 2022-10-03.
- Will be removed on 2024-01-01.

Mutation

mutation CreateGasMeterReading(
  $mprn: String,
  $readAt: Date,
  $reading: Int,
  $serialNumber: String
) {
  createGasMeterReading(
    mprn: $mprn,
    readAt: $readAt,
    reading: $reading,
    serialNumber: $serialNumber
  ) {
    readingErrors {
      ...SerializerFieldErrorsTypeFragment
    }
    id
  }
}

Variables

{
  "mprn": "abc123",
  "readAt": "2020-01-01",
  "reading": 1,
  "serialNumber": "abc123"
}

Response

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

createGoodsPurchase

Type:CreateGoodsPurchase

Create a goods purchase.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreatePurchaseInput!)

Input fields for creating a purchase without a quote.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

goodsPurchase (GoodsPurchase)

Goods purchase created.

Mutation

mutation CreateGoodsPurchase($input: CreatePurchaseInput!) {
  createGoodsPurchase(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    goodsPurchase {
      ...GoodsPurchaseFragment
    }
  }
}

Variables

{
  "input": CreatePurchaseInput
}

Response

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

createGoodsQuote

Type:CreateGoodsQuote

Create a goods quote.

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.

Arguments

NameDescription

input (CreateGoodsQuoteInput!)

Input fields for creating a goods quote.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

goodsQuote (GoodsQuote)

Goods quote created for the customer.

Mutation

mutation CreateGoodsQuote($input: CreateGoodsQuoteInput!) {
  createGoodsQuote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    goodsQuote {
      ...GoodsQuoteFragment
    }
  }
}

Variables

Response

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

createGoodsQuoteWithoutAccount

Type:CreateGoodsQuoteWithoutAccount

Create a goods quote without an account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateGoodsQuoteWithoutAccountInput!)

Input fields for creating a goods quote without an existing account.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

goodsQuote (GoodsQuote)

Goods quote created for the customer.

Mutation

mutation CreateGoodsQuoteWithoutAccount($input: CreateGoodsQuoteWithoutAccountInput!) {
  createGoodsQuoteWithoutAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    goodsQuote {
      ...GoodsQuoteFragment
    }
  }
}

Response

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

createHeatPumpGoodsQuote

Type:CreateHeatPumpGoodsQuote

Create a new heat pump goods quote.

Arguments

NameDescription

input (CreateHeatPumpGoodsQuoteInput)

Return fields

NameDescription

quote (HeatPumpGoodsQuote)

Generated heat pump quote.

Mutation

mutation CreateHeatPumpGoodsQuote($input: CreateHeatPumpGoodsQuoteInput) {
  createHeatPumpGoodsQuote(input: $input) {
    quote {
      ...HeatPumpGoodsQuoteFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createHeatPumpGoodsQuote": {
      "quote": HeatPumpGoodsQuote
    }
  }
}

createInkChatbotMessage

Type:CreateInkChatbotMessagePayload

Register an Ink message from OEGB chatbot. This mutation has been created specifically designed for the MVP It can be removed once a better implementation is found

Arguments

NameDescription

input (CreateInkChatbotMessageInput!)

Return fields

NameDescription

message (InkMessage!)

The Ink message that was created.

clientMutationId (String)

Mutation

mutation CreateInkChatbotMessage($input: CreateInkChatbotMessageInput!) {
  createInkChatbotMessage(input: $input) {
    message {
      ... on InkEmail {
        ...InkEmailFragment
      }
      ... on InkSMS {
        ...InkSMSFragment
      }
      ... on InkLine {
        ...InkLineFragment
      }
      ... on InkWhatsApp {
        ...InkWhatsAppFragment
      }
      ... on InkPost {
        ...InkPostFragment
      }
      ... on InkGenericMessage {
        ...InkGenericMessageFragment
      }
    }
    clientMutationId
  }
}

Variables

Response

{
  "data": {
    "createInkChatbotMessage": {
      "message": InkEmail,
      "clientMutationId": "abc123"
    }
  }
}

Type:CreateOctoplusRewardContactLink

Create a link to the customer contact form for this account.

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.

Arguments

NameDescription

accountNumber (String!)

The account number for the Octoplus-enrolled account

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

url (String)

The URL of the customer contact form link.

Mutation

mutation CreateOctoplusRewardContactLink($accountNumber: String!) {
  createOctoplusRewardContactLink(accountNumber: $accountNumber) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    url
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

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

createPaymentSchedule

Type:CreatePaymentSchedule

Create a monthly payment schedule for a fixed amount.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-GB-3917: No statement in last 60 days.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (PaymentScheduleInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentSchedule (PaymentScheduleType)

Mutation

mutation CreatePaymentSchedule($input: PaymentScheduleInput!) {
  createPaymentSchedule(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentSchedule {
      ...PaymentScheduleTypeFragment
    }
  }
}

Variables

Response

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

createQuote

Type:CreateQuoteOutputType

Create a quote for the given set of meter points for the supplied consumption.

Arguments

NameDescription

input (CreateQuoteInput!)

Return fields

NameDescription

errors ([SerializerFieldErrorsType])

quote (QuoteType)

Mutation

mutation CreateQuote($input: CreateQuoteInput!) {
  createQuote(input: $input) {
    errors {
      ...SerializerFieldErrorsTypeFragment
    }
    quote {
      ...QuoteTypeFragment
    }
  }
}

Variables

{
  "input": CreateQuoteInput
}

Response

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

createQuoteRequestForProducts

Type:CreateQuoteRequestForProducts

Create a renewal quote request for specified products without persisting to the database.

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.

Arguments

NameDescription

input (CreateQuoteRequestForProductsInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

quoteRequest (QuoteRequestBase)

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

Mutation

mutation CreateQuoteRequestForProducts($input: CreateQuoteRequestForProductsInput!) {
  createQuoteRequestForProducts(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    quoteRequest {
      ...QuoteRequestBaseFragment
    }
  }
}

Response

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

createReferral

Type:CreateReferral

Create a referral using an email address, personal link or code.

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.

Arguments

NameDescription

input (CreateReferralInput!)

Input fields for creating a referral.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

referredAccountRewardAmount (Int)

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

Mutation

mutation CreateReferral($input: CreateReferralInput!) {
  createReferral(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    referredAccountRewardAmount
  }
}

Variables

{
  "input": CreateReferralInput
}

Response

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

createRefundRequest

Type:CreateRefundRequest

Add a refund request to 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.

Arguments

NameDescription

input (RefundRequestInput!)

Input fields for creating a refund request.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

refundRequest (RefundRequestType)

Mutation

mutation CreateRefundRequest($input: RefundRequestInput!) {
  createRefundRequest(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    refundRequest {
      ...RefundRequestTypeFragment
    }
  }
}

Variables

{
  "input": RefundRequestInput
}

Response

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

createRenewalQuoteRequest

Type:CreateRenewalQuoteRequest

Create a renewal quote request.

Arguments

NameDescription

input (CreateRenewalQuoteRequestInput!)

Return fields

NameDescription

quoteRequest (QuoteRequest)

Mutation

mutation CreateRenewalQuoteRequest($input: CreateRenewalQuoteRequestInput!) {
  createRenewalQuoteRequest(input: $input) {
    quoteRequest {
      ...QuoteRequestFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createRenewalQuoteRequest": {
      "quoteRequest": QuoteRequest
    }
  }
}

createSnap

Type:CreateSnap

Creates a new Snap for the given account.

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.

Arguments

NameDescription

accountNumber (String!)

The account number to attach the snap to.

spawnId (String!)

The unique identifier for the constantine.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

success (Boolean)

Returns true if snap was successfully created.

Mutation

mutation CreateSnap(
  $accountNumber: String!,
  $spawnId: String!
) {
  createSnap(
    accountNumber: $accountNumber,
    spawnId: $spawnId
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

{
  "accountNumber": "abc123",
  "spawnId": "abc123"
}

Response

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

createTempProvisioningClaim

Type:CreateProvisioningClaim

Create a temporary provisioning cert in krakenflex

Return fields

NameDescription

tempProvisioningClaimCert (GenericScalar)

The temporary provisioning certification.

Mutation

mutation CreateTempProvisioningClaim {
  createTempProvisioningClaim {
    tempProvisioningClaimCert
  }
}

Response

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

createWarmHomeDiscountApplication

Type:WarmHomeDiscountApplicationOutputType

Create warm home discount application with given qualifying requirements and account.

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String)

applicationInputs (WarmHomeDiscountApplicationInputType)

Return fields

NameDescription

errors ([SerializerFieldErrorsType])

id (String)

Mutation

mutation CreateWarmHomeDiscountApplication(
  $accountNumber: String,
  $applicationInputs: WarmHomeDiscountApplicationInputType
) {
  createWarmHomeDiscountApplication(
    accountNumber: $accountNumber,
    applicationInputs: $applicationInputs
  ) {
    errors {
      ...SerializerFieldErrorsTypeFragment
    }
    id
  }
}

Variables

{
  "accountNumber": "abc123",
  "applicationInputs": WarmHomeDiscountApplicationInputType
}

Response

{
  "data": {
    "createWarmHomeDiscountApplication": {
      "errors": [SerializerFieldErrorsType],
      "id": "abc123"
    }
  }
}

deauthenticateDevice

Type:DeauthenticateDevice

De-authenticate a 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-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (DeAuthenticationInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (DeviceDetailsType)

Mutation

mutation DeauthenticateDevice($input: DeAuthenticationInput) {
  deauthenticateDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...DeviceDetailsTypeFragment
    }
  }
}

Variables

Response

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

deleteBoostCharge

Type:DeleteBoostCharge

Stop any active boost charging.

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.

Arguments

NameDescription

input (DeleteBoostChargeInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation DeleteBoostCharge($input: DeleteBoostChargeInput) {
  deleteBoostCharge(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

Response

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

deleteDeviceConnectionDetails

Type:DeleteDeviceConnectionDetails

Delete connection details for a device.

The possible errors that can be raised are:

  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4352: Unable to delete connection details.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (AccountNumberInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation DeleteDeviceConnectionDetails($input: AccountNumberInput) {
  deleteDeviceConnectionDetails(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

{
  "input": AccountNumberInput
}

Response

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

deletePushNotificationBinding

Type:DeletePushNotificationBinding

Delete a device token used for push notifications.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (DeletePushNotificationBindingInput!)

Input fields for deleting a push notification binding.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

status (DeletePushNotificationBindingOutput)

Mutation

mutation DeletePushNotificationBinding($input: DeletePushNotificationBindingInput!) {
  deletePushNotificationBinding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    status
  }
}

Response

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

deprovisionHeatingController

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

message (String)

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

Mutation

mutation DeprovisionHeatingController(
  $accountNumber: String!,
  $euid: ID!
) {
  deprovisionHeatingController(
    accountNumber: $accountNumber,
    euid: $euid
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    message
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123"
}

Response

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

deviceRegistration

Type:DeviceRegistration

Register a device (EV, battery or heat pump) for smart control.

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.

Arguments

NameDescription

input (DeviceRegistrationInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

registeredDeviceIds ([String])

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

Mutation

mutation DeviceRegistration($input: DeviceRegistrationInput) {
  deviceRegistration(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    registeredDeviceIds
  }
}

Variables

Response

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

directDebitPaymentDayUpdate

Type:DirectDebitPaymentDayUpdate

DEPRECATED: Please use updatePaymentSchedulePaymentDay instead

Update monthly Direct Debit payment day

This field requires the Authorization header to be set.

Arguments

NameDescription

input (DirectDebitPaymentDayUpdateInput!)

Return fields

NameDescription

paymentSchedule (PaymentScheduleType)

errors ([ErrorType])

Mutation

mutation DirectDebitPaymentDayUpdate($input: DirectDebitPaymentDayUpdateInput!) {
  directDebitPaymentDayUpdate(input: $input) {
    paymentSchedule {
      ...PaymentScheduleTypeFragment
    }
    errors {
      ...ErrorTypeFragment
    }
  }
}

Variables

Response

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

disableAutoTopup

Type:DisableAutoTopup

Disable auto top-up for SPAYG meter.

Arguments

NameDescription

input (DisableAutoTopupInput!)

Input fields for disabling auto top-up.

Return fields

NameDescription

success (Boolean!)

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

Mutation

mutation DisableAutoTopup($input: DisableAutoTopupInput!) {
  disableAutoTopup(input: $input) {
    success
  }
}

Variables

Response

{
  "data": {
    "disableAutoTopup": {
      "success": true
    }
  }
}

disableToken

Type:DisableToken

Deactivate the auth token used to authenticate the current request.

Return fields

NameDescription

message (String)

Mutation

mutation DisableToken {
  disableToken {
    message
  }
}

Response

{
  "data": {
    "disableToken": {
      "message": "abc123"
    }
  }
}

emailAuthentication

Type:EmailAuthentication

Provide username and password to receive a token. The token should be used as the Authorization header for any authenticated requests.

Arguments

NameDescription

email (String!)

password (String!)

Return fields

NameDescription

token (String)

The DRF token to be used for authentication.

errors ([ErrorType])

Mutation

mutation EmailAuthentication(
  $email: String!,
  $password: String!
) {
  emailAuthentication(
    email: $email,
    password: $password
  ) {
    token
    errors {
      ...ErrorTypeFragment
    }
  }
}

Variables

{
  "email": "abc123",
  "password": "abc123"
}

Response

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

endContributionAgreement

Type:EndContributionAgreement

End a contribution agreement for an account.

The possible errors that can be raised are:

  • KT-CT-9603: Unable to find contribution agreement.
  • KT-CT-4123: Unauthorized.
  • KT-CT-9604: Unable to end contribution agreement.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (EndContributionAgreementInput!)

Input variables needed for ending a contribution agreement on an account.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

contributionAgreement (ContributionAgreementType)

The created contribution agreement.

Mutation

mutation EndContributionAgreement($input: EndContributionAgreementInput!) {
  endContributionAgreement(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    contributionAgreement {
      ...ContributionAgreementTypeFragment
    }
  }
}

Variables

Response

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

fitAcceptSchedule

Type:FitAcceptSchedule

Accept a FIT schedule for a particular account.

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.

Arguments

NameDescription

input (FitAcceptScheduleInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

fitSchedule (FitScheduleType)

The accepted schedule.

Mutation

mutation FitAcceptSchedule($input: FitAcceptScheduleInput!) {
  fitAcceptSchedule(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    fitSchedule {
      ...FitScheduleTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "fitAcceptSchedule": {
      "possibleErrors": [PossibleErrorType],
      "fitSchedule": FitScheduleType
    }
  }
}

fitCreateMeterReadings

Type:FitCreateMeterReadings

Submit meter readings for any FIT installations associated with a particular account.

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.

Arguments

NameDescription

input (FitMeterReadingInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

readingsSubmitted (Boolean)

Mutation

mutation FitCreateMeterReadings($input: FitMeterReadingInput!) {
  fitCreateMeterReadings(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    readingsSubmitted
  }
}

Variables

Response

{
  "data": {
    "fitCreateMeterReadings": {
      "possibleErrors": [PossibleErrorType],
      "readingsSubmitted": true
    }
  }
}

forceReauthentication

Type:ForceReauthentication

Force users of Kraken Tokens and refresh tokens issued to the viewer to reauthenticate.

Calling this mutation will cause all Kraken Tokens and refresh tokens issued to the authenticated viewer before the mutation was called to become invalid.

Arguments

NameDescription

input (ForceReauthenticationInput!)

Input object argument to the force-reauthentication mutation.

Return fields

NameDescription

tokensInvalidated (Boolean!)

Reports whether the mutation applied successfully. Should always be 'true'.

effectiveAt (DateTime!)

The time at which forced reauthentication is effective. Kraken and refresh tokens issued before this time will be invalid.

Mutation

mutation ForceReauthentication($input: ForceReauthenticationInput!) {
  forceReauthentication(input: $input) {
    tokensInvalidated
    effectiveAt
  }
}

Variables

Response

{
  "data": {
    "forceReauthentication": {
      "tokensInvalidated": true,
      "effectiveAt": "2020-01-01T00:00:00.000Z"
    }
  }
}

generatePaymentAllocationNumber

Type:GeneratePaymentAllocationNumber

Generate PAN for a smart prepay meter

The possible errors that can be raised are:

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

Arguments

NameDescription

input (SmartMeterDeviceInput!)

Identifies the meter to generate a PAN for.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

pan (String!)

The Payment Allocation Number routes payments made via a PSP (Payment Service Provider) to this device.

Mutation

mutation GeneratePaymentAllocationNumber($input: SmartMeterDeviceInput!) {
  generatePaymentAllocationNumber(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pan
  }
}

Variables

Response

{
  "data": {
    "generatePaymentAllocationNumber": {
      "possibleErrors": [PossibleErrorType],
      "pan": "abc123"
    }
  }
}

getEmbeddedSecretForNewPaymentInstruction

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

Arguments

NameDescription

input (GetEmbeddedSecretForNewPaymentInstructionInput!)

Input fields for getting the client secret for an embedded new card payment method form.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

secretKey (String)

Mutation

mutation GetEmbeddedSecretForNewPaymentInstruction($input: GetEmbeddedSecretForNewPaymentInstructionInput!) {
  getEmbeddedSecretForNewPaymentInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    secretKey
  }
}

Response

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

getHostedUrlForNewPaymentInstruction

Type:GetHostedUrlForNewPaymentInstruction

Get the external URL where the user can set up a payment instruction.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (GetHostedUrlForNewPaymentInstructionInput!)

Input fields for getting the external URL for setting up a payment instruction.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

url (String)

URL at which payment instruction can be set up.

Mutation

mutation GetHostedUrlForNewPaymentInstruction($input: GetHostedUrlForNewPaymentInstructionInput!) {
  getHostedUrlForNewPaymentInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    url
  }
}

Response

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

initiateHostedStandalonePayment

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

Arguments

NameDescription

input (InitiateHostedStandalonePaymentInput!)

Input fields for initiating a standalone payment.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

payment (InitiateHostedStandalonePaymentOutput)

The details required to refer to and complete a hosted payment.

Mutation

mutation InitiateHostedStandalonePayment($input: InitiateHostedStandalonePaymentInput!) {
  initiateHostedStandalonePayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    payment {
      ...InitiateHostedStandalonePaymentOutputFragment
    }
  }
}

Response

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

initiateProductSwitch

Type:InitiateProductSwitch

Do a product switch for a user.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4624: Unable to accept the given product code.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-4719: No supply point found for identifier provided.
  • KT-CT-4922: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (InitiateProductSwitchInput!)

Instigate a product switch for a specific supply point given a valid product and account number.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

productCode (String!)

The selected product for a specific product switch.

switchDate (Date!)

The date at which the product switch becomes effective.

Mutation

mutation InitiateProductSwitch($input: InitiateProductSwitchInput!) {
  initiateProductSwitch(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    productCode
    switchDate
  }
}

Variables

Response

{
  "data": {
    "initiateProductSwitch": {
      "possibleErrors": [PossibleErrorType],
      "productCode": "abc123",
      "switchDate": "2020-01-01"
    }
  }
}

initiateStandalonePayment

Type:InitiateStandalonePayment

Initiate a standalone payment and return the client secret required to complete it.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (InitiateStandalonePaymentInput!)

Input fields for initiating a standalone payment.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

payment (InitiateStandalonePaymentOutput)

Mutation

mutation InitiateStandalonePayment($input: InitiateStandalonePaymentInput!) {
  initiateStandalonePayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    payment {
      ...InitiateStandalonePaymentOutputFragment
    }
  }
}

Variables

Response

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

invalidatePaymentInstruction

Type:InvalidatePaymentInstruction

Invalidate an existing 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.

Arguments

NameDescription

input (InvalidatePaymentInstructionInput!)

Input fields for invalidating a payment instruction from an embedded form.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

instruction (InvalidatePaymentInstructionOutput)

Mutation

mutation InvalidatePaymentInstruction($input: InvalidatePaymentInstructionInput!) {
  invalidatePaymentInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    instruction {
      ...InvalidatePaymentInstructionOutputFragment
    }
  }
}

Variables

Response

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

joinConsumerDevice

Type:JoinConsumerDevice

Triggers the orchestration to join the PPMID, IHD, CAD or Alt HAN device to the ESME, GSME, GPF and/or CHF. This should be called after a meter has been commissioned.

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.

Arguments

NameDescription

input (JoinConsumerDeviceInput!)

Input fields for join device.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

requestReference (String)

The reference of the join PPMID, IHD, CAD or Alt HAN request in Kraken.

Mutation

mutation JoinConsumerDevice($input: JoinConsumerDeviceInput!) {
  joinConsumerDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

Response

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

joinOctoplusCampaign

Type:JoinOctoplusCampaign

Enrolls an account in the Octoplus campaign.

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.

Arguments

NameDescription

accountNumber (String)

Kraken account number.

savingSessionsEnrolmentOptions (SavingSessionsEnrolmentOptions)

Options to enrol the account in Saving Sessions after joining Octoplus.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

success (Boolean)

Returns mutation success. Deprecated, in favour of the outcome field.

outcome (EnrolmentOutcome)

Outcome of the Octoplus and Saving Sessions enrolment.

Mutation

mutation JoinOctoplusCampaign(
  $accountNumber: String,
  $savingSessionsEnrolmentOptions: SavingSessionsEnrolmentOptions
) {
  joinOctoplusCampaign(
    accountNumber: $accountNumber,
    savingSessionsEnrolmentOptions: $savingSessionsEnrolmentOptions
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
    outcome {
      ...EnrolmentOutcomeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "savingSessionsEnrolmentOptions": SavingSessionsEnrolmentOptions
}

Response

{
  "data": {
    "joinOctoplusCampaign": {
      "possibleErrors": [PossibleErrorType],
      "success": true,
      "outcome": EnrolmentOutcome
    }
  }
}

joinSavingSessionsCampaign

Type:JoinSavingSessionsCampaign

Sign account up to Saving Sessions campaign.

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.

Arguments

NameDescription

input (JoinSavingSessionsCampaignInput!)

Input fields for joining the Saving Sessions campaign.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (SavingSessionsAccountReturnType)

Mutation

mutation JoinSavingSessionsCampaign($input: JoinSavingSessionsCampaignInput!) {
  joinSavingSessionsCampaign(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...SavingSessionsAccountReturnTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "joinSavingSessionsCampaign": {
      "possibleErrors": [PossibleErrorType],
      "account": SavingSessionsAccountReturnType
    }
  }
}

joinSavingSessionsEvent

Type:JoinSavingSessionsEvent

Opt account in to a Saving Sessions event.

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.

Arguments

NameDescription

input (JoinSavingSessionsEventInput!)

Input fields for joining a Saving Sessions event.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

joinedEventCodes ([String])

The event codes that the account has joined.

Mutation

mutation JoinSavingSessionsEvent($input: JoinSavingSessionsEventInput!) {
  joinSavingSessionsEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    joinedEventCodes
  }
}

Variables

Response

{
  "data": {
    "joinSavingSessionsEvent": {
      "possibleErrors": [PossibleErrorType],
      "joinedEventCodes": ["abc123"]
    }
  }
}

linkUserToLine

Type:LinkUserToLineResponse!

Link an account user and line user together.

Arguments

NameDescription

input (LinkUserToLineInput!)

Input fields to link an account user with LINE.

Return fields

NameDescription

Mutation

mutation LinkUserToLine($input: LinkUserToLineInput!) {
  linkUserToLine(input: $input) {
    ... on LineLinkRedirectResponse {
      ...LineLinkRedirectResponseFragment
    }
    ... on LinkTokenNotFound {
      ...LinkTokenNotFoundFragment
    }
    ... on AlreadyLinkedError {
      ...AlreadyLinkedErrorFragment
    }
  }
}

Variables

{
  "input": LinkUserToLineInput
}

Response

{
  "data": {
    "linkUserToLine": LineLinkRedirectResponse
  }
}

masqueradeAuthentication

Type:MasqueradeAuthentication

Provide a temporary token to get an auth token. This is intended to allow support users to view customer data through the brand interface.

Arguments

NameDescription

masqueradeToken (String!)

The masquerade token issued by the support site.

userId (String!)

The ID of the AccountUser to masquerade as.

Return fields

NameDescription

token (String)

A Kraken Token that can be used to authenticate to the API, masquerading as the desired user.

errors ([ErrorType])

A list of any errors that occurred while running this mutation.

Mutation

mutation MasqueradeAuthentication(
  $masqueradeToken: String!,
  $userId: String!
) {
  masqueradeAuthentication(
    masqueradeToken: $masqueradeToken,
    userId: $userId
  ) {
    token
    errors {
      ...ErrorTypeFragment
    }
  }
}

Variables

{
  "masqueradeToken": "abc123",
  "userId": "abc123"
}

Response

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

obtainKrakenToken

Type:ObtainKrakenJSONWebToken

Create a Kraken Token (JWT) for authentication.

Provide the required input fields to obtain the token.

The token should be used as the Authorization header for any authenticated requests.

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.

Arguments

NameDescription

input (ObtainJSONWebTokenInput!)

Input fields that can be used to obtain a Json Web Token (JWT) for authentication to the API.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

token (String!)

The Kraken Token. Can be used in the Authorization header for subsequent calls to the API to access protected resources.

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.

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.

refreshExpiresIn (Int)

A Unix timestamp representing the point in time at which the refresh token will expire.

Mutation

mutation ObtainKrakenToken($input: ObtainJSONWebTokenInput!) {
  obtainKrakenToken(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token
    payload
    refreshToken
    refreshExpiresIn
  }
}

Variables

Response

{
  "data": {
    "obtainKrakenToken": {
      "possibleErrors": [PossibleErrorType],
      "token": "abc123",
      "payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
      "refreshToken": "abc123",
      "refreshExpiresIn": 1
    }
  }
}

occupy

Type:OccupyOutputType

Add details to an existing occupier account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (OccupyInput!)

Return fields

NameDescription

account (AccountInterface)

Mutation

mutation Occupy($input: OccupyInput!) {
  occupy(input: $input) {
    account {
      ...AccountInterfaceFragment
    }
  }
}

Variables

{
  "input": OccupyInput
}

Response

{
  "data": {
    "occupy": {
      "account": AccountInterface
    }
  }
}

ocppAuthentication

Type:OCPPAuthentication

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.

Arguments

NameDescription

input (OCPPAuthenticationInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation OcppAuthentication($input: OCPPAuthenticationInput) {
  ocppAuthentication(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

Response

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

octoHeatPumpBulkUpdateSensorDisplayName

Type:BulkUpdateSensorDisplayName

Update the display name of multiple sensors.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

updates ([SensorDisplayNameUpdate]!)

A list of sensor codes and display names to set.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionIds ([SensorUpdateTransactionId])

A mapping of transaction ids for each sensor.

Mutation

mutation OctoHeatPumpBulkUpdateSensorDisplayName(
  $accountNumber: String!,
  $euid: ID!,
  $updates: [SensorDisplayNameUpdate]!
) {
  octoHeatPumpBulkUpdateSensorDisplayName(
    accountNumber: $accountNumber,
    euid: $euid,
    updates: $updates
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionIds {
      ...SensorUpdateTransactionIdFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "updates": SensorDisplayNameUpdate
}

Response

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

octoHeatPumpDeprovisionHeatingController

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

message (String)

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

Mutation

mutation OctoHeatPumpDeprovisionHeatingController(
  $accountNumber: String!,
  $euid: ID!
) {
  octoHeatPumpDeprovisionHeatingController(
    accountNumber: $accountNumber,
    euid: $euid
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    message
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123"
}

Response

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

octoHeatPumpRebootController

Type:RebootHeatingController

Reboot the given heating controller.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

The unique ID associated with this reboot operation.

Mutation

mutation OctoHeatPumpRebootController(
  $accountNumber: String!,
  $euid: ID!
) {
  octoHeatPumpRebootController(
    accountNumber: $accountNumber,
    euid: $euid
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123"
}

Response

{
  "data": {
    "octoHeatPumpRebootController": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpRemoveSensor

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

sensorId (String!)

The sensor ID of heat pump controller's sensor to be removed.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with removing a sensor from a heat pump controller.

Mutation

mutation OctoHeatPumpRemoveSensor(
  $accountNumber: String!,
  $euid: ID!,
  $sensorId: String!
) {
  octoHeatPumpRemoveSensor(
    accountNumber: $accountNumber,
    euid: $euid,
    sensorId: $sensorId
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "sensorId": "abc123"
}

Response

{
  "data": {
    "octoHeatPumpRemoveSensor": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpRequestProvisioningClaimCertificate

Type:RequestProvisioningClaimCertificate

Request a certificate to provision a heating controller.

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.

Arguments

NameDescription

accountNumber (String!)

propertyId (ID)

The primary key of a property you would like to associate with this controller.

requestParameters (ProvisioningClaimRequestParameters!)

Parameters requested by the app from the controller, required for Kraken Flex to authenticate the device.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

provisioningClaimBundle (ProvisioningClaimBundle)

The certificate and private key required to create a provisioning claim.

Mutation

mutation OctoHeatPumpRequestProvisioningClaimCertificate(
  $accountNumber: String!,
  $propertyId: ID,
  $requestParameters: ProvisioningClaimRequestParameters!
) {
  octoHeatPumpRequestProvisioningClaimCertificate(
    accountNumber: $accountNumber,
    propertyId: $propertyId,
    requestParameters: $requestParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    provisioningClaimBundle {
      ...ProvisioningClaimBundleFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "propertyId": "abc123",
  "requestParameters": ProvisioningClaimRequestParameters
}

Response

{
  "data": {
    "octoHeatPumpRequestProvisioningClaimCertificate": {
      "possibleErrors": [PossibleErrorType],
      "provisioningClaimBundle": ProvisioningClaimBundle
    }
  }
}

octoHeatPumpSetZoneMode

Type:SetZoneMode

Turn a specific heating controller zone ON/OFF, set it to AUTO mode or give it a BOOST.

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.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

operationParameters (SetZoneModeParameters!)

The parameters required to instruct a specific zone operation.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with a zone's mode operation.

Mutation

mutation OctoHeatPumpSetZoneMode(
  $accountNumber: String!,
  $euid: ID!,
  $operationParameters: SetZoneModeParameters!
) {
  octoHeatPumpSetZoneMode(
    accountNumber: $accountNumber,
    euid: $euid,
    operationParameters: $operationParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "operationParameters": SetZoneModeParameters
}

Response

{
  "data": {
    "octoHeatPumpSetZoneMode": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpSetZonePrimarySensor

Type:SetZonePrimarySensor

Set the primary sensor for a zone.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

operationParameters (SetZonePrimarySensorParameters!)

The parameters required to set a new primary sensor for a zone.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

The unique ID associated with this operation.

Mutation

mutation OctoHeatPumpSetZonePrimarySensor(
  $accountNumber: String!,
  $euid: ID!,
  $operationParameters: SetZonePrimarySensorParameters!
) {
  octoHeatPumpSetZonePrimarySensor(
    accountNumber: $accountNumber,
    euid: $euid,
    operationParameters: $operationParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "operationParameters": SetZonePrimarySensorParameters
}

Response

{
  "data": {
    "octoHeatPumpSetZonePrimarySensor": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpSetZoneSchedules

Type:SetZoneSchedules

Add schedules for a heating controller zone.

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.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

zoneScheduleParameters (SetZoneSchedulesParameters!)

The parameters required to add schedule(s) for a specific zone.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with adding schedule(s) for a zone.

Mutation

mutation OctoHeatPumpSetZoneSchedules(
  $accountNumber: String!,
  $euid: ID!,
  $zoneScheduleParameters: SetZoneSchedulesParameters!
) {
  octoHeatPumpSetZoneSchedules(
    accountNumber: $accountNumber,
    euid: $euid,
    zoneScheduleParameters: $zoneScheduleParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "zoneScheduleParameters": SetZoneSchedulesParameters
}

Response

{
  "data": {
    "octoHeatPumpSetZoneSchedules": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpUpdateFlowTemperatureConfiguration

Type:UpdateFlowTemperatureConfiguration

Update the flow temperature settings for the heat pump.

The possible errors that can be raised are:

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

Arguments

NameDescription

euid (ID!)

The EUID of the heat pump controller.

flowTemperatureInput (FlowTemperatureInput!)

Flow temperature configuration parameters.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with this operation.

Mutation

mutation OctoHeatPumpUpdateFlowTemperatureConfiguration(
  $euid: ID!,
  $flowTemperatureInput: FlowTemperatureInput!
) {
  octoHeatPumpUpdateFlowTemperatureConfiguration(
    euid: $euid,
    flowTemperatureInput: $flowTemperatureInput
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "euid": "abc123",
  "flowTemperatureInput": FlowTemperatureInput
}

Response

{
  "data": {
    "octoHeatPumpUpdateFlowTemperatureConfiguration": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpUpdateSensorDisplayName

Type:UpdateSensorDisplayName

Update the display name of a sensor.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

displayName (String!)

The new display name.

euid (ID!)

The EUID of the heat pump controller.

sensorCode (String!)

The code of the sensor to rename (such as 'SENSOR01').

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with updating a sensor attribute.

Mutation

mutation OctoHeatPumpUpdateSensorDisplayName(
  $accountNumber: String!,
  $displayName: String!,
  $euid: ID!,
  $sensorCode: String!
) {
  octoHeatPumpUpdateSensorDisplayName(
    accountNumber: $accountNumber,
    displayName: $displayName,
    euid: $euid,
    sensorCode: $sensorCode
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "displayName": "abc123",
  "euid": "abc123",
  "sensorCode": "abc123"
}

Response

{
  "data": {
    "octoHeatPumpUpdateSensorDisplayName": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

octoHeatPumpUpdateWaterSetpoint

Type:UpdateWaterSetpoint

Set the temperature for the hot water.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

setpoint (Int!)

The temperature to set the water to.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with this operation.

Mutation

mutation OctoHeatPumpUpdateWaterSetpoint(
  $accountNumber: String!,
  $euid: ID!,
  $setpoint: Int!
) {
  octoHeatPumpUpdateWaterSetpoint(
    accountNumber: $accountNumber,
    euid: $euid,
    setpoint: $setpoint
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "setpoint": 1
}

Response

{
  "data": {
    "octoHeatPumpUpdateWaterSetpoint": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

orderBlanket

Type:OrderBlanket

Orders a blanket to be delivered to the account.

The possible errors that can be raised are:

  • KT-GB-6013: Account is not eligible to order a blanket.
  • KT-GB-6014: An error occurred placing the order.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String)

The account number to send the blanket to.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

success (Boolean)

Whether the blanket order was placed successfully.

Mutation

mutation OrderBlanket($accountNumber: String) {
  orderBlanket(accountNumber: $accountNumber) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

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

performMoveOut

Type:PerformMoveOut

Perform a move out of a property for an account.

Optionally provide details of the new tenant and a property to perform a move in to.

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.

Arguments

NameDescription

input (MoveOutInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountInterface)

Mutation

mutation PerformMoveOut($input: MoveOutInput!) {
  performMoveOut(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountInterfaceFragment
    }
  }
}

Variables

{
  "input": MoveOutInput
}

Response

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

quoteAccountOnProducts

Type:QuoteAccountOnProducts

Create a quote for an existing account for the specified meterpoints on the passed in products.

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.

Arguments

NameDescription

input (QuoteAccountOnProductsInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

quoteRequest (QuoteRequest)

The generated quote.

Mutation

mutation QuoteAccountOnProducts($input: QuoteAccountOnProductsInput!) {
  quoteAccountOnProducts(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    quoteRequest {
      ...QuoteRequestFragment
    }
  }
}

Variables

Response

{
  "data": {
    "quoteAccountOnProducts": {
      "possibleErrors": [PossibleErrorType],
      "quoteRequest": QuoteRequest
    }
  }
}

quoteCampaignOffer

Type:QuoteCampaignOffer

Create a quote for a campaign offer.

Arguments

NameDescription

input (QuoteCampaignOfferInput)

Return fields

NameDescription

quoteCode (String)

Mutation

mutation QuoteCampaignOffer($input: QuoteCampaignOfferInput) {
  quoteCampaignOffer(input: $input) {
    quoteCode
  }
}

Variables

Response

{
  "data": {
    "quoteCampaignOffer": {
      "quoteCode": "abc123"
    }
  }
}

quoteNewMeterPoints

Type:QuoteNewMeterPoints

DO NOT USE: WIP Create a quote for new meter points for products with passed in tag.

Arguments

NameDescription

input (QuoteNewMeterPointsInput!)

Return fields

NameDescription

quoteRequest (QuoteRequest)

The generated quote.

Mutation

mutation QuoteNewMeterPoints($input: QuoteNewMeterPointsInput!) {
  quoteNewMeterPoints(input: $input) {
    quoteRequest {
      ...QuoteRequestFragment
    }
  }
}

Variables

Response

{
  "data": {
    "quoteNewMeterPoints": {
      "quoteRequest": QuoteRequest
    }
  }
}

reauthenticateDevice

Type:ReauthenticateDevice

Reauthenticate an already registered device.

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.

Arguments

NameDescription

input (ReauthenticateDeviceInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation ReauthenticateDevice($input: ReauthenticateDeviceInput) {
  reauthenticateDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

Response

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

redeemLoyaltyPointsForAccountCredit

Type:RedeemLoyaltyPointsForAccountCredit

Redeem the passed number of Loyalty Points as account credit.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9201: No Loyalty Point ledger found for the user.
  • KT-CT-9202: Loyalty Points adapter not configured.
  • KT-CT-9203: No ledger entries for the ledger.
  • KT-CT-9205: Insufficient Loyalty Points.
  • KT-CT-9206: Indivisible points.
  • KT-CT-9204: Negative or zero points set.
  • KT-CT-9208: Invalid posted at datetime.
  • KT-CT-9209: Negative Loyalty Points balance.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RedeemLoyaltyPointsInput!)

Input fields for redeeming Loyalty Points.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

pointsRedeemed (Int)

The number of OctoPoints that were redeemed.

Mutation

mutation RedeemLoyaltyPointsForAccountCredit($input: RedeemLoyaltyPointsInput!) {
  redeemLoyaltyPointsForAccountCredit(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pointsRedeemed
  }
}

Variables

Response

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

redeemOctoPointsForAccountCredit

Type:RedeemOctoPointsForAccountCredit

Redeem the maximum possible number of OctoPoints as account credit

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-5011: Not enough OctoPoints for redemption.
  • KT-GB-5010: Error redeeming OctoPoints.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (RedeemOctoPointsInput!)

Input fields for redeeming OctoPoints.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

pointsRedeemed (Int)

The number of OctoPoints that were redeemed.

remainingPointsInWallet (Int)

The number of OctoPoints remaining in the wallet.

Mutation

mutation RedeemOctoPointsForAccountCredit($input: RedeemOctoPointsInput!) {
  redeemOctoPointsForAccountCredit(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pointsRedeemed
    remainingPointsInWallet
  }
}

Variables

Response

{
  "data": {
    "redeemOctoPointsForAccountCredit": {
      "possibleErrors": [PossibleErrorType],
      "pointsRedeemed": 1,
      "remainingPointsInWallet": 1
    }
  }
}

redeemReferralClaimCode

Type:RedeemReferralClaimCode

Redeem the referral claim code from certain referral scheme.

The possible errors that can be raised are:

  • KT-CT-6723: Unauthorized.
  • KT-CT-6724: Referral claim code not found.
  • KT-CT-6725: Referral claim code redeeming error.
  • KT-CT-6726: Referral claim code has already been redeemed.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RedeemReferralClaimCodeInput!)

Input fields for redeeming referral code.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

Mutation

mutation RedeemReferralClaimCode($input: RedeemReferralClaimCodeInput!) {
  redeemReferralClaimCode(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "redeemReferralClaimCode": {
      "possibleErrors": [PossibleErrorType]
    }
  }
}

refreshQuote

Type:RefreshQuote

Refresh quote with updated products for a quote code.

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.

Arguments

NameDescription

input (RefreshQuoteInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

quote (QuoteType)

Mutation

mutation RefreshQuote($input: RefreshQuoteInput!) {
  refreshQuote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    quote {
      ...QuoteTypeFragment
    }
  }
}

Variables

{
  "input": RefreshQuoteInput
}

Response

{
  "data": {
    "refreshQuote": {
      "possibleErrors": [PossibleErrorType],
      "quote": QuoteType
    }
  }
}

regenerateSecretKey

Type:RegenerateSecretKey

Regenerate the live secret key for the authenticated user.

Return fields

NameDescription

viewer (AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Mutation

mutation RegenerateSecretKey {
  regenerateSecretKey {
    viewer {
      ...AccountUserTypeFragment
    }
  }
}

Response

{
  "data": {
    "regenerateSecretKey": {
      "viewer": AccountUserType
    }
  }
}

registerDevice

Type:RegisterDevice

Register a device for an account.

The possible errors that can be raised are:

  • KT-CT-4335: Another device registration is already in progress.
  • KT-CT-4321: Serializer validation error.
  • KT-CT-4314: Unable to get provider details.
  • KT-CT-4351: Provider authentication 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.

Arguments

NameDescription

input (RegisterDeviceInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation RegisterDevice($input: RegisterDeviceInput) {
  registerDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

{
  "input": RegisterDeviceInput
}

Response

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

registerHeatPump

Type:RegisterHeatPump

Register a heat pump for an account.

The possible errors that can be raised are:

  • KT-CT-4316: Unable to get provider details.
  • KT-CT-4317: Unable to register device.
  • KT-CT-4330: Invalid data.
  • KT-CT-4331: Invalid data.
  • KT-CT-4335: Another device registration is already in progress.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RegisterHeatPumpInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

Mutation

mutation RegisterHeatPump($input: RegisterHeatPumpInput) {
  registerHeatPump(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    heatPumpDevice {
      ...HeatPumpDeviceTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "registerHeatPump": {
      "possibleErrors": [PossibleErrorType],
      "heatPumpDevice": HeatPumpDeviceType
    }
  }
}

registerPushNotificationBinding

Type:RegisterPushNotificationBinding

Register a device token to be used for push notifications for an app.

This field requires the Authorization header to be set.

Arguments

NameDescription

input (RegisterPushNotificationBindingInput!)

Input fields for creating an push notification binding.

Return fields

NameDescription

pushNotificationBinding (PushNotificationBindingType)

Mutation

mutation RegisterPushNotificationBinding($input: RegisterPushNotificationBindingInput!) {
  registerPushNotificationBinding(input: $input) {
    pushNotificationBinding {
      ...PushNotificationBindingTypeFragment
    }
  }
}

Response

{
  "data": {
    "registerPushNotificationBinding": {
      "pushNotificationBinding": PushNotificationBindingType
    }
  }
}

removeConsumerDevice

Type:RemoveConsumerDevice

Triggers the orchestration to remove the CAD device to the ESME, GSME, GPF and CHF.

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.

Arguments

NameDescription

input (RemoveConsumerDeviceInput!)

Input fields for remove device.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

requestReference (String)

The reference of the remove consumer device request in Kraken.

Mutation

mutation RemoveConsumerDevice($input: RemoveConsumerDeviceInput!) {
  removeConsumerDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

Response

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

removeSensor

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

sensorId (String!)

The sensor ID of heat pump controller's sensor to be removed.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with removing a sensor from a heat pump controller.

Mutation

mutation RemoveSensor(
  $accountNumber: String!,
  $euid: ID!,
  $sensorId: String!
) {
  removeSensor(
    accountNumber: $accountNumber,
    euid: $euid,
    sensorId: $sensorId
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "sensorId": "abc123"
}

Response

{
  "data": {
    "removeSensor": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

renewAgreements

Type:RenewAgreements

Renew agreements for an account.

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.

Arguments

NameDescription

input (RenewAgreementsInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountType)

Mutation

mutation RenewAgreements($input: RenewAgreementsInput) {
  renewAgreements(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

Response

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

renewAgreementsForAccount

Type:RenewAgreementsForAccount

Renew a list of agreements 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.

Arguments

NameDescription

input (RenewAgreementsForAccountInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountType)

Mutation

mutation RenewAgreementsForAccount($input: RenewAgreementsForAccountInput) {
  renewAgreementsForAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

Response

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

replaceAgreement

Type:ReplaceAgreement

Replace an agreement for an account with a new product.

Arguments

NameDescription

input (ReplaceAgreementInput)

Return fields

NameDescription

account (AccountInterface)

Mutation

mutation ReplaceAgreement($input: ReplaceAgreementInput) {
  replaceAgreement(input: $input) {
    account {
      ...AccountInterfaceFragment
    }
  }
}

Variables

Response

{
  "data": {
    "replaceAgreement": {
      "account": AccountInterface
    }
  }
}

requestConsumptionData

Type:RequestConsumptionData

Request an ad hoc read of the meters consumption data, which will arrive asynchronously

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.

Arguments

NameDescription

input (RequestConsumptionDataInput!)

Input fields for requesting consumption data.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

requestReference (String)

The reference for the associated request in Kraken.

Mutation

mutation RequestConsumptionData($input: RequestConsumptionDataInput!) {
  requestConsumptionData(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

Response

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

requestPasswordReset

Type:RequestPasswordResetOutputType

Provide the email address of an account user to send them an email with instructions on how to reset their password.

The possible errors that can be raised are:

  • KT-CT-1133: Unable to request password reset email.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RequestPasswordResetInput!)

Input fields for requesting a password reset email.

Return fields

NameDescription

email (String)

The email that requested a password reset email.

Mutation

mutation RequestPasswordReset($input: RequestPasswordResetInput!) {
  requestPasswordReset(input: $input) {
    email
  }
}

Variables

Response

{
  "data": {
    "requestPasswordReset": {
      "email": "abc123"
    }
  }
}

requestProvisioningClaimCertificate

Type:RequestProvisioningClaimCertificate

Request a certificate to provision a heating controller.

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.

Arguments

NameDescription

accountNumber (String!)

propertyId (ID)

The primary key of a property you would like to associate with this controller.

requestParameters (ProvisioningClaimRequestParameters!)

Parameters requested by the app from the controller, required for Kraken Flex to authenticate the device.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

provisioningClaimBundle (ProvisioningClaimBundle)

The certificate and private key required to create a provisioning claim.

Mutation

mutation RequestProvisioningClaimCertificate(
  $accountNumber: String!,
  $propertyId: ID,
  $requestParameters: ProvisioningClaimRequestParameters!
) {
  requestProvisioningClaimCertificate(
    accountNumber: $accountNumber,
    propertyId: $propertyId,
    requestParameters: $requestParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    provisioningClaimBundle {
      ...ProvisioningClaimBundleFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "propertyId": "abc123",
  "requestParameters": ProvisioningClaimRequestParameters
}

Response

{
  "data": {
    "requestProvisioningClaimCertificate": {
      "possibleErrors": [PossibleErrorType],
      "provisioningClaimBundle": ProvisioningClaimBundle
    }
  }
}

requote

Type:Requote

Requote for an account property.

Arguments

NameDescription

input (RequoteInput!)

Return fields

NameDescription

quote (QuoteType)

Mutation

mutation Requote($input: RequoteInput!) {
  requote(input: $input) {
    quote {
      ...QuoteTypeFragment
    }
  }
}

Variables

{
  "input": RequoteInput
}

Response

{
  "data": {
    "requote": {
      "quote": QuoteType
    }
  }
}

resetPassword

Type:ResetPasswordMutationPayload

Reset the password of an account user indicated by the userId to the value supplied.

Arguments

NameDescription

input (ResetPasswordMutationInput!)

Return fields

NameDescription

errors ([SerializerFieldErrorsType])

clientMutationId (String)

Mutation

mutation ResetPassword($input: ResetPasswordMutationInput!) {
  resetPassword(input: $input) {
    errors {
      ...SerializerFieldErrorsTypeFragment
    }
    clientMutationId
  }
}

Variables

Response

{
  "data": {
    "resetPassword": {
      "errors": [SerializerFieldErrorsType],
      "clientMutationId": "abc123"
    }
  }
}

resetUserPassword

Type:ResetUserPasswordOutput

Reset the password of an account user.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (ResetUserPasswordInput!)

Input fields for resetting an account user's password.

Return fields

NameDescription

passwordUpdated (Boolean)

True if the password update was successful, false otherwise.

failureReasons ([String])

A list of which password validations the new password failed against if applicable.

Mutation

mutation ResetUserPassword($input: ResetUserPasswordInput!) {
  resetUserPassword(input: $input) {
    passwordUpdated
    failureReasons
  }
}

Variables

Response

{
  "data": {
    "resetUserPassword": {
      "passwordUpdated": true,
      "failureReasons": ["abc123"]
    }
  }
}

resumeControl

Type:ResumeDeviceControl

Resume control of the device.

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.

Arguments

NameDescription

input (AccountNumberInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation ResumeControl($input: AccountNumberInput) {
  resumeControl(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

{
  "input": AccountNumberInput
}

Response

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

setBatteryChargingPreferences

Type:SetBatteryChargingPreferences

Set charging preferences for a home battery.

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.

Arguments

NameDescription

input (BatteryChargingPreferencesInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (BatteryDeviceType)

The battery device updated, with the ID of the device in KrakenFlex.

Mutation

mutation SetBatteryChargingPreferences($input: BatteryChargingPreferencesInput) {
  setBatteryChargingPreferences(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...BatteryDeviceTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "setBatteryChargingPreferences": {
      "possibleErrors": [PossibleErrorType],
      "krakenflexDevice": BatteryDeviceType
    }
  }
}

setClimateControlState

Type:SetClimateControlState

Turn a hot water device on or off.

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.

Arguments

NameDescription

input (ClimateControlStateInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

Mutation

mutation SetClimateControlState($input: ClimateControlStateInput) {
  setClimateControlState(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    heatPumpDevice {
      ...HeatPumpDeviceTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "setClimateControlState": {
      "possibleErrors": [PossibleErrorType],
      "heatPumpDevice": HeatPumpDeviceType
    }
  }
}

setHotWaterState

Type:SetHotWaterState

Turn a hot water device on or off.

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.

Arguments

NameDescription

input (HotWaterStateInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

Mutation

mutation SetHotWaterState($input: HotWaterStateInput) {
  setHotWaterState(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    heatPumpDevice {
      ...HeatPumpDeviceTypeFragment
    }
  }
}

Variables

{
  "input": HotWaterStateInput
}

Response

{
  "data": {
    "setHotWaterState": {
      "possibleErrors": [PossibleErrorType],
      "heatPumpDevice": HeatPumpDeviceType
    }
  }
}

setLoyaltyPointsUser

Type:SetLoyaltyPointsUser

Set the Loyalty Point user for the account.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1111: Unauthorized.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (SetLoyaltyPointsUserInput!)

Input fields for setting the Loyalty Points user.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

newLoyaltyPointsUserId (String)

ID of the new Loyalty Points user.

Mutation

mutation SetLoyaltyPointsUser($input: SetLoyaltyPointsUserInput!) {
  setLoyaltyPointsUser(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    newLoyaltyPointsUserId
  }
}

Variables

Response

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

setRoomTemperature

Type:SetRoomTemperature

Turn a hot water device on or off.

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.

Arguments

NameDescription

input (RoomTemperatureInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

heatPumpDevice (HeatPumpDeviceType)

The customer specific heat pump device details.

Mutation

mutation SetRoomTemperature($input: RoomTemperatureInput) {
  setRoomTemperature(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    heatPumpDevice {
      ...HeatPumpDeviceTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "setRoomTemperature": {
      "possibleErrors": [PossibleErrorType],
      "heatPumpDevice": HeatPumpDeviceType
    }
  }
}

setUpDirectDebitInstruction

Type:SetUpDirectDebitInstruction

Set up a new direct debit instruction.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (SetUpDirectDebitInstructionInput!)

Input fields for creating a new direct debit instruction

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentInstruction (DirectDebitInstructionType)

Mutation

mutation SetUpDirectDebitInstruction($input: SetUpDirectDebitInstructionInput!) {
  setUpDirectDebitInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentInstruction {
      ...DirectDebitInstructionTypeFragment
    }
  }
}

Variables

Response

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

setVehicleChargePreferences

Type:SetVehicleChargingPreferences

Set charging preferences for your electric vehicle.

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.

Arguments

NameDescription

input (VehicleChargingPreferencesInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation SetVehicleChargePreferences($input: VehicleChargingPreferencesInput) {
  setVehicleChargePreferences(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

Response

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

setZoneMode

Type:SetZoneMode

Turn a specific heating controller zone ON/OFF, set it to AUTO mode or give it a BOOST.

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.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

operationParameters (SetZoneModeParameters!)

The parameters required to instruct a specific zone operation.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with a zone's mode operation.

Mutation

mutation SetZoneMode(
  $accountNumber: String!,
  $euid: ID!,
  $operationParameters: SetZoneModeParameters!
) {
  setZoneMode(
    accountNumber: $accountNumber,
    euid: $euid,
    operationParameters: $operationParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "operationParameters": SetZoneModeParameters
}

Response

{
  "data": {
    "setZoneMode": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

setZoneSchedules

Type:SetZoneSchedules

Add schedules for a heating controller zone.

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.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

zoneScheduleParameters (SetZoneSchedulesParameters!)

The parameters required to add schedule(s) for a specific zone.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with adding schedule(s) for a zone.

Mutation

mutation SetZoneSchedules(
  $accountNumber: String!,
  $euid: ID!,
  $zoneScheduleParameters: SetZoneSchedulesParameters!
) {
  setZoneSchedules(
    accountNumber: $accountNumber,
    euid: $euid,
    zoneScheduleParameters: $zoneScheduleParameters
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "zoneScheduleParameters": SetZoneSchedulesParameters
}

Response

{
  "data": {
    "setZoneSchedules": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

shareGoodsQuote

Type:ShareGoodsQuote

Share a goods quote.

The possible errors that can be raised are:

  • KT-CT-4122: Invalid email.
  • KT-CT-8203: Received an invalid quote code.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (ShareGoodsQuoteInput!)

Input fields for sharing a quote.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

share (GoodsQuoteShare)

Goods quote shared.

Mutation

mutation ShareGoodsQuote($input: ShareGoodsQuoteInput!) {
  shareGoodsQuote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    share {
      ...GoodsQuoteShareFragment
    }
  }
}

Variables

Response

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

smets2Interest

Type:UpdateAccountSmartMeterInterest

Set stated interest in procuring a smart meter for 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.

Arguments

NameDescription

input (UpdateAccountSmartMeterInterestInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

interestUpdated (Boolean)

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.

Mutation

mutation Smets2Interest($input: UpdateAccountSmartMeterInterestInput) {
  smets2Interest(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    interestUpdated
    smets2Interest
    smets2InterestSource
    smets2RefusalReason
  }
}

Response

{
  "data": {
    "smets2Interest": {
      "possibleErrors": [PossibleErrorType],
      "interestUpdated": true,
      "smets2Interest": "INTERESTED",
      "smets2InterestSource": "WEBSITE",
      "smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME"
    }
  }
}

spinWheelOfFortune

Type:SpinWheelOfFortune

Submit a spin of the Wheel of Fortune for the given account and supply type.

This field requires the Authorization header to be set.

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.

Arguments

NameDescription

input (WheelOfFortuneSpinInput!)

Input fields for creating a Wheel of Fortune submission.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

spinResult (WheelOfFortuneSpinResultType)

The result of the Wheel of Fortune spin.

This field requires the Authorization header to be set.

Mutation

mutation SpinWheelOfFortune($input: WheelOfFortuneSpinInput!) {
  spinWheelOfFortune(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    spinResult {
      ...WheelOfFortuneSpinResultTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "spinWheelOfFortune": {
      "possibleErrors": [PossibleErrorType],
      "spinResult": WheelOfFortuneSpinResultType
    }
  }
}

startExportOnboardingProcess

Type:StartExportOnboardingProcess

Start export onboarding process for an account.

The possible errors that can be raised are:

  • KT-GB-4103: Unable to start export onboarding process.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (StartExportOnboardingProcessInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

onboardingProcess (SmartOnboardingProcessType)

productEnrolment (ProductEnrolmentType)

The product enrolment process created.

Mutation

mutation StartExportOnboardingProcess($input: StartExportOnboardingProcessInput) {
  startExportOnboardingProcess(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    onboardingProcess {
      ...SmartOnboardingProcessTypeFragment
    }
    productEnrolment {
      ...ProductEnrolmentTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "startExportOnboardingProcess": {
      "possibleErrors": [PossibleErrorType],
      "onboardingProcess": SmartOnboardingProcessType,
      "productEnrolment": ProductEnrolmentType
    }
  }
}

startOnboardingProcess

Type:StartSmartOnboardingProcess

Start smart onboarding process for an account.

The possible errors that can be raised are:

  • KT-GB-4102: Unable to start smart onboarding process.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (StartSmartOnboardingProcessInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

onboardingProcess (SmartOnboardingProcessType)

productEnrolment (ProductEnrolmentType)

The product enrolment process created.

Mutation

mutation StartOnboardingProcess($input: StartSmartOnboardingProcessInput) {
  startOnboardingProcess(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    onboardingProcess {
      ...SmartOnboardingProcessTypeFragment
    }
    productEnrolment {
      ...ProductEnrolmentTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "startOnboardingProcess": {
      "possibleErrors": [PossibleErrorType],
      "onboardingProcess": SmartOnboardingProcessType,
      "productEnrolment": ProductEnrolmentType
    }
  }
}

startSmartFlexOnboarding

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

Arguments

NameDescription

input (StartSmartFlexOnboardingInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation StartSmartFlexOnboarding($input: StartSmartFlexOnboardingInput!) {
  startSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

storePaymentInstruction

Type:StorePaymentInstruction

Store a new payment instruction created through the embedded process.

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.

Arguments

NameDescription

input (StorePaymentInstructionInput!)

Input fields for storing a new payment instruction created through the embedded process.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentInstruction (PaymentInstructionType)

The stored payment instruction.

Mutation

mutation StorePaymentInstruction($input: StorePaymentInstructionInput!) {
  storePaymentInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentInstruction {
      ...PaymentInstructionTypeFragment
    }
  }
}

Variables

Response

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

submitCustomerFeedback

Type:SubmitCustomerFeedback

Submit customer feedback.

The possible errors that can be raised are:

  • KT-CT-5514: Unable to submit feedback.
  • KT-CT-5511: The feedback_id should be provided for feedback source.
  • KT-CT-5512: The feedback doesn't match the account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CustomerFeedbackInputType!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

customerFeedback (CustomerFeedbackType)

Mutation

mutation SubmitCustomerFeedback($input: CustomerFeedbackInputType!) {
  submitCustomerFeedback(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    customerFeedback {
      ...CustomerFeedbackTypeFragment
    }
  }
}

Variables

Response

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

submitRepaymentRequest

Type:SubmitRepaymentRequest

Submit a repayment request.

The possible errors that can be raised are:

  • KT-CT-1132: Unauthorized.
  • KT-CT-3927: Invalid Amount.
  • KT-CT-3928: Idempotency key used for another repayment request.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RequestRepaymentInputType!)

Input fields for requesting a repayment.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

repaymentRequest (RequestRepaymentOutputType)

The newly created repayment request.

Mutation

mutation SubmitRepaymentRequest($input: RequestRepaymentInputType!) {
  submitRepaymentRequest(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    repaymentRequest {
      ...RequestRepaymentOutputTypeFragment
    }
  }
}

Variables

Response

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

suspendControl

Type:SuspendDeviceControl

Suspend control of the device.

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.

Arguments

NameDescription

input (AccountNumberInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation SuspendControl($input: AccountNumberInput) {
  suspendControl(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

{
  "input": AccountNumberInput
}

Response

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

switchMeterPointProducts

Type:SwitchMeterPointProducts

Switch the specified meter points to the chosen 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.

Arguments

NameDescription

input (SwitchMeterPointProductsInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountType)

The account associated with the meter points whose products were switched.

Mutation

mutation SwitchMeterPointProducts($input: SwitchMeterPointProductsInput) {
  switchMeterPointProducts(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

Response

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

transferLoyaltyPointsBetweenUsers

Type:TransferLoyaltyPointsBetweenUsers

Transfer Loyalty Point from one account user to another.

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.

Arguments

NameDescription

input (TransferLoyaltyPointsBetweenUsersInput!)

Input fields for transferring Loyalty Points.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

pointsTransferred (Int)

The number of OctoPoints that were transferred.

Mutation

mutation TransferLoyaltyPointsBetweenUsers($input: TransferLoyaltyPointsBetweenUsersInput!) {
  transferLoyaltyPointsBetweenUsers(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pointsTransferred
  }
}

Response

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

triggerBoostCharge

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (AccountNumberInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation TriggerBoostCharge($input: AccountNumberInput) {
  triggerBoostCharge(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

{
  "input": AccountNumberInput
}

Response

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

triggerPostUploadOperations

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

Arguments

NameDescription

s3Key (String!)

Return fields

NameDescription

Mutation

mutation TriggerPostUploadOperations($s3Key: String!) {
  triggerPostUploadOperations(s3Key: $s3Key) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    operationsTriggered
  }
}

Variables

{
  "s3Key": "abc123"
}

Response

{
  "data": {
    "triggerPostUploadOperations": {
      "possibleErrors": [PossibleErrorType],
      "operationsTriggered": true
    }
  }
}

triggerTestCharge

Type: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_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-4301: Unable to find device for given account.
  • KT-CT-4355: Unable to trigger charge.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (AccountNumberInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

krakenflexDevice (KrakenFlexDeviceType)

Mutation

mutation TriggerTestCharge($input: AccountNumberInput) {
  triggerTestCharge(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...KrakenFlexDeviceTypeFragment
    }
  }
}

Variables

{
  "input": AccountNumberInput
}

Response

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

unlinkUserFromLine

Type:UnlinkUserFromLineResponse!

Unlink an account user and line together.

Return fields

NameDescription

Mutation

mutation UnlinkUserFromLine {
  unlinkUserFromLine {
    ... on LineUnlinkedResponse {
      ...LineUnlinkedResponseFragment
    }
    ... on LinkTokenNotFound {
      ...LinkTokenNotFoundFragment
    }
    ... on LineCommonError {
      ...LineCommonErrorFragment
    }
  }
}

Response

{
  "data": {
    "unlinkUserFromLine": LineUnlinkedResponse
  }
}

updateAccountBillingAddress

Type:UpdateAccountBillingAddress

Update the account billing address.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (AccountBillingAddressInput!)

Input variables needed for updating an account billing address.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountType)

The updated account.

Mutation

mutation UpdateAccountBillingAddress($input: AccountBillingAddressInput!) {
  updateAccountBillingAddress(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

Response

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

updateAccountBillingEmail

Type:UpdateAccountBillingEmail

Update account billing email.

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.

Arguments

NameDescription

input (UpdateAccountBillingEmailInput!)

Input fields for updating billing email for an account.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountInterface)

Account that was changed.

Mutation

mutation UpdateAccountBillingEmail($input: UpdateAccountBillingEmailInput!) {
  updateAccountBillingEmail(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountInterfaceFragment
    }
  }
}

Variables

Response

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

updateAccountReference

Type:UpdateAccountReference

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

Arguments

NameDescription

input (AccountReferenceInput!)

Input fields for updating an account reference.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

accountReference (AccountReferenceType)

Mutation

mutation UpdateAccountReference($input: AccountReferenceInput!) {
  updateAccountReference(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountReference {
      ...AccountReferenceTypeFragment
    }
  }
}

Variables

Response

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

updateAutoTopUpAmount

Type:UpdateAutoTopUpAmount

Change the auto top up amount for the payment schedule.

The possible errors that can be raised are:

  • KT-CT-3815: No active payment schedule found for this account.
  • KT-CT-3941: Invalid data.
  • KT-CT-3942: An unexpected error occurred.
  • KT-CT-3947: An unexpected error occurred.
  • KT-CT-3953: The payment schedule is not a balance triggered schedule.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdateAutoTopUpAmountInput!)

Input fields for updating the auto-top-up amount for a schedule.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

schedule (PaymentScheduleType)

The new schedule created.

Mutation

mutation UpdateAutoTopUpAmount($input: UpdateAutoTopUpAmountInput!) {
  updateAutoTopUpAmount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    schedule {
      ...PaymentScheduleTypeFragment
    }
  }
}

Variables

Response

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

updateCommsDeliveryPreference

Type:UpdateCommsDeliveryPreference

Update account communication delivery preference.

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.

Arguments

NameDescription

input (UpdateCommsDeliveryPreferenceInput!)

Input fields for updating comms delivery preferences for an account

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

account (AccountInterface)

Mutation

mutation UpdateCommsDeliveryPreference($input: UpdateCommsDeliveryPreferenceInput!) {
  updateCommsDeliveryPreference(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountInterfaceFragment
    }
  }
}

Response

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

updateCommsPreferences

Type:UpdateAccountUserCommsPreferencesMutationPayload

Update the comms preferences of the account user (the authenticated user).

Arguments

NameDescription

input (UpdateAccountUserCommsPreferencesMutationInput!)

Return fields

NameDescription

isOptedInToClientMessages (Boolean)

isOptedInToOfferMessages (Boolean)

isOptedInToRecommendedMessages (Boolean)

isOptedInToUpdateMessages (Boolean)

isOptedInToThirdPartyMessages (Boolean)

isOptedInMeterReadingConfirmations (Boolean)

isOptedInToSmsMessages (Boolean)

isUsingInvertedEmailColours (Boolean)

fontSizeMultiplier (Float)

emailFormat (String)

preferredHoldMusic (String)

errors ([ErrorType])

commsPreferences (AccountUserCommsPreferences)

clientMutationId (String)

Mutation

mutation UpdateCommsPreferences($input: UpdateAccountUserCommsPreferencesMutationInput!) {
  updateCommsPreferences(input: $input) {
    isOptedInToClientMessages
    isOptedInToOfferMessages
    isOptedInToRecommendedMessages
    isOptedInToUpdateMessages
    isOptedInToThirdPartyMessages
    isOptedInMeterReadingConfirmations
    isOptedInToSmsMessages
    isUsingInvertedEmailColours
    fontSizeMultiplier
    emailFormat
    preferredHoldMusic
    errors {
      ...ErrorTypeFragment
    }
    commsPreferences {
      ...AccountUserCommsPreferencesFragment
    }
    clientMutationId
  }
}

Response

{
  "data": {
    "updateCommsPreferences": {
      "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"
    }
  }
}

updateDeviceSmartControl

Type:SmartFlexDeviceInterface

Suspends or resumes the smart control of a specific device.

The possible errors that can be raised are:

  • KT-CT-4358: Unable to suspend device control.
  • KT-CT-4359: Unable to resume device control.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (SmartControlInput!)

The input to action the desired device control, i.e. suspend or unsuspend a device.

Return fields

NameDescription

id (ID!)

A UUID that identifies this device registration. Re-registering this device will result in a different ID.

name (String)

The user-friendly name for the device.

deviceType (KrakenFlexDeviceTypes!)

The type of device.

provider (ProviderChoices!)

The third-party that enables control of this device.

status (SmartFlexDeviceStatusInterface)

Information about the current status of this device.

alerts ([SmartFlexDeviceAlertInterface])

Active alert message(s) for a device, showing the latest first.

onboardingWizard (SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

Mutation

mutation UpdateDeviceSmartControl($input: SmartControlInput!) {
  updateDeviceSmartControl(input: $input) {
    id
    name
    deviceType
    provider
    status {
      ...SmartFlexDeviceStatusInterfaceFragment
    }
    alerts {
      ...SmartFlexDeviceAlertInterfaceFragment
    }
    onboardingWizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

{
  "input": SmartControlInput
}

Response

{
  "data": {
    "updateDeviceSmartControl": {
      "id": "abc123",
      "name": "abc123",
      "deviceType": "BATTERIES",
      "provider": "DAIKIN",
      "status": SmartFlexDeviceStatusInterface,
      "alerts": SmartFlexDeviceAlertInterface,
      "onboardingWizard": SmartFlexOnboardingWizard
    }
  }
}

updateMetadata

Type:UpdateMetadata

Update metadata on an object.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (MetadataInput!)

Input fields for updating metadata.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

metadata (Metadata)

Mutation

mutation UpdateMetadata($input: MetadataInput!) {
  updateMetadata(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
  }
}

Variables

{
  "input": MetadataInput
}

Response

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

updatePassword

Type:UpdatePassword

Update password of the authenticated user.

This field requires the Authorization header to be set.

Arguments

NameDescription

input (UpdatePasswordInput)

Return fields

NameDescription

viewer (AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Mutation

mutation UpdatePassword($input: UpdatePasswordInput) {
  updatePassword(input: $input) {
    viewer {
      ...AccountUserTypeFragment
    }
  }
}

Variables

{
  "input": UpdatePasswordInput
}

Response

{
  "data": {
    "updatePassword": {
      "viewer": AccountUserType
    }
  }
}

updatePaymentSchedulePaymentAmount

Type:UpdatePaymentSchedulePaymentAmount

Update monthly Direct Debit payment amount. Enter amount in pence

Lower limit: 100p (£1), Upper limit: 100,000p (£1,000)

This field requires the Authorization header to be set.

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.

Arguments

NameDescription

input (UpdatePaymentSchedulePaymentAmountInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentSchedule (PaymentScheduleType)

Mutation

mutation UpdatePaymentSchedulePaymentAmount($input: UpdatePaymentSchedulePaymentAmountInput!) {
  updatePaymentSchedulePaymentAmount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentSchedule {
      ...PaymentScheduleTypeFragment
    }
  }
}

Response

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

updatePaymentSchedulePaymentDay

Type:UpdatePaymentSchedulePaymentDay

Update monthly Direct Debit payment day. Permitted values: 1-28. Not available for business accounts

This field requires the Authorization header to be set.

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.

Arguments

NameDescription

input (UpdatePaymentSchedulePaymentDayInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentSchedule (PaymentScheduleType)

Mutation

mutation UpdatePaymentSchedulePaymentDay($input: UpdatePaymentSchedulePaymentDayInput!) {
  updatePaymentSchedulePaymentDay(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentSchedule {
      ...PaymentScheduleTypeFragment
    }
  }
}

Response

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

updateSensorDisplayName

Type:UpdateSensorDisplayName

Update the display name of a sensor.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

displayName (String!)

The new display name.

euid (ID!)

The EUID of the heat pump controller.

sensorCode (String!)

The code of the sensor to rename (such as 'SENSOR01').

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with updating a sensor attribute.

Mutation

mutation UpdateSensorDisplayName(
  $accountNumber: String!,
  $displayName: String!,
  $euid: ID!,
  $sensorCode: String!
) {
  updateSensorDisplayName(
    accountNumber: $accountNumber,
    displayName: $displayName,
    euid: $euid,
    sensorCode: $sensorCode
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "displayName": "abc123",
  "euid": "abc123",
  "sensorCode": "abc123"
}

Response

{
  "data": {
    "updateSensorDisplayName": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

updateSmartMeterDataPreferences

Type:UpdateSmartMeterDataPreferences

Update smart meter data preferences of an account. Includes updating reading frequency and readings analysis consent.

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.

Arguments

NameDescription

input (UpdateSmartMeterDataPreferencesInput!)

Input fields for updating smart meter data preferences.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

preferencesUpdated (Boolean)

smartMeterDataPreferences (SmartMeterDataPreferencesType)

Mutation

mutation UpdateSmartMeterDataPreferences($input: UpdateSmartMeterDataPreferencesInput!) {
  updateSmartMeterDataPreferences(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    preferencesUpdated
    smartMeterDataPreferences {
      ...SmartMeterDataPreferencesTypeFragment
    }
  }
}

Response

{
  "data": {
    "updateSmartMeterDataPreferences": {
      "possibleErrors": [PossibleErrorType],
      "preferencesUpdated": true,
      "smartMeterDataPreferences": SmartMeterDataPreferencesType
    }
  }
}

updateSpecialCircumstances

Type:UpdateSpecialCircumstances

Update or create special circumstances for the user, which may entitle them to specialist services

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-GB-5411: Failed to update special circumstance record.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdateSpecialCircumstancesInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

specialCircumstances (SpecialCircumstancesType)

Mutation

mutation UpdateSpecialCircumstances($input: UpdateSpecialCircumstancesInput!) {
  updateSpecialCircumstances(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    specialCircumstances {
      ...SpecialCircumstancesTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "updateSpecialCircumstances": {
      "possibleErrors": [PossibleErrorType],
      "specialCircumstances": SpecialCircumstancesType
    }
  }
}

updateSsd

Type:UpdateSsd

Update SSD.

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.

Arguments

NameDescription

input (UpdateSsdInput)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

ssdUpdated (Boolean)

estimatedSsd (Date)

Mutation

mutation UpdateSsd($input: UpdateSsdInput) {
  updateSsd(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    ssdUpdated
    estimatedSsd
  }
}

Variables

{
  "input": UpdateSsdInput
}

Response

{
  "data": {
    "updateSsd": {
      "possibleErrors": [PossibleErrorType],
      "ssdUpdated": true,
      "estimatedSsd": "2020-01-01"
    }
  }
}

updateUser

Type:UpdateUserMutation

Update the account user details of the authenticated user. Only one field can be updated per day. This prevents users from switching accounts to someone else (usually when moving homes) All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (UpdateUserInput!)

Input fields for updating user.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

viewer (AccountUserType)

Mutation

mutation UpdateUser($input: UpdateUserInput!) {
  updateUser(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    viewer {
      ...AccountUserTypeFragment
    }
  }
}

Variables

{
  "input": UpdateUserInput
}

Response

{
  "data": {
    "updateUser": {
      "possibleErrors": [PossibleErrorType],
      "viewer": AccountUserType
    }
  }
}

updateUserDetails

Type:UpdateAccountUserMutationPayload

DEPRECATED: Please use updateUser instead

Update the account user details of the authenticated user. Only one field can be updated per day. This prevents users from switching accounts to someone else (usually when moving homes) All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days.

Arguments

NameDescription

input (UpdateAccountUserMutationInput!)

Return fields

NameDescription

givenName (String)

familyName (String)

pronouns (String)

mobile (String)

email (String)

dateOfBirth (Date)

landline (String)

errors ([ErrorType])

clientMutationId (String)

Mutation

mutation UpdateUserDetails($input: UpdateAccountUserMutationInput!) {
  updateUserDetails(input: $input) {
    givenName
    familyName
    pronouns
    mobile
    email
    dateOfBirth
    landline
    errors {
      ...ErrorTypeFragment
    }
    clientMutationId
  }
}

Variables

Response

{
  "data": {
    "updateUserDetails": {
      "givenName": "abc123",
      "familyName": "abc123",
      "pronouns": "abc123",
      "mobile": "abc123",
      "email": "abc123",
      "dateOfBirth": "2020-01-01",
      "landline": "abc123",
      "errors": [ErrorType],
      "clientMutationId": "abc123"
    }
  }
}

updateWaterSetpoint

Type:UpdateWaterSetpoint

Set the temperature for the hot water.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

setpoint (Int!)

The temperature to set the water to.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

transactionId (ID)

Unique ID associated with this operation.

Mutation

mutation UpdateWaterSetpoint(
  $accountNumber: String!,
  $euid: ID!,
  $setpoint: Int!
) {
  updateWaterSetpoint(
    accountNumber: $accountNumber,
    euid: $euid,
    setpoint: $setpoint
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionId
  }
}

Variables

{
  "accountNumber": "abc123",
  "euid": "abc123",
  "setpoint": 1
}

Response

{
  "data": {
    "updateWaterSetpoint": {
      "possibleErrors": [PossibleErrorType],
      "transactionId": "abc123"
    }
  }
}

verifyIdentity

Type:VerifyIdentity

Provide identifying information about an account and user to get a scoped token that will permit access to associate an email address with the account’s user.

The possible errors that can be raised are:

  • KT-CT-1145: Account/user details do not match.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (VerifyIdentityInput!)

Details about the user to be verified.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

token (String!)

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

Mutation

mutation VerifyIdentity($input: VerifyIdentityInput!) {
  verifyIdentity(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token
  }
}

Variables

{
  "input": VerifyIdentityInput
}

Response

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