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.

API Site

acceptGoodsQuote

Type:AcceptGoodsQuote

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

Arguments

NameDescription

input (AcceptTermsAndConditionsInput!)

Input fields for accepting terms and conditions

Return fields

NameDescription

Mutation

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

Variables

Response

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

addCampaignToAccount

Type:AddCampaignToAccount

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

Arguments

NameDescription

input (SmartPrepayMeterAmountInput!)

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

Return fields

NameDescription

Mutation

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

Variables

Response

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

amendPayment

Type:AmendPayment

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": AmendPaymentInput
}

Response

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

Arguments

NameDescription

input (AmendUnbilledReadingInput!)

Input fields for amending unbilled electricity reading.

Return fields

NameDescription

Mutation

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

Variables

Response

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

assignDiscountCode

Type:AssignDiscountCode

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String)

The account number to assign the code to.

Return fields

NameDescription

Mutation

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

Variables

{
  "accountNumber": "abc123"
}

Response

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

backendScreenEvent

Type:BackendScreenEvent

URL:https://api.octopus.energy/v1/graphql/

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

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

Arguments

NameDescription

input (BillToLatestSmartMeterSnapshotInput!)

Input fields for billing to latest smart meter snapshot.

Return fields

NameDescription

Mutation

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

Response

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

bulkUpdateSensorDisplayName

Type:BulkUpdateSensorDisplayName

URL:https://api.octopus.energy/v1/graphql/

Update the display name of multiple sensors.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

updates ([SensorDisplayNameUpdate]!)

A list of sensor codes and display names to set.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

cancelRepaymentRequest

Type:CancelRepaymentRequest

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

cancelSmartFlexOnboarding

Type:CancelSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

claimOctoplusReward

Type:ClaimOctoplusReward

URL:https://api.octopus.energy/v1/graphql/

Claim an Octoplus Reward.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number for the Octoplus-enrolled account.

offerSlug (String!)

The unique string identifier for the offer to be claimed.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

claimShoptopusVoucher

Type:ClaimShoptopusVoucher

URL:https://api.octopus.energy/v1/graphql/

Claim a Shoptopus Voucher using Octopoints.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number for the Octoplus-enrolled account.

points (Int!)

The number of Octopoints to exchange for a reward.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

collectPayment

Type:CollectPayment

URL:https://api.octopus.energy/v1/graphql/

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

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

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CompleteAuthFlowInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

completeTeslaSetupVirtualKeyForSmartFlexOnboarding

Type:CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

NameDescription

Mutation

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

Response

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

Arguments

NameDescription

input (CreateAccountFileAttachmentInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

createAccountPaymentSchedule

Type:CreateAccountPaymentSchedule

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

createAccountReference

Type:CreateAccountReference

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

createAcquisitionQuoteRequestForProducts

Type:CreateAcquisitionQuoteRequestForProducts

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateAcquisitionQuoteRequestForProductsInput!)

Return fields

NameDescription

Mutation

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

Response

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

createAutoTopupConfig

Type:CreateAutoTopupConfig

URL:https://api.octopus.energy/v1/graphql/

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

Arguments

NameDescription

input (CreateAutoTopupConfigInput!)

Input fields for creating an auto top-up config.

Return fields

NameDescription

Mutation

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

Variables

Response

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

createContributionAgreement

Type:CreateContributionAgreement

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

createDirectDebitInstruction

Type:CreateDirectDebitInstruction

URL:https://api.octopus.energy/v1/graphql/

Create new direct debit instruction

This field requires the Authorization header to be set.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateDirectDebitInstructionInput!)

Input fields for creating a new direct debit instruction.

Return fields

NameDescription

Mutation

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

Variables

Response

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

createElectricityMeterReading

Type:CreateMeterReadingOutputType

URL:https://api.octopus.energy/v1/graphql/

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

This field requires the Authorization header to be set.

Arguments

NameDescription

mpan (String)

readAt (Date)

readings ([ReadingInputType])

serialNumber (String)

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

createFormSubmission

Type:FormSubmissionOuput

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": FormSubmissionInput
}

Response

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

createGasMeterReading

Type:CreateMeterReadingOutputType

URL:https://api.octopus.energy/v1/graphql/

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

This field requires the Authorization header to be set.

Arguments

NameDescription

mprn (String)

readAt (Date)

reading (Int)

serialNumber (String)

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

createGoodsPurchase

Type:CreateGoodsPurchase

URL:https://api.octopus.energy/v1/graphql/

Create a goods purchase.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreatePurchaseInput!)

Input fields for creating a purchase without a quote.

Return fields

NameDescription

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

URL:https://api.octopus.energy/v1/graphql/

Create a goods quote.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateGoodsQuoteInput!)

Input fields for creating a goods quote.

Return fields

NameDescription

Mutation

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

Variables

Response

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

createGoodsQuoteWithoutAccount

Type:CreateGoodsQuoteWithoutAccount

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

Arguments

NameDescription

input (CreateHeatPumpGoodsQuoteInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

createInkChatbotMessage

Type:CreateInkChatbotMessagePayload

URL:https://api.octopus.energy/v1/graphql/

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

Arguments

NameDescription

input (CreateInkChatbotMessageInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

Type:CreateOctoplusRewardContactLink

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number for the Octoplus-enrolled account.

Return fields

NameDescription

Mutation

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

Variables

{
  "accountNumber": "abc123"
}

Response

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

createPaymentSchedule

Type:CreatePaymentSchedule

URL:https://api.octopus.energy/v1/graphql/

Create a monthly payment schedule for a fixed amount.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-GB-3917: No statement in last 60 days.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (PaymentScheduleInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

createQuote

Type:CreateQuoteOutputType

URL:https://api.octopus.energy/v1/graphql/

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

Arguments

NameDescription

input (CreateQuoteInput!)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": CreateQuoteInput
}

Response

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

createQuoteRequestForProducts

Type:CreateQuoteRequestForProducts

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateQuoteRequestForProductsInput!)

Return fields

NameDescription

Mutation

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

Response

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

createReferral

Type:CreateReferral

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": CreateReferralInput
}

Response

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

createRefundRequest

Type:CreateRefundRequest

URL:https://api.octopus.energy/v1/graphql/

Add a refund request to an account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (RefundRequestInput!)

Input fields for creating a refund request.

Return fields

NameDescription

Mutation

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

Variables

{
  "input": RefundRequestInput
}

Response

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

Arguments

NameDescription

input (CreateRenewalQuoteRequestInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

createSnap

Type:CreateSnap

URL:https://api.octopus.energy/v1/graphql/

Creates a new Snap for the given account.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number to attach the snap to.

spawnId (String!)

The unique identifier for the constantine.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

createTempProvisioningClaim

Type:CreateProvisioningClaim

URL:https://api.octopus.energy/v1/graphql/

Create a temporary provisioning cert in krakenflex

Return fields

NameDescription

Mutation

mutation CreateTempProvisioningClaim {
  createTempProvisioningClaim {
    tempProvisioningClaimCert
  }
}

Response

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

createWarmHomeDiscountApplication

Type:WarmHomeDiscountApplicationOutputType

URL:https://api.octopus.energy/v1/graphql/

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

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String)

applicationInputs (WarmHomeDiscountApplicationInputType)

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

deauthenticateDevice

Type:DeauthenticateDevice

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

deleteBoostCharge

Type:DeleteBoostCharge

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

deletePushNotificationBinding

Type:DeletePushNotificationBinding

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

deprovisionHeatingController

Type:DeprovisionHeatingController

URL:https://api.octopus.energy/v1/graphql/

De-provision a heating controller device.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

deviceRegistration

Type:DeviceRegistration

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

directDebitPaymentDayUpdate

Type:DirectDebitPaymentDayUpdate

URL:https://api.octopus.energy/v1/graphql/

DEPRECATED: Please use updatePaymentSchedulePaymentDay instead

Update monthly Direct Debit payment day

This field requires the Authorization header to be set.

Arguments

NameDescription

input (DirectDebitPaymentDayUpdateInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

Arguments

NameDescription

input (DisableAutoTopupInput!)

Input fields for disabling auto top-up.

Return fields

NameDescription

Mutation

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

Variables

Response

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

endContributionAgreement

Type:EndContributionAgreement

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

fitAcceptSchedule

Type:FitAcceptSchedule

URL:https://api.octopus.energy/v1/graphql/

Accept a FIT schedule for a particular account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (FitAcceptScheduleInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

fitCreateMeterReadings

Type:FitCreateMeterReadings

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (FitMeterReadingInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

forceReauthentication

Type:ForceReauthentication

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

generatePaymentAllocationNumber

Type:GeneratePaymentAllocationNumber

URL:https://api.octopus.energy/v1/graphql/

Generate PAN for a smart prepay meter

The possible errors that can be raised are:

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

Arguments

NameDescription

input (SmartMeterDeviceInput!)

Identifies the meter to generate a PAN for.

Return fields

NameDescription

Mutation

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

Variables

Response

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

getEmbeddedSecretForNewPaymentInstruction

Type:GetEmbeddedSecretForNewPaymentInstruction

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

getEmbeddedSecretForNewPaymentInstructionWithoutAccount

Type:GetEmbeddedSecretForNewPaymentInstructionWithoutAccount

URL:https://api.octopus.energy/v1/graphql/

Get the client secret needed to create a new payment instruction using an embedded form without tying it to a customer.

Arguments

NameDescription

input (GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput!)

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

Return fields

NameDescription

Mutation

mutation GetEmbeddedSecretForNewPaymentInstructionWithoutAccount($input: GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput!) {
  getEmbeddedSecretForNewPaymentInstructionWithoutAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    secretKey
  }
}

Response

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

getHostedUrlForNewPaymentInstruction

Type:GetHostedUrlForNewPaymentInstruction

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

initiateHostedStandalonePayment

Type:InitiateHostedStandalonePayment

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

initiateProductSwitch

Type:InitiateProductSwitch

URL:https://api.octopus.energy/v1/graphql/

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

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

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

invalidatePaymentInstruction

Type:InvalidatePaymentInstruction

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

invalidatePreSignedToken

Type:InvalidatePreSignedToken

URL:https://api.octopus.energy/v1/graphql/

Invalidate a previously-issued pre-signed token.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (InvalidatePreSignedTokenInput!)

Return fields

NameDescription

Mutation

mutation InvalidatePreSignedToken($input: InvalidatePreSignedTokenInput!) {
  invalidatePreSignedToken(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token {
      ...PreSignedTokenFragment
    }
  }
}

Variables

Response

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

joinConsumerDevice

Type:JoinConsumerDevice

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

  • KT-GB-4053: Fuel type should not be specified for Alt HAN device.
  • KT-GB-4031: Error sending the request to join the device to the CHF.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (JoinConsumerDeviceInput!)

Input fields for join device.

Return fields

NameDescription

Mutation

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

Variables

Response

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

joinOctoplusCampaign

Type:JoinOctoplusCampaign

URL:https://api.octopus.energy/v1/graphql/

Enrolls an account in the Octoplus campaign.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-9310: Account ineligible for joining Octoplus.
  • KT-GB-9311: Error joining campaign.
  • KT-GB-9312: Account already signed up to Octoplus.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

accountNumber (String)

Kraken account number.

savingSessionsEnrolmentOptions (SavingSessionsEnrolmentOptions)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

joinSavingSessionsCampaign

Type:JoinSavingSessionsCampaign

URL:https://api.octopus.energy/v1/graphql/

Sign account up to Saving Sessions campaign.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-5110: Campaign not found.
  • KT-GB-5111: Meter point not found.
  • KT-GB-5112: Error joining campaign.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (JoinSavingSessionsCampaignInput!)

Input fields for joining the Saving Sessions campaign.

Return fields

NameDescription

Mutation

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

Variables

Response

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

joinSavingSessionsEvent

Type:JoinSavingSessionsEvent

URL:https://api.octopus.energy/v1/graphql/

Opt account in to a Saving Sessions event.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-GB-5114: Saving Sessions event not found.
  • KT-GB-5116: Account is not part of a Saving Sessions campaign.
  • KT-GB-5117: Account ineligible to join Saving Sessions event.
  • KT-GB-5115: Error joining event.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (JoinSavingSessionsEventInput!)

Input fields for joining a Saving Sessions event.

Return fields

NameDescription

Mutation

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

Variables

Response

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

joinSupplierAcceptTermsAndConditions

Type:JoinSupplierAcceptTermsAndConditions

URL:https://api.octopus.energy/v1/graphql/

Accept terms and conditions for a join supplier process.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (JoinSupplierAcceptTermsAndConditionsInput!)

Return fields

NameDescription

Mutation

mutation JoinSupplierAcceptTermsAndConditions($input: JoinSupplierAcceptTermsAndConditionsInput!) {
  joinSupplierAcceptTermsAndConditions(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Response

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

linkUserToLine

Type:LinkUserToLineResponse!

URL:https://api.octopus.energy/v1/graphql/

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

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

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

Response

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

obtainKrakenToken

Type:ObtainKrakenJSONWebToken

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

occupy

Type:OccupyOutputType

URL:https://api.octopus.energy/v1/graphql/

Add details to an existing occupier account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (OccupyInput!)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": OccupyInput
}

Response

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

ocppAuthentication

Type:OCPPAuthentication

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

octoHeatPumpBulkUpdateSensorDisplayName

Type:BulkUpdateSensorDisplayName

URL:https://api.octopus.energy/v1/graphql/

Update the display name of multiple sensors.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

updates ([SensorDisplayNameUpdate]!)

A list of sensor codes and display names to set.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpDeprovisionHeatingController

Type:DeprovisionHeatingController

URL:https://api.octopus.energy/v1/graphql/

De-provision a heating controller device.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpRebootController

Type:RebootHeatingController

URL:https://api.octopus.energy/v1/graphql/

Reboot the given heating controller.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpRemoveSensor

Type:RemoveSensor

URL:https://api.octopus.energy/v1/graphql/

Remove a sensor from a heating controller device.

The possible errors that can be raised are:

  • KT-CT-4309: Error trying to remove sensor from heat pump controller.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

sensorId (String!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpRequestProvisioningClaimCertificate

Type:RequestProvisioningClaimCertificate

URL:https://api.octopus.energy/v1/graphql/

Request a certificate to provision a heating controller.

The possible errors that can be raised are:

  • KT-CT-4332: Invalid data.
  • KT-CT-4304: Error in preprovisioning step for Octopus Heat Pump.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

propertyId (ID)

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

requestParameters (ProvisioningClaimRequestParameters!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpSetZoneMode

Type:SetZoneMode

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

  • KT-CT-4333: Invalid data.
  • KT-CT-4306: Error setting mode for heat pump controller zone.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

operationParameters (SetZoneModeParameters!)

The parameters required to instruct a specific zone operation.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpSetZonePrimarySensor

Type:SetZonePrimarySensor

URL:https://api.octopus.energy/v1/graphql/

Set the primary sensor for a zone.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

operationParameters (SetZonePrimarySensorParameters!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpSetZoneSchedules

Type:SetZoneSchedules

URL:https://api.octopus.energy/v1/graphql/

Add schedules for a heating controller zone.

The possible errors that can be raised are:

  • KT-CT-4334: Invalid data.
  • KT-CT-4308: Error setting schedule(s) for heat pump controller zone.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

zoneScheduleParameters (SetZoneSchedulesParameters!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpUpdateFlowTemperatureConfiguration

Type:UpdateFlowTemperatureConfiguration

URL:https://api.octopus.energy/v1/graphql/

Update the flow temperature configuration for the heat pump.

The possible errors that can be raised are:

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

Arguments

NameDescription

euid (ID!)

The EUID of the heat pump controller.

flowTemperatureInput (FlowTemperatureInput!)

Flow temperature configuration parameters.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpUpdateSensorDisplayName

Type:UpdateSensorDisplayName

URL:https://api.octopus.energy/v1/graphql/

Update the display name of a sensor.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

displayName (String!)

The new display name.

euid (ID!)

The EUID of the heat pump controller.

sensorCode (String!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

octoHeatPumpUpdateWaterSetpoint

Type:UpdateWaterSetpoint

URL:https://api.octopus.energy/v1/graphql/

Set the temperature for the hot water.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

setpoint (Int!)

The temperature to set the water to.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

orderBlanket

Type:OrderBlanket

URL:https://api.octopus.energy/v1/graphql/

Orders a blanket to be delivered to the account.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String)

The account number to send the blanket to.

Return fields

NameDescription

Mutation

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

Variables

{
  "accountNumber": "abc123"
}

Response

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

performMoveOut

Type:PerformMoveOut

URL:https://api.octopus.energy/v1/graphql/

Perform a move out of a property for an account.

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

The possible errors that can be raised are:

  • KT-GB-6624: An error occurred when trying to process this house move.
  • KT-GB-6625: An error occurred when trying to process this house move.
  • KT-GB-6626: There was an error processing the PSR data.
  • KT-GB-6627: There are missing agent appointments.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (MoveOutInput!)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": MoveOutInput
}

Response

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

quoteAccountOnProducts

Type:QuoteAccountOnProducts

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

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

Arguments

NameDescription

input (QuoteAccountOnProductsInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

Arguments

NameDescription

input (QuoteCampaignOfferInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

quoteNewMeterPoints

Type:QuoteNewMeterPoints

URL:https://api.octopus.energy/v1/graphql/

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

Arguments

NameDescription

input (QuoteNewMeterPointsInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

reauthenticateDevice

Type:ReauthenticateDevice

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

redeemLoyaltyPointsForAccountCredit

Type:RedeemLoyaltyPointsForAccountCredit

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

redeemOctoPointsForAccountCredit

Type:RedeemOctoPointsForAccountCredit

URL:https://api.octopus.energy/v1/graphql/

Redeem the maximum possible number of OctoPoints as account credit

The possible errors that can be raised are:

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

Arguments

NameDescription

input (RedeemOctoPointsInput!)

Input fields for redeeming OctoPoints.

Return fields

NameDescription

Mutation

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

Variables

Response

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

redeemReferralClaimCode

Type:RedeemReferralClaimCode

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

refreshQuote

Type:RefreshQuote

URL:https://api.octopus.energy/v1/graphql/

Refresh quote with updated products for a quote code.

The possible errors that can be raised are:

  • KT-GB-4612: Unable to refresh quote - quote not found.
  • KT-GB-4613: Error generating quote.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RefreshQuoteInput!)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": RefreshQuoteInput
}

Response

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

regenerateSecretKey

Type:RegenerateSecretKey

URL:https://api.octopus.energy/v1/graphql/

Regenerate the live secret key for the authenticated user.

Return fields

NameDescription

Mutation

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

Response

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

registerPushNotificationBinding

Type:RegisterPushNotificationBinding

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

removeConsumerDevice

Type:RemoveConsumerDevice

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

  • KT-GB-4012: Unable to find the CAD device.
  • KT-GB-4032: Error sending the request to remove the device.
  • KT-GB-4013: Received invalid device type to remove other than CAD.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (RemoveConsumerDeviceInput!)

Input fields for remove device.

Return fields

NameDescription

Mutation

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

Variables

Response

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

removeSensor

Type:RemoveSensor

URL:https://api.octopus.energy/v1/graphql/

Remove a sensor from a heating controller device.

The possible errors that can be raised are:

  • KT-CT-4309: Error trying to remove sensor from heat pump controller.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

sensorId (String!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

renewAgreements

Type:RenewAgreements

URL:https://api.octopus.energy/v1/graphql/

Renew agreements for an account.

The possible errors that can be raised are:

  • KT-GB-4125: Invalid data.
  • KT-GB-4111: Unable to renew agreements for tariff renewal.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RenewAgreementsInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

renewAgreementsForAccount

Type:RenewAgreementsForAccount

URL:https://api.octopus.energy/v1/graphql/

Renew a list of agreements for an account.

The possible errors that can be raised are:

  • KT-GB-4113: At least one list of agreements to renew is required.
  • KT-GB-4126: Electricity and gas agreement input is invalid.
  • KT-GB-4114: Unable to renew agreements.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (RenewAgreementsForAccountInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

replaceAgreement

Type:ReplaceAgreement

URL:https://api.octopus.energy/v1/graphql/

Replace an agreement for an account with a new product.

Arguments

NameDescription

input (ReplaceAgreementInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

requestConsumptionData

Type:RequestConsumptionData

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

  • KT-GB-4033: No electricity device found matching device ID.
  • KT-GB-4034: Error requesting consumption data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RequestConsumptionDataInput!)

Input fields for requesting consumption data.

Return fields

NameDescription

Mutation

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

Variables

Response

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

requestPasswordReset

Type:RequestPasswordResetOutputType

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

requestPrintedBill

Type:RequestPrintedBill

URL:https://api.octopus.energy/v1/graphql/

Request an issued bill to be printed and (re)posted to billing address of the account.

The possible errors that can be raised are:

  • KT-CT-3824: Unauthorized.
  • KT-CT-9705: The billing document has not been issued.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (RequestPrintedBillInput!)

Input fields to request a printed bill.

Return fields

NameDescription

Mutation

mutation RequestPrintedBill($input: RequestPrintedBillInput!) {
  requestPrintedBill(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

Response

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

requestProvisioningClaimCertificate

Type:RequestProvisioningClaimCertificate

URL:https://api.octopus.energy/v1/graphql/

Request a certificate to provision a heating controller.

The possible errors that can be raised are:

  • KT-CT-4332: Invalid data.
  • KT-CT-4304: Error in preprovisioning step for Octopus Heat Pump.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

propertyId (ID)

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

requestParameters (ProvisioningClaimRequestParameters!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

requote

Type:Requote

URL:https://api.octopus.energy/v1/graphql/

Requote for an account property.

Arguments

NameDescription

input (RequoteInput!)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": RequoteInput
}

Response

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

resetPassword

Type:ResetPasswordMutationPayload

URL:https://api.octopus.energy/v1/graphql/

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

Arguments

NameDescription

input (ResetPasswordMutationInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

resetUserPassword

Type:ResetUserPasswordOutput

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

resumeControl

Type:ResumeDeviceControl

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

scheduleQuoteFollowUp

Type:ScheduleQuoteFollowUp

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": QuoteShareInput
}

Response

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

selectChargePointMakeForSmartFlexOnboarding

Type:SelectChargePointMakeForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectChargePointMakeInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

selectChargePointVariantForSmartFlexOnboarding

Type:SelectChargePointVariantForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectChargePointVariantInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

selectDeviceTypeForSmartFlexOnboarding

Type:SelectDeviceTypeForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectDeviceTypeInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

selectUserVehicleForSmartFlexOnboarding

Type:SelectUserVehicleForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectUserVehicleInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

selectVehicleMakeForSmartFlexOnboarding

Type:SelectVehicleMakeForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectVehicleMakeInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

selectVehicleVariantForSmartFlexOnboarding

Type:SelectVehicleVariantForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SelectVehicleVariantInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

sendLossObjectionForChangeOfSupplier

Type:SendLossObjectionForChangeOfSupplier

URL:https://api.octopus.energy/v1/graphql/

Send an objection to an ongoing change of supplier process in order to try and cancel it.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (SendLossObjectionForChangeOfSupplierInput!)

Input fields for sending loss objection for change of supplier.

Return fields

NameDescription

Mutation

mutation SendLossObjectionForChangeOfSupplier($input: SendLossObjectionForChangeOfSupplierInput!) {
  sendLossObjectionForChangeOfSupplier(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Response

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

setBatteryChargingPreferences

Type:SetBatteryChargingPreferences

URL:https://api.octopus.energy/v1/graphql/

Set charging preferences for a home battery.

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-4353: An error occurred while trying to update your charging preferences.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (BatteryChargingPreferencesInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

setClimateControlState

Type:SetClimateControlState

URL:https://api.octopus.energy/v1/graphql/

Turn a hot water device on or off.

The possible errors that can be raised are:

  • KT-CT-4337: Unable to set climate control state.
  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (ClimateControlStateInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

setDevicePreferences

Type:SmartFlexDeviceInterface

URL:https://api.octopus.energy/v1/graphql/

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

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

setHotWaterState

Type:SetHotWaterState

URL:https://api.octopus.energy/v1/graphql/

Turn a hot water device on or off.

The possible errors that can be raised are:

  • KT-CT-4336: Unable to set hot water state.
  • KT-CT-4301: Unable to find device for given account.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (HotWaterStateInput)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": HotWaterStateInput
}

Response

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

setLoyaltyPointsUser

Type:SetLoyaltyPointsUser

URL:https://api.octopus.energy/v1/graphql/

Set the Loyalty Point user for the account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (SetLoyaltyPointsUserInput!)

Input fields for saving the Loyalty Points user.

Return fields

NameDescription

Mutation

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

Variables

Response

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

setRoomTemperature

Type:SetRoomTemperature

URL:https://api.octopus.energy/v1/graphql/

Turn a hot water device on or off.

The possible errors that can be raised are:

  • KT-CT-4329: Invalid data.
  • KT-CT-4346: Unable to set the room temperature.
  • KT-CT-7223: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (RoomTemperatureInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

setUpDirectDebitInstruction

Type:SetUpDirectDebitInstruction

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

setVehicleChargePreferences

Type:SetVehicleChargingPreferences

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

setZoneMode

Type:SetZoneMode

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

  • KT-CT-4333: Invalid data.
  • KT-CT-4306: Error setting mode for heat pump controller zone.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

operationParameters (SetZoneModeParameters!)

The parameters required to instruct a specific zone operation.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

setZoneSchedules

Type:SetZoneSchedules

URL:https://api.octopus.energy/v1/graphql/

Add schedules for a heating controller zone.

The possible errors that can be raised are:

  • KT-CT-4334: Invalid data.
  • KT-CT-4308: Error setting schedule(s) for heat pump controller zone.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

zoneScheduleParameters (SetZoneSchedulesParameters!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

shareGoodsQuote

Type:ShareGoodsQuote

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

smets2Interest

Type:UpdateAccountSmartMeterInterest

URL:https://api.octopus.energy/v1/graphql/

Set stated interest in procuring a smart meter for an account.

The possible errors that can be raised are:

  • KT-GB-4115: Could not create smart meter interest for account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdateAccountSmartMeterInterestInput)

Return fields

NameDescription

Mutation

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

Response

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

spinWheelOfFortune

Type:SpinWheelOfFortune

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

startExportOnboardingProcess

Type:StartExportOnboardingProcess

URL:https://api.octopus.energy/v1/graphql/

Start export onboarding process for an account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (StartExportOnboardingProcessInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

startOnboardingProcess

Type:StartSmartOnboardingProcess

URL:https://api.octopus.energy/v1/graphql/

Start smart onboarding process for an account.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (StartSmartOnboardingProcessInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

startSmartFlexOnboarding

Type:StartSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

startTestChargeForSmartFlexOnboarding

Type:StartTestChargeForSmartFlexOnboarding

URL:https://api.octopus.energy/v1/graphql/

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-4379: Vehicle is not ready for a test charge.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

NameDescription

Mutation

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

Response

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

storePaymentInstruction

Type:StorePaymentInstruction

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

submitCustomerFeedback

Type:SubmitCustomerFeedback

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

submitRepaymentRequest

Type:SubmitRepaymentRequest

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

suspendControl

Type:SuspendDeviceControl

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

switchMeterPointProducts

Type:SwitchMeterPointProducts

URL:https://api.octopus.energy/v1/graphql/

Switch the specified meter points to the chosen product.

The possible errors that can be raised are:

  • KT-GB-4116: Invalid data.
  • KT-GB-4617: Quoted product not found.
  • KT-CT-4623: Unauthorized.
  • KT-GB-4117: Unable to process product switch.
  • KT-GB-4119: Meter point already on another account.
  • KT-GB-4120: MPxN has no active agreement.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (SwitchMeterPointProductsInput)

Return fields

NameDescription

Mutation

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

Variables

Response

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

terminateCreditTransferPermission

Type:TerminateCreditTransferPermission

URL:https://api.octopus.energy/v1/graphql/

Terminate credit transfer permission.

The possible errors that can be raised are:

  • KT-CT-3825: Credit transfer permission not found.
  • KT-CT-3826: Invalid credit transfer permission.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (TerminateCreditTransferPermissionInput!)

Input fields for terminating a credit transfer permission.

Return fields

NameDescription

Mutation

mutation TerminateCreditTransferPermission($input: TerminateCreditTransferPermissionInput!) {
  terminateCreditTransferPermission(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    creditTransferPermissionId
    validTo
  }
}

Response

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

transferLoyaltyPointsBetweenUsers

Type:TransferLoyaltyPointsBetweenUsers

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

triggerBoostCharge

Type:PerformBoostCharge

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

triggerPostUploadOperations

Type:TriggerPostUploadOperations!

URL:https://api.octopus.energy/v1/graphql/

The possible errors that can be raised are:

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

Arguments

NameDescription

s3Key (String!)

Return fields

NameDescription

Mutation

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

Variables

{
  "s3Key": "abc123"
}

Response

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

triggerTestCharge

Type:PerformTestCharge

URL:https://api.octopus.energy/v1/graphql/

Initiate a test charge of an electric vehicle (EV).

This is to ensure that the EV or EVSE (charge point) can be controlled remotely and successfully charged for a short period.

If it is not possible to initiate a test charge, a KT-CT-4355 error will be returned. It may have a testChargeRefusalReasons extension which lists the reasons why the test charge was refused. Possible reasons include:

  • TC_DEVICE_LIVE (device is already live)
  • TC_DEVICE_ONBOARDING_IN_PROGRESS (test dispatch already in progress)
  • TC_DEVICE_RETIRED (device is retired)
  • TC_DEVICE_SUSPENDED (device is suspended)
  • TC_DEVICE_DISCONNECTED (device is disconnected)
  • TC_DEVICE_ALREADY_CHARGING (device is already charging)
  • TC_DEVICE_AWAY_FROM_HOME (device is away from home)
  • TC_DEVICE_NO_LOCATION_CONFIGURED (device has no location configured)
  • TC_DEVICE_LOCATION_UNABLE_TO_IDENTIFY (unable to identify device location)
  • TC_DEVICE_LOCATION_MISSING (device location is missing)

The possible errors that can be raised are:

  • KT-CT-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

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

Return fields

NameDescription

Mutation

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

Response

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

updateAccountBillingAddress

Type:UpdateAccountBillingAddress

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

updateAccountBillingEmail

Type:UpdateAccountBillingEmail

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

updateAccountConsents

Type:UpdateAccountConsents

URL:https://api.octopus.energy/v1/graphql/

Update the consents of an account

The possible errors that can be raised are:

  • KT-CT-9014: Duplicate consent.
  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9017: Consent type not found.
  • KT-CT-9018: Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

accountNumber (String!)

The account number to update consents for.

consents ([ConsentInput]!)

Consents to update for account.

Return fields

NameDescription

Mutation

mutation UpdateAccountConsents(
  $accountNumber: String!,
  $consents: [ConsentInput]!
) {
  updateAccountConsents(
    accountNumber: $accountNumber,
    consents: $consents
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    consents {
      ...ConsentTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "consents": ConsentInput
}

Response

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

updateAccountReference

Type:UpdateAccountReference

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

updateAccountUserConsents

Type:UpdateAccountUserConsents

URL:https://api.octopus.energy/v1/graphql/

Update the consents of an account user (the authenticated user)

The possible errors that can be raised are:

  • KT-CT-9014: Duplicate consent.
  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9017: Consent type not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

consents ([ConsentTypeInput])

Consents to update for account user.

Return fields

NameDescription

Mutation

mutation UpdateAccountUserConsents($consents: [ConsentTypeInput]) {
  updateAccountUserConsents(consents: $consents) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountUserConsents {
      ...AccountUserConsentsFragment
    }
  }
}

Variables

{
  "consents": ConsentTypeInput
}

Response

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

updateActivePurchase

Type:UpdateActivePurchase

URL:https://api.octopus.energy/v1/graphql/

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

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

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

updateCommsDeliveryPreference

Type:UpdateCommsDeliveryPreference

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Response

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

updateCommsPreferences

Type:UpdateAccountUserCommsPreferencesMutationPayload

URL:https://api.octopus.energy/v1/graphql/

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

Arguments

NameDescription

input (UpdateAccountUserCommsPreferencesMutationInput!)

Return fields

NameDescription

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

URL:https://api.octopus.energy/v1/graphql/

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

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

URL:https://api.octopus.energy/v1/graphql/

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

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

URL:https://api.octopus.energy/v1/graphql/

Update password of the authenticated user.

This field requires the Authorization header to be set.

Arguments

NameDescription

input (UpdatePasswordInput)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": UpdatePasswordInput
}

Response

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

updatePaymentSchedulePaymentAmount

Type:UpdatePaymentSchedulePaymentAmount

URL:https://api.octopus.energy/v1/graphql/

Update monthly Direct Debit payment amount. Enter amount in pence

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

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-GB-3919: Invalid payment schedule amount.
  • KT-GB-3920: Cannot update payment schedule amount.
  • KT-CT-3923: Unauthorized.
  • KT-CT-3941: Invalid data.
  • KT-CT-3942: An unexpected error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdatePaymentSchedulePaymentAmountInput!)

Return fields

NameDescription

Mutation

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

Response

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

updatePaymentSchedulePaymentDay

Type:UpdatePaymentSchedulePaymentDay

URL:https://api.octopus.energy/v1/graphql/

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

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-GB-3918: Account not found.
  • KT-GB-3910: This feature is not available to business accounts.
  • KT-GB-3911: Your payment day cannot be changed at this time.
  • KT-GB-3912: Unable to update payment day.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (UpdatePaymentSchedulePaymentDayInput!)

Return fields

NameDescription

Mutation

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

Response

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

updateSensorDisplayName

Type:UpdateSensorDisplayName

URL:https://api.octopus.energy/v1/graphql/

Update the display name of a sensor.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

displayName (String!)

The new display name.

euid (ID!)

The EUID of the heat pump controller.

sensorCode (String!)

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

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

updateSmartMeterDataPreferences

Type:UpdateSmartMeterDataPreferences

URL:https://api.octopus.energy/v1/graphql/

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

The possible errors that can be raised are:

  • KT-CT-4023: Unauthorized.
  • KT-GB-4015: Cannot update smart meter reading frequency preferences.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdateSmartMeterDataPreferencesInput!)

Input fields for updating smart meter data preferences.

Return fields

NameDescription

Mutation

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

Response

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

updateSpecialCircumstances

Type:UpdateSpecialCircumstances

URL:https://api.octopus.energy/v1/graphql/

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

This field requires the Authorization header to be set.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (UpdateSpecialCircumstancesInput!)

Return fields

NameDescription

Mutation

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

Variables

Response

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

updateSsd

Type:UpdateSsd

URL:https://api.octopus.energy/v1/graphql/

Update SSD.

The possible errors that can be raised are:

  • KT-GB-4101: Unable to update SSD for account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

NameDescription

input (UpdateSsdInput)

Return fields

NameDescription

Mutation

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

Variables

{
  "input": UpdateSsdInput
}

Response

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

updateUser

Type:UpdateUserMutation

URL:https://api.octopus.energy/v1/graphql/

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

This field requires the Authorization header to be set.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (UpdateUserInput!)

Input fields for updating user.

Return fields

NameDescription

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

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

Response

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

updateWaterSetpoint

Type:UpdateWaterSetpoint

URL:https://api.octopus.energy/v1/graphql/

Set the temperature for the hot water.

The possible errors that can be raised are:

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

Arguments

NameDescription

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

setpoint (Int!)

The temperature to set the water to.

Return fields

NameDescription

Mutation

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

Variables

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

Response

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

verifyIdentity

Type:VerifyIdentity

URL:https://api.octopus.energy/v1/graphql/

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

Mutation

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

Variables

{
  "input": VerifyIdentityInput
}

Response

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

Authentication Server

createMfaDevice

Type:CreateMfaDevice

URL:https://auth.octopus.energy/graphql/

Create MFA Device for user.

The possible errors that can be raised are:

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

Arguments

NameDescription

input (CreateMfaDeviceInputType!)

Input fields for creating a new multi-factor authentication device for the logged user.

Return fields

NameDescription

Mutation

mutation CreateMfaDevice($input: CreateMfaDeviceInputType!) {
  createMfaDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    deviceEmail
    devicePhone
    totpSecret
  }
}

Variables

Response

{
  "data": {
    "createMfaDevice": {
      "possibleErrors": [PossibleErrorType],
      "deviceEmail": "abc123",
      "devicePhone": "abc123",
      "totpSecret": "abc123"
    }
  }
}

deleteMfaDevice

Type:DeleteMfaDevice

URL:https://auth.octopus.energy/graphql/

Delete MFA Device for user.

The possible errors that can be raised are:

  • KT-CT-1150: MFA device not found.
  • KT-CT-1154: Unable to delete MFA device.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (DeleteMfaDeviceInputType!)

Input fields for deleting an existing multi-factor authentication device for the logged user.

Return fields

NameDescription

Mutation

mutation DeleteMfaDevice($input: DeleteMfaDeviceInputType!) {
  deleteMfaDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    deviceDeleted
  }
}

Variables

Response

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

validateMfaDevice

Type:ValidateMfaDevice

URL:https://auth.octopus.energy/graphql/

Validate MFA Device for user.

The possible errors that can be raised are:

  • KT-CT-1150: MFA device not found.
  • KT-CT-1151: MFA device not found.
  • KT-CT-1152: Invalid MFA token.
  • KT-CT-1155: Enabled backup device is needed.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (ValidateMfaDeviceInputType!)

Input fields for validating a new multi-factor authentication device for the logged user.

Return fields

NameDescription

Mutation

mutation ValidateMfaDevice($input: ValidateMfaDeviceInputType!) {
  validateMfaDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    deviceIsValid
  }
}

Variables

Response

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