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

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

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

annulOrder

Type:AnnulOrder

Annul an order before a supply start date has been received.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (AnnulOrderInput!)

Input variables needed for annulling the order.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

orderAnnulled (Boolean)

Whether the order annulment was successful.

Mutation

mutation AnnulOrder($input: AnnulOrderInput!) {
  annulOrder(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    orderAnnulled
  }
}

Variables

{
  "input": AnnulOrderInput
}

Response

{
  "data": {
    "annulOrder": {
      "possibleErrors": [PossibleErrorType],
      "orderAnnulled": true
    }
  }
}

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

cancelContract

Type:CancelContract

Cancel contract from the customer and send a confirmation email.

Arguments

NameDescription

input (CancelContractInput!)

Input variables needed for cancelling the contract.

Return fields

NameDescription

cancelledContract (Boolean)

Whether the contract cancellation was successful.

lastDayOfSupply (Date)

The last day of supply.

Mutation

mutation CancelContract($input: CancelContractInput!) {
  cancelContract(input: $input) {
    cancelledContract
    lastDayOfSupply
  }
}

Variables

{
  "input": CancelContractInput
}

Response

{
  "data": {
    "cancelContract": {
      "cancelledContract": true,
      "lastDayOfSupply": "2020-01-01"
    }
  }
}

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

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

completeAuthFlowForSmartFlexOnboarding

Type:CompleteAuthFlowForSmartFlexOnboarding

Complete the authentication flow to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CompleteAuthFlowInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation CompleteAuthFlowForSmartFlexOnboarding($input: CompleteAuthFlowInput!) {
  completeAuthFlowForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

completeTeslaSetupVirtualKeyForSmartFlexOnboarding

Type:CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding

Complete the Tesla virtual key setup onboarding step.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding($input: CompleteSmartFlexOnboardingStepInput!) {
  completeTeslaSetupVirtualKeyForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Response

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

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

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-DE-3914: Invalid data.
  • KT-DE-3910: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (CreateDirectDebitInstructionInput!)

Input fields for creating a new direct debit instruction

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

directDebitInstruction (PaymentInstructionType)

The payment instruction.

Mutation

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

Variables

Response

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

createElectricityMeterReadings

Type:CreateElectricityMeterReadings

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

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-DE-6414: Invalid data.
  • KT-DE-6411: Meter has no MaLo.
  • KT-DE-6412: Meter reading submission failed.
  • KT-DE-6413: An internal error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (ReadingsInput!)

Input fields for creating meter readings for a customer.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

readingDate (Date)

numberOfReadingsCreated (Int)

Mutation

mutation CreateElectricityMeterReadings($input: ReadingsInput!) {
  createElectricityMeterReadings(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    readingDate
    numberOfReadingsCreated
  }
}

Variables

{
  "input": ReadingsInput
}

Response

{
  "data": {
    "createElectricityMeterReadings": {
      "possibleErrors": [PossibleErrorType],
      "readingDate": "2020-01-01",
      "numberOfReadingsCreated": 1
    }
  }
}

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

createGasMeterReadings

Type:CreateGasMeterReadings

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

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-DE-6414: Invalid data.
  • KT-DE-6411: Meter has no MaLo.
  • KT-DE-6412: Meter reading submission failed.
  • KT-DE-6413: An internal error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (ReadingsInput!)

Input fields for creating meter readings for a customer.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

readingDate (Date)

numberOfReadingsCreated (Int)

Mutation

mutation CreateGasMeterReadings($input: ReadingsInput!) {
  createGasMeterReadings(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    readingDate
    numberOfReadingsCreated
  }
}

Variables

{
  "input": ReadingsInput
}

Response

{
  "data": {
    "createGasMeterReadings": {
      "possibleErrors": [PossibleErrorType],
      "readingDate": "2020-01-01",
      "numberOfReadingsCreated": 1
    }
  }
}

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

createNewsletterSignup

Type:CreateNewsletterSignupOutput

Creates a new signup for the OEDE newsletter via Maileon API.

Arguments

NameDescription

email (String!)

firstName (String)

Return fields

NameDescription

content (String)

id (String)

Mutation

mutation CreateNewsletterSignup(
  $email: String!,
  $firstName: String
) {
  createNewsletterSignup(
    email: $email,
    firstName: $firstName
  ) {
    content
    id
  }
}

Variables

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

Response

{
  "data": {
    "createNewsletterSignup": {
      "content": "abc123",
      "id": "abc123"
    }
  }
}

createQuote

Type:CreateQuoteOutput

Create electricity quotes based on the input paramaters.

Arguments

NameDescription

input (CreateQuoteInputParams!)

Return fields

NameDescription

code (String)

Code of the quote request that was generated.

electricityQuote (ElectricityQuote)

Details of the electricity quote.

gasQuote (GasQuote)

Details of the gas quote.

Mutation

mutation CreateQuote($input: CreateQuoteInputParams!) {
  createQuote(input: $input) {
    code
    electricityQuote {
      ...ElectricityQuoteFragment
    }
    gasQuote {
      ...GasQuoteFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createQuote": {
      "code": "abc123",
      "electricityQuote": ElectricityQuote,
      "gasQuote": GasQuote
    }
  }
}

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

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

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

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

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

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

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-1507: Agreement product switch date is not within the acceptable range.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

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

joinSupplierAcceptTermsAndConditions

Type:JoinSupplierAcceptTermsAndConditionsResult

Accept terms and conditions for a join supplier process.

Arguments

NameDescription

joinSupplierProcessId (Int!)

The JoinSupplierProcess ID.

Return fields

NameDescription

result (Boolean)

Indicator that the mutation has completed successfully.

Mutation

mutation JoinSupplierAcceptTermsAndConditions($joinSupplierProcessId: Int!) {
  joinSupplierAcceptTermsAndConditions(joinSupplierProcessId: $joinSupplierProcessId) {
    result
  }
}

Variables

{
  "joinSupplierProcessId": 1
}

Response

{
  "data": {
    "joinSupplierAcceptTermsAndConditions": {
      "result": true
    }
  }
}

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

moveOut

Type:MoveOut

Cancel contract due to move out from the customer and send a confirmation email.

Arguments

NameDescription

input (CancelContractInput!)

Input variables needed for cancelling the contract.

Return fields

NameDescription

cancelledContract (Boolean)

Whether the contract cancellation was successful.

lastDayOfSupply (Date)

The last day of supply.

Mutation

mutation MoveOut($input: CancelContractInput!) {
  moveOut(input: $input) {
    cancelledContract
    lastDayOfSupply
  }
}

Variables

{
  "input": CancelContractInput
}

Response

{
  "data": {
    "moveOut": {
      "cancelledContract": true,
      "lastDayOfSupply": "2020-01-01"
    }
  }
}

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

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

performHouseMove

Type:PerformHouseMove

Performs a house move.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-4410: Invalid postcode.
  • KT-CT-3811: Invalid IBAN.
  • KT-CT-3822: Unauthorized.
  • KT-DE-4903: Unable to proceed.
  • KT-DE-3920: No active or pending agreement found.
  • KT-DE-3921: Unable to proceed.
  • KT-DE-4904: Unable to proceed.
  • KT-DE-4905: Unable to proceed.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (HouseMoveInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

Mutation

mutation PerformHouseMove($input: HouseMoveInput!) {
  performHouseMove(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
  }
}

Variables

{
  "input": HouseMoveInput
}

Response

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

productSwitch

Type:ProductSwitch

Confirm a product switch.

The possible errors that can be raised are:

  • KT-DE-4901: Feature is unavailable.
  • KT-DE-4902: Unable to proceed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (ProductSwitchInput!)

Input variables needed to confirm a product switch.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

productSwitched (Boolean)

Whether the product switch was successful.

Mutation

mutation ProductSwitch($input: ProductSwitchInput!) {
  productSwitch(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    productSwitched
  }
}

Variables

{
  "input": ProductSwitchInput
}

Response

{
  "data": {
    "productSwitch": {
      "possibleErrors": [PossibleErrorType],
      "productSwitched": true
    }
  }
}

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

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-6727: Referral claim code is not available.
  • 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]
    }
  }
}

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

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

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

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

revokeContract

Type:RevokeContract

Revoke contract. Currently allowed up to 14 days after contract confirmation.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (RevokeContractInput!)

Input variables needed for revoking the contract.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

contractRevoked (Boolean)

Whether the contract revocation was successful.

Mutation

mutation RevokeContract($input: RevokeContractInput!) {
  revokeContract(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    contractRevoked
  }
}

Variables

{
  "input": RevokeContractInput
}

Response

{
  "data": {
    "revokeContract": {
      "possibleErrors": [PossibleErrorType],
      "contractRevoked": true
    }
  }
}

scheduleQuoteFollowUp

Type:ScheduleQuoteFollowUp

Schedule a quote follow-up to the provided recipient.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4632: Invalid recipient information.
  • KT-CT-4633: Mutation not enabled in this environment.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (QuoteShareInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

success (Boolean!)

Whether the message was scheduled successfully.

Mutation

mutation ScheduleQuoteFollowUp($input: QuoteShareInput!) {
  scheduleQuoteFollowUp(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

{
  "input": QuoteShareInput
}

Response

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

selectChargePointMakeForSmartFlexOnboarding

Type:SelectChargePointMakeForSmartFlexOnboarding

Select the charge point make to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectChargePointMakeInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation SelectChargePointMakeForSmartFlexOnboarding($input: SelectChargePointMakeInput!) {
  selectChargePointMakeForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

selectChargePointVariantForSmartFlexOnboarding

Type:SelectChargePointVariantForSmartFlexOnboarding

Select the charge point model variant to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectChargePointVariantInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation SelectChargePointVariantForSmartFlexOnboarding($input: SelectChargePointVariantInput!) {
  selectChargePointVariantForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

selectDeviceTypeForSmartFlexOnboarding

Type:SelectDeviceTypeForSmartFlexOnboarding

Select the device type to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectDeviceTypeInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation SelectDeviceTypeForSmartFlexOnboarding($input: SelectDeviceTypeInput!) {
  selectDeviceTypeForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

selectUserVehicleForSmartFlexOnboarding

Type:SelectUserVehicleForSmartFlexOnboarding

Select the user's vehicle to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectUserVehicleInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation SelectUserVehicleForSmartFlexOnboarding($input: SelectUserVehicleInput!) {
  selectUserVehicleForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

selectVehicleMakeForSmartFlexOnboarding

Type:SelectVehicleMakeForSmartFlexOnboarding

Select the vehicle make to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectVehicleMakeInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation SelectVehicleMakeForSmartFlexOnboarding($input: SelectVehicleMakeInput!) {
  selectVehicleMakeForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

selectVehicleVariantForSmartFlexOnboarding

Type:SelectVehicleVariantForSmartFlexOnboarding

Select the vehicle model variant to proceed in the onboarding journey.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectVehicleVariantInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation SelectVehicleVariantForSmartFlexOnboarding($input: SelectVehicleVariantInput!) {
  selectVehicleVariantForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

sendQuoteSummary

Type:SendQuoteSummary

Send a quote summary to the provided recipient.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4632: Invalid recipient information.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (QuoteShareInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

success (Boolean!)

Whether the triggering of the quote summary was successful.

Mutation

mutation SendQuoteSummary($input: QuoteShareInput!) {
  sendQuoteSummary(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

{
  "input": QuoteShareInput
}

Response

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

setDevicePreferences

Type:SmartFlexDeviceInterface

Set the user preferences for a device.

The possible errors that can be raised are:

  • KT-CT-4314: Unable to get provider details.
  • KT-CT-4321: Serializer validation error.
  • KT-CT-4374: An error occurred while trying to set your device preferences.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (SmartFlexDevicePreferencesInput!)

The device preference details to be updated.

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.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

Mutation

mutation SetDevicePreferences($input: SmartFlexDevicePreferencesInput!) {
  setDevicePreferences(input: $input) {
    id
    name
    deviceType
    provider
    status {
      ...SmartFlexDeviceStatusInterfaceFragment
    }
    alerts {
      ...SmartFlexDeviceAlertInterfaceFragment
    }
    onboardingWizard {
      ...SmartFlexOnboardingWizardFragment
    }
    preferences {
      ...SmartFlexDevicePreferencesInterfaceFragment
    }
  }
}

Variables

Response

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

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

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

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

specialCancelContract

Type:SpecialCancelContract

Trigger special cancellation for a contract.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (SpecialCancelContractInput!)

Input variables needed for specially cancelling the contract.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

cancelledContract (Boolean)

Whether the special contract cancellation was successful.

Mutation

mutation SpecialCancelContract($input: SpecialCancelContractInput!) {
  specialCancelContract(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    cancelledContract
  }
}

Variables

Response

{
  "data": {
    "specialCancelContract": {
      "possibleErrors": [PossibleErrorType],
      "cancelledContract": true
    }
  }
}

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

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

startTestChargeForSmartFlexOnboarding

Type:StartTestChargeForSmartFlexOnboarding

Attempt to start a test charge.

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-4375: Incorrect or missing parameters for SmartFlex onboarding step.
  • KT-CT-4376: Unable to complete onboarding step. Please try agan later.
  • KT-CT-4377: Invalid onboarding step ID.
  • KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

wizard (SmartFlexOnboardingWizard)

The wizard created for onboarding the device with SmartFlex.

Mutation

mutation StartTestChargeForSmartFlexOnboarding($input: CompleteSmartFlexOnboardingStepInput!) {
  startTestChargeForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Response

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

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

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

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

updateActivePurchase

Type:UpdateActivePurchase

Update an active purchase.

The possible errors that can be raised are:

  • KT-CT-8225: Received an invalid purchaseId.
  • KT-CT-8226: The provided purchase is not active.
  • KT-CT-8206: Invalid data.
  • KT-CT-8227: Available grants could not be applied.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdatePurchaseInput!)

Input fields for updating an active purchase.

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

goodsPurchase (GoodsPurchase)

Goods purchase updated.

Mutation

mutation UpdateActivePurchase($input: UpdatePurchaseInput!) {
  updateActivePurchase(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    goodsPurchase {
      ...GoodsPurchaseFragment
    }
  }
}

Variables

{
  "input": UpdatePurchaseInput
}

Response

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

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.

preferences (SmartFlexDevicePreferencesInterface)

The device's preference details.

Mutation

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

Variables

{
  "input": SmartControlInput
}

Response

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

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. Permitted values: 100 cents (1€) - 100,000 cents (1000€).

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-DE-3910: Invalid data.
  • KT-DE-3915: Invalid data.
  • KT-DE-3901: Failed while checking if the ledger has existing schedules and the amount can be updated.
  • KT-DE-3917: Invalid data.
  • KT-DE-3918: Invalid data.
  • KT-DE-3916: Invalid data.
  • KT-DE-3902: Updating the payment amount on the ledger failed.
  • KT-DE-3912: Invalid data.
  • KT-DE-3919: A payment schedule for a time-of-use tariff cannot be updated.
  • KT-DE-3920: No active or pending agreement found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (UpdatePaymentSchedulePaymentAmountInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentSchedule (PaymentScheduleType)

The payment schedule that is being updated.

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-DE-3910: Invalid data.
  • KT-DE-3913: Invalid data.
  • KT-DE-3919: A payment schedule for a time-of-use tariff cannot be updated.
  • KT-DE-3920: No active or pending agreement found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (UpdatePaymentSchedulePaymentDayInput!)

Return fields

NameDescription

possibleErrors ([PossibleErrorType])

paymentSchedule (PaymentScheduleType)

The payment schedule that is being updated.

Mutation

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

Response

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

updateUser

Type:UpdateUserMutation

Update the account user details of the authenticated user.

Only one name field can be updated per day, other fields can be updated freely. 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"
    }
  }
}

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