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

Name Description

input (AcceptGoodsQuoteInput!)

Input fields for accepting a quote.

Return fields

Name Description

Mutation

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

Variables

{
  "input": AcceptGoodsQuoteInput
}

Response

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

acceptOfferForQuoting

Type: AcceptOfferForQuoting

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

Accept a quoting offer in an offer group.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AcceptOfferForQuotingInput!)

Input fields for accepting a quoting offer.

Return fields

Name Description

Mutation

mutation AcceptOfferForQuoting($input: AcceptOfferForQuotingInput!) {
  acceptOfferForQuoting(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    offer {
      ...OfferTypeFragment
    }
  }
}

Variables

Response

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

Arguments

Name Description

input (AcceptTermsAndConditionsInput!)

Input fields for accepting terms and conditions

Return fields

Name Description

Mutation

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

Variables

Response

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

addBusinessToSegment

Type: AddBusinessToSegmentMutation

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

Add a business to a segment.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AddBusinessToSegmentInput!)

Input fields for adding a business to a segment.

Return fields

Name Description

Mutation

mutation AddBusinessToSegment($input: AddBusinessToSegmentInput!) {
  addBusinessToSegment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    businessSegmentPeriod {
      ...BusinessSegmentPeriodTypeFragment
    }
  }
}

Variables

Response

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

addCampaignToAccount

Type: AddCampaignToAccount

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

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-7427: No campaign found with given slug.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (AddCampaignToAccountInput!)

Input variables needed for adding a campaign to an account.

Return fields

Name Description

Mutation

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

Variables

Response

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

Arguments

Name Description

input (SmartPrepayMeterAmountInput!)

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

Return fields

Name Description

Mutation

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

Variables

Response

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

addEvPublicChargingToken

Type: AddEvPublicChargingToken

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

Add EV public charging token.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AddEvPublicChargingTokenInput!)

Input fields for adding a token.

Return fields

Name Description

Mutation

mutation AddEvPublicChargingToken($input: AddEvPublicChargingTokenInput!) {
  addEvPublicChargingToken(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token {
      ...TokenFragment
    }
  }
}

Variables

Response

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

addItemsToRiskList

Type: AddItemsToRiskList

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

Add items to the risk list.

The possible errors that can be raised are:

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

Arguments

Name Description

input ([RiskListItemInputType]!)

A list of risk list items to add.

Return fields

Name Description

Mutation

mutation AddItemsToRiskList($input: [RiskListItemInputType]!) {
  addItemsToRiskList(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    riskIdentifiers {
      ...RiskListItemTypeFragment
    }
  }
}

Variables

{
  "input": RiskListItemInputType
}

Response

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

Arguments

Name Description

input (AddNoteToInkConversationInput!)

Return fields

Name Description

Mutation

mutation AddNoteToInkConversation($input: AddNoteToInkConversationInput!) {
  addNoteToInkConversation(input: $input) {
    note {
      ...InkNoteFragment
    }
    clientMutationId
  }
}

Variables

Response

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

addSignupReferralOnAccount

Type: AddSignupReferralOnAccount

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

Add a one-way signup reward to a referral.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AddSignupReferralOnAccountInput!)

Input fields for creating a signup reward for an organization.

Return fields

Name Description

Mutation

mutation AddSignupReferralOnAccount($input: AddSignupReferralOnAccountInput!) {
  addSignupReferralOnAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountReferral {
      ...ReferralTypeFragment
    }
  }
}

Variables

Response

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

allowRepaymentSubmission

Type: AllowRepaymentSubmission

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

Allow a repayment to be submitted.

The possible errors that can be raised are:

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

Arguments

Name Description

input (RepaymentInput!)

Input variable needed for allowing repayment submission.

Return fields

Name Description

Mutation

mutation AllowRepaymentSubmission($input: RepaymentInput!) {
  allowRepaymentSubmission(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    repaymentId
    repaymentIntervention {
      ...RepaymentInterventionTypeFragment
    }
  }
}

Variables

{
  "input": RepaymentInput
}

Response

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

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

Arguments

Name Description

input (AmendPaymentInput!)

Input fields for amending an existing payment.

Return fields

Name Description

Mutation

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

Variables

{
  "input": AmendPaymentInput
}

Response

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

Arguments

Name Description

input (AmendUnbilledReadingInput!)

Input fields for amending unbilled electricity reading.

Return fields

Name Description

Mutation

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

Variables

Response

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

approveRepayment

Type: ApproveRepayment

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

Approve a repayment.

The possible errors that can be raised are:

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

Arguments

Name Description

input (ApproveRepaymentInput!)

Input fields for approving a repayment.

Return fields

Name Description

Mutation

mutation ApproveRepayment($input: ApproveRepaymentInput!) {
  approveRepayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    repayment {
      ...AccountRepaymentTypeFragment
    }
  }
}

Variables

{
  "input": ApproveRepaymentInput
}

Response

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

assessCollectionProcessRecordForPause

Type: AssessCollectionProcessRecordForPause

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

Assess a collection process record for pause.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AssessCollectionProcessRecordForPauseInputType!)

Details of collection process to run the pause assessment.

Return fields

Name Description

Mutation

mutation AssessCollectionProcessRecordForPause($input: AssessCollectionProcessRecordForPauseInputType!) {
  assessCollectionProcessRecordForPause(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    collectionProcessProcessed {
      ...AssessCollectionProcessRecordForPauseOutputTypeFragment
    }
  }
}

Response

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

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

Name Description

accountNumber (String)

The account number to assign the code to.

Return fields

Name Description

Mutation

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

Variables

{
  "accountNumber": "abc123"
}

Response

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

Arguments

Name Description

input (AssignInkBucketInput!)

Return fields

Name Description

Mutation

mutation AssignInkBucket($input: AssignInkBucketInput!) {
  assignInkBucket(input: $input) {
    conversation {
      ...InkConversationFragment
    }
    bucket {
      ...InkBucketFragment
    }
    clientMutationId
  }
}

Variables

{
  "input": AssignInkBucketInput
}

Response

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

associateCallWithAccount

Type: AssociateCallWithAccount

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

The possible errors that can be raised are:

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

Arguments

Name Description

input (AssociateCallWithAccountInput!)

Return fields

Name Description

Mutation

mutation AssociateCallWithAccount($input: AssociateCallWithAccountInput!) {
  associateCallWithAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    call {
      ...InboundCallTypeFragment
    }
  }
}

Variables

Response

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

associateItemToCollectionProcess

Type: AssociateItemToCollectionProcess

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

Associate item to a collection process.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AssociateItemToCollectionProcessInputType!)

Input variables needed for associating an item to collection process.

Return fields

Name Description

Mutation

mutation AssociateItemToCollectionProcess($input: AssociateItemToCollectionProcessInputType!) {
  associateItemToCollectionProcess(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    collectionProcessAssociatedItem {
      ...AssociateItemToCollectionProcessOutputTypeFragment
    }
  }
}

Response

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

awardLoyaltyPoints

Type: AwardLoyaltyPoints

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

Award the passed number of Loyalty Points to the account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AwardLoyaltyPointsInput!)

Input fields for awarding Loyalty Points.

Return fields

Name Description

Mutation

mutation AwardLoyaltyPoints($input: AwardLoyaltyPointsInput!) {
  awardLoyaltyPoints(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pointsAwarded
    ledgerEntry {
      ...LoyaltyPointLedgerEntryTypeFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (BackendScreenEventInput!)

Input fields for performing a backend action.

Return fields

Name Description

Mutation

mutation BackendScreenEvent($input: BackendScreenEventInput!) {
  backendScreenEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    action
  }
}

Variables

Response

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

Arguments

Name Description

input (BillToLatestSmartMeterSnapshotInput!)

Input fields for billing to latest smart meter snapshot.

Return fields

Name Description

Mutation

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

Variables

Response

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

blockRepaymentSubmission

Type: BlockRepaymentSubmission

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

Block a repayment from being submitted.

The possible errors that can be raised are:

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

Arguments

Name Description

input (RepaymentInput!)

Input variable needed for blocking repayment submission.

Return fields

Name Description

Mutation

mutation BlockRepaymentSubmission($input: RepaymentInput!) {
  blockRepaymentSubmission(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    repaymentId
    repaymentIntervention {
      ...RepaymentInterventionTypeFragment
    }
  }
}

Variables

{
  "input": RepaymentInput
}

Response

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

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

Name Description

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

Name Description

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

calculateDepositAmount

Type: CalculateDepositAmount

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

Calculate the deposit amount. Record the deposit amount and return the key

The possible errors that can be raised are:

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

Arguments

Name Description

calculateDepositAmountInput (CalculateDepositAmountInput!)

Return fields

Name Description

Mutation

mutation CalculateDepositAmount($calculateDepositAmountInput: CalculateDepositAmountInput!) {
  calculateDepositAmount(calculateDepositAmountInput: $calculateDepositAmountInput) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    depositAmount
    key
  }
}

Variables

{
  "calculateDepositAmountInput": CalculateDepositAmountInput
}

Response

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

cancelEnrollment

Type: EnrollmentCancelled!

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

Cancel an enrollment for an account and a set of supply points.

The possible errors that can be raised are:

  • KT-CT-10312: Mutation not enabled in this environment.
  • KT-CT-10318: Enrollment process not found.
  • KT-CT-10319: Enrollment process failed to cancel.
  • KT-CT-10320: Enrollment process not cancellable.
  • KT-CT-10321: Enrollment cancellation workflow not defined.
  • KT-CT-10323: Enrollment process failed to cancel.
  • KT-CT-10331: Missing required process number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (CancelEnrollmentInput!)

Return fields

Name Description

Mutation

mutation CancelEnrollment($input: CancelEnrollmentInput!) {
  cancelEnrollment(input: $input) {
    message
    enrollmentProcess
  }
}

Variables

{
  "input": CancelEnrollmentInput
}

Response

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

cancelEnrolment

Type: CancelEnrolment

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

Cancel the enrolment of an account to a supplier.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CancelEnrolmentInput)

Return fields

Name Description

Mutation

mutation CancelEnrolment($input: CancelEnrolmentInput) {
  cancelEnrolment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountNumber
  }
}

Variables

{
  "input": CancelEnrolmentInput
}

Response

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

cancelLeaveSupplier

Type: LeaveSupplierCancelled!

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

Cancel a leave supplier process.

The possible errors that can be raised are:

  • KT-CT-10304: Mutation not enabled in this environment.
  • KT-CT-10302: Invalid data.
  • KT-CT-10305: Failed to cancel leave supplier process - market actions are no longer cancellable.
  • KT-CT-10306: Failed to cancel leave supplier process - the cancellation workflow has not been configured.
  • KT-CT-10307: Failed to cancel leave supplier process - failed to cancel market actions.
  • KT-CT-10308: Failed to cancel leave supplier process.
  • KT-CT-10311: Failed to cancel leave supplier process. The process status is not in cancellable status.
  • KT-CT-1607: Value cannot be empty.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (CancelLeaveSupplierInput!)

Return fields

Name Description

Mutation

mutation CancelLeaveSupplier($input: CancelLeaveSupplierInput!) {
  cancelLeaveSupplier(input: $input) {
    message
  }
}

Variables

Response

{
  "data": {
    "cancelLeaveSupplier": {
      "message": "abc123"
    }
  }
}

cancelPayment

Type: CancelPayment

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

Cancel an in-flight payment.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CancelPaymentInput!)

Input fields for cancelling a pending payment.

Return fields

Name Description

Mutation

mutation CancelPayment($input: CancelPaymentInput!) {
  cancelPayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    payment {
      ...AccountPaymentTypeFragment
    }
  }
}

Variables

{
  "input": CancelPaymentInput
}

Response

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

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

Name Description

input (CancelRepaymentRequestInputType!)

Input fields for cancelling a repayment request.

Return fields

Name Description

Mutation

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

Variables

Response

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

Arguments

Name Description

input (CancelSiteworksAppointmentInput!)

Input fields for cancelling a siteworks appointment.

Return fields

Name Description

Mutation

mutation CancelSiteworksAppointment($input: CancelSiteworksAppointmentInput!) {
  cancelSiteworksAppointment(input: $input) {
    siteworksAppointment {
      ...ActiveAppointmentTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "cancelSiteworksAppointment": {
      "siteworksAppointment": ActiveAppointmentType
    }
  }
}

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

Arguments

Name Description

input (CancelSmartFlexOnboardingInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

checkBusinessCreditRisk

Type: CheckBusinessCreditRisk

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

Create and retrieve a business credit risk analysis using a creditscore for LTDs.

Arguments

Name Description

checkBusinessCreditRiskInput (CheckBusinessCreditRiskInput!)

Input for checking business credit risk.

Return fields

Name Description

Mutation

mutation CheckBusinessCreditRisk($checkBusinessCreditRiskInput: CheckBusinessCreditRiskInput!) {
  checkBusinessCreditRisk(checkBusinessCreditRiskInput: $checkBusinessCreditRiskInput) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentMultiplier
  }
}

Variables

{
  "checkBusinessCreditRiskInput": CheckBusinessCreditRiskInput
}

Response

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

checkDeviceConnection

Type: CheckDeviceConnection

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

Triggers an asynchronous request to check the connection of a device. The request reference is returned, which can be used to track the status of the request.

Arguments

Name Description

input (CheckDeviceConnectionInput!)

Input field for checking device connection.

Return fields

Name Description

Mutation

mutation CheckDeviceConnection($input: CheckDeviceConnectionInput!) {
  checkDeviceConnection(input: $input) {
    requestReference
  }
}

Variables

Response

{
  "data": {
    "checkDeviceConnection": {
      "requestReference": "abc123"
    }
  }
}

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

Name Description

accountNumber (String!)

The account number for the Octoplus-enrolled account.

offerSlug (String!)

The unique string identifier for the offer to be claimed.

Return fields

Name Description

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

Name Description

accountNumber (String!)

The account number for the Octoplus-enrolled account.

points (Int!)

The number of Octopoints to exchange for a reward.

Return fields

Name Description

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

closeDcaProceeding

Type: CloseDCAProceeding

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

Close the DCA proceeding for an account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CloseDCAProceedingInputType!)

Return fields

Name Description

Mutation

mutation CloseDcaProceeding($input: CloseDCAProceedingInputType!) {
  closeDcaProceeding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    dcaProceedingClosureStatus {
      ...DCAProceedingClosureStatusFragment
    }
  }
}

Variables

Response

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

Arguments

Name Description

input (CloseLiveChatInput!)

Return fields

Name Description

Mutation

mutation CloseLiveChat($input: CloseLiveChatInput!) {
  closeLiveChat(input: $input) {
    liveChat {
      ...InkLiveChatFragment
    }
    clientMutationId
  }
}

Variables

{
  "input": CloseLiveChatInput
}

Response

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

closeOpenPrintBatch

Type: CloseOpenPrintBatch!

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

Close the Open Print Batch if any.

The possible errors that can be raised are:

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

Return fields

Name Description

Mutation

mutation CloseOpenPrintBatch {
  closeOpenPrintBatch {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    printBatch {
      ...PrintBatchTypeFragment
    }
  }
}

Response

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

collectDeposit

Type: CollectDeposit

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

Collect deposit for the given account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CollectDepositInput!)

Return fields

Name Description

Mutation

mutation CollectDeposit($input: CollectDepositInput!) {
  collectDeposit(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    payment {
      ...CollectDepositOutputFragment
    }
  }
}

Variables

{
  "input": CollectDepositInput
}

Response

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

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-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (CollectPaymentInput!)

Input fields for collecting a payment.

Return fields

Name Description

Mutation

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

Variables

{
  "input": CollectPaymentInput
}

Response

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

commenceDcaProceeding

Type: CommenceDCAProceeding

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

Add commencement to an account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CommenceDCAProceedingInputType!)

Return fields

Name Description

Mutation

mutation CommenceDcaProceeding($input: CommenceDCAProceedingInputType!) {
  commenceDcaProceeding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    dcaProceedingCommencementStatus {
      ...DCAProceedingCommencementStatusFragment
    }
  }
}

Variables

Response

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

commissionMeter

Type: CommissionMeter

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

Commissions the device after the meter has been physically installed.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CommissionMeterInput!)

Input fields for commission meters.

Return fields

Name Description

Mutation

mutation CommissionMeter($input: CommissionMeterInput!) {
  commissionMeter(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

{
  "input": CommissionMeterInput
}

Response

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

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

Arguments

Name Description

input (CompleteAuthFlowInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": CompleteAuthFlowInput
}

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

Arguments

Name Description

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

completeUserActionForSmartFlexOnboarding

Type: CompleteUserActionRequiredForSmartFlexOnboarding

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

Complete the user action required step to proceed in the onboarding journey.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

Name Description

Mutation

mutation CompleteUserActionForSmartFlexOnboarding($input: CompleteSmartFlexOnboardingStepInput!) {
  completeUserActionForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

confirmDoubleOptIn

Type: ConfirmDoubleOptIn

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

Confirm a double opt in

The possible errors that can be raised are:

  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9020: Invalid consent expiring token.
  • KT-CT-9021: Consent expiring token not found.
  • KT-CT-9022: Consent for given token already accepted.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (ConfirmDoubleOptInInput)

Return fields

Name Description

Mutation

mutation ConfirmDoubleOptIn($input: ConfirmDoubleOptInInput) {
  confirmDoubleOptIn(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    consent {
      ...ConsentTypeFragment
    }
  }
}

Variables

Response

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

confirmSiteworksAppointmentSlot

Type: ConfirmSiteworksAppointmentSlot

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

Confirm an appointment slot returned by the appointment slots query.

The possible errors that can be raised are:

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

Arguments

Name Description

input (ConfirmSiteworksAppointmentSlotInput!)

Input fields for booking a siteworks appointment slot

Return fields

Name Description

Mutation

mutation ConfirmSiteworksAppointmentSlot($input: ConfirmSiteworksAppointmentSlotInput!) {
  confirmSiteworksAppointmentSlot(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    siteworksAppointment {
      ...ActiveAppointmentTypeFragment
    }
  }
}

Variables

Response

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

createAccountCharge

Type: CreateAccountCharge

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

Add charge to an account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAccountChargeInput!)

Input fields for creating an account charge.

Return fields

Name Description

Mutation

mutation CreateAccountCharge($input: CreateAccountChargeInput!) {
  createAccountCharge(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountCharge {
      ...AccountChargeTypeFragment
    }
  }
}

Variables

Response

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

createAccountCredit

Type: CreateAccountCredit

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

Add credit to an account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAccountCreditInput!)

Input fields for creating an account credit.

Return fields

Name Description

Mutation

mutation CreateAccountCredit($input: CreateAccountCreditInput!) {
  createAccountCredit(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountCredit {
      ...AccountCreditTypeFragment
    }
  }
}

Variables

Response

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

Arguments

Name Description

input (CreateAccountFileAttachmentInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

createAccountNote

Type: CreateAccountNote

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

Add a note to an account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAccountNoteInput!)

Input variables needed for adding a note to an account.

Return fields

Name Description

Mutation

mutation CreateAccountNote($input: CreateAccountNoteInput!) {
  createAccountNote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

{
  "input": CreateAccountNoteInput
}

Response

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

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

Name Description

input (CreateAccountPaymentScheduleInput!)

Input fields for updating a payment schedule.

Return fields

Name Description

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

Name Description

input (AccountReferenceInput!)

Input fields for creating an account reference.

Return fields

Name Description

Mutation

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

Variables

{
  "input": AccountReferenceInput
}

Response

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

createAccountReminder

Type: CreateAccountReminder

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

Create an account reminder.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAccountReminderInput!)

Input variables needed for creating an account reminder.

Return fields

Name Description

Mutation

mutation CreateAccountReminder($input: CreateAccountReminderInput!) {
  createAccountReminder(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountReminder {
      ...AccountReminderFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (CreateAcquisitionQuoteRequestForProductsInput!)

Return fields

Name Description

Mutation

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

Response

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

Type: CreateAffiliateLink!

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

Create an affiliate link for a new sales agent.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAffiliateLinkInputType!)

Input fields for creating an affiliate link for an organisation

Return fields

Name Description

Mutation

mutation CreateAffiliateLink($input: CreateAffiliateLinkInputType!) {
  createAffiliateLink(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    affiliateLink {
      ...AffiliateLinkTypeFragment
    }
  }
}

Variables

Response

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

createAffiliateOrganisation

Type: CreateAffiliateOrganisation!

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

Create an affiliate organisation.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAffiliateOrganisationInputType!)

Input fields for creating an affiliate organisation

Return fields

Name Description

Mutation

mutation CreateAffiliateOrganisation($input: CreateAffiliateOrganisationInputType!) {
  createAffiliateOrganisation(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    affiliateOrganisation {
      ...AffiliateOrganisationTypeFragment
    }
  }
}

Variables

Response

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

Arguments

Name Description

input (CreateAffiliateSessionInputType!)

Input fields for creating a session for an affiliate link

Return fields

Name Description

Mutation

mutation CreateAffiliateSession($input: CreateAffiliateSessionInputType!) {
  createAffiliateSession(input: $input) {
    affiliateSession {
      ...AffiliateSessionTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createAffiliateSession": {
      "affiliateSession": AffiliateSessionType
    }
  }
}

createApiCall

Type: CreateAPICall

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

Mutation to create a new APICall instance.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAPICallInput!)

Input fields for creating an API call.

Return fields

Name Description

Mutation

mutation CreateApiCall($input: CreateAPICallInput!) {
  createApiCall(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    apiCall {
      ...APICallTypeFragment
    }
  }
}

Variables

{
  "input": CreateAPICallInput
}

Response

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

createApiException

Type: CreateAPIException

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

Mutation to create a new APIException instance.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAPIExceptionInput!)

Input fields for creating an API exception.

Return fields

Name Description

Mutation

mutation CreateApiException($input: CreateAPIExceptionInput!) {
  createApiException(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    apiException {
      ...APIExceptionTypeFragment
    }
  }
}

Variables

Response

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

createApiExceptionEvent

Type: CreateAPIExceptionEvent

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

Mutation to create a new APIExceptionEvent instance.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAPIExceptionEventInput!)

Input fields for creating an API exception event.

Return fields

Name Description

Mutation

mutation CreateApiExceptionEvent($input: CreateAPIExceptionEventInput!) {
  createApiExceptionEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    apiExceptionEvent {
      ...APIExceptionEventTypeFragment
    }
  }
}

Variables

Response

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

createApiExceptionNote

Type: CreateAPIExceptionNote

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

Mutation to create a new APIExceptionNote instance.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateAPIExceptionNoteInput!)

Input fields for creating an API exception note.

Return fields

Name Description

Mutation

mutation CreateApiExceptionNote($input: CreateAPIExceptionNoteInput!) {
  createApiExceptionNote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    apiException {
      ...APIExceptionTypeFragment
    }
  }
}

Variables

Response

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

createAudioRecording

Type: CreateAudioRecording!

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

Create an audio recording for an affiliate session.

The possible errors that can be raised are:

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

Arguments

Name Description

input (AudioRecordingInputType!)

Input fields required to create an audio recording.

Return fields

Name Description

Mutation

mutation CreateAudioRecording($input: AudioRecordingInputType!) {
  createAudioRecording(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    audioRecording {
      ...AudioRecordingTypeFragment
    }
  }
}

Variables

Response

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

createAutoTopupConfig

Type: CreateAutoTopupConfig

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

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

Arguments

Name Description

input (CreateAutoTopupConfigInput!)

Input fields for creating an auto top-up config.

Return fields

Name Description

Mutation

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

Variables

Response

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

createBusiness

Type: CreateBusiness

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

Create a business.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateBusinessInput!)

Input for creating a business.

Return fields

Name Description

Mutation

mutation CreateBusiness($input: CreateBusinessInput!) {
  createBusiness(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    business {
      ...BusinessTypeFragment
    }
  }
}

Variables

{
  "input": CreateBusinessInput
}

Response

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

createCallMetadata

Type: CreateCallMetadata

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

The possible errors that can be raised are:

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

Arguments

Name Description

input (CallMetadataInput!)

Return fields

Name Description

Mutation

mutation CreateCallMetadata($input: CallMetadataInput!) {
  createCallMetadata(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    call {
      ...CallInterfaceFragment
    }
  }
}

Variables

{
  "input": CallMetadataInput
}

Response

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

createCampaignItems

Type: CreateCampaignItems

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

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateCampaignItemsInput!)

Return fields

Name Description

Mutation

mutation CreateCampaignItems($input: CreateCampaignItemsInput!) {
  createCampaignItems(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    campaignItems {
      ...VoiceCampaignItemTypeFragment
    }
    batchIdentifier
  }
}

Variables

Response

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

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

Name Description

input (CreateContributionAgreementInput!)

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

Return fields

Name Description

Mutation

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

Variables

Response

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

createCreditTransferPermission

Type: CreateCreditTransferPermission

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

Create a credit transfer permission.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3827: The ledger is not valid.
  • KT-CT-3828: At least one of the provided ledgers must be a credit storage ledger.
  • KT-CT-3829: The credit transfer permission already exists.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (CreateCreditTransferPermissionInput!)

Input fields to create a credit transfer permission.

Return fields

Name Description

Mutation

mutation CreateCreditTransferPermission($input: CreateCreditTransferPermissionInput!) {
  createCreditTransferPermission(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    validFrom
  }
}

Variables

Response

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

createCustomerFeedback

Type: CreateCustomerFeedback

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

Create unsubmitted customer feedback object.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateCustomerFeedbackInputType!)

Return fields

Name Description

Mutation

mutation CreateCustomerFeedback($input: CreateCustomerFeedbackInputType!) {
  createCustomerFeedback(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    customerFeedback {
      ...CustomerFeedbackTypeFragment
    }
  }
}

Variables

Response

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

createDepositAgreement

Type: CreateDepositAgreement

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

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

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateDepositAgreementInput!)

Return fields

Name Description

Mutation

mutation CreateDepositAgreement($input: CreateDepositAgreementInput!) {
  createDepositAgreement(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    depositAgreement {
      ...CreateDepositAgreementOutputFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (CreateDirectDebitInstructionInput!)

Input fields for creating a new direct debit instruction.

Return fields

Name Description

Mutation

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

Variables

Response

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

createElectricJuiceAgreement

Type: CreateElectricJuiceAgreement

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

Create an Electric Juice agreement for an account.

Arguments

Name Description

input (CreateElectricJuiceAgreementInput!)

Input fields for creating an Electric Juice agreement for an account.

Return fields

Name Description

Mutation

mutation CreateElectricJuiceAgreement($input: CreateElectricJuiceAgreementInput!) {
  createElectricJuiceAgreement(input: $input) {
    agreement {
      ...AgreementFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createElectricJuiceAgreement": {
      "agreement": Agreement
    }
  }
}

Arguments

Name Description

input (CreateElectricJuiceChargeInput!)

Input fields for creating an account charge.

Return fields

Name Description

Mutation

mutation CreateElectricJuiceCharge($input: CreateElectricJuiceChargeInput!) {
  createElectricJuiceCharge(input: $input) {
    accountCharge {
      ...AccountChargeTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createElectricJuiceCharge": {
      "accountCharge": AccountChargeType
    }
  }
}

createElectricJuiceChargeCard

Type: CreateElectricJuiceChargeCard

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

Create an Electric Juice charge card for an account.

Arguments

Name Description

input (CreateElectricJuiceChargeCardInput!)

Input fields for creating an Electric Juice charge card.

Return fields

Name Description

Mutation

mutation CreateElectricJuiceChargeCard($input: CreateElectricJuiceChargeCardInput!) {
  createElectricJuiceChargeCard(input: $input) {
    chargeCard {
      ...ChargeCardTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createElectricJuiceChargeCard": {
      "chargeCard": ChargeCardType
    }
  }
}

Arguments

Name Description

input (CreateElectricJuiceCreditInput!)

Input fields for creating an Electric Juice credit.

Return fields

Name Description

Mutation

mutation CreateElectricJuiceCredit($input: CreateElectricJuiceCreditInput!) {
  createElectricJuiceCredit(input: $input) {
    accountCredit {
      ...AccountCreditTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "createElectricJuiceCredit": {
      "accountCredit": AccountCreditType
    }
  }
}

createElectricityMeterAccumulationReading

Type: CreateMeterReadingOutputType

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

Create an electricity meter accumulation reading with the given value for the given meter. This is intended to be used for non-communicating smart meters that need their accumulation readings forwarded to their smart data service.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-GB-11007: Electricity meter cannot be found for the given serial number.
  • KT-GB-6411: Could not create electricity meter reading.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

mpan (String!)

MPAN of the meter.

readAt (Date!)

The date of the electricity meter reading.

readingValueInKwh (Int!)

The reading value in kWh.

serialNumber (String!)

Serial number of the meter.

Return fields

Name Description

Mutation

mutation CreateElectricityMeterAccumulationReading(
  $mpan: String!,
  $readAt: Date!,
  $readingValueInKwh: Int!,
  $serialNumber: String!
) {
  createElectricityMeterAccumulationReading(
    mpan: $mpan,
    readAt: $readAt,
    readingValueInKwh: $readingValueInKwh,
    serialNumber: $serialNumber
  ) {
    readingErrors {
      ...SerializerFieldErrorsTypeFragment
    }
    id
  }
}

Variables

{
  "mpan": "abc123",
  "readAt": "2020-01-01",
  "readingValueInKwh": 1,
  "serialNumber": "abc123"
}

Response

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

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

Name Description

mpan (String)

MPAN of the meter.

readAt (Date)

The date of the electricity meter readings.

readings ([ReadingInputType])

List of the provided readings.

serialNumber (String)

Serial number of the meter.

Return fields

Name Description

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

createElectricityMeterReadingViaIvr

Type: CreateMeterReadingOutputType

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

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

This field requires the Authorization header to be set.

Arguments

Name Description

mpan (String)

MPAN of the meter.

readAt (Date)

The date of the electricity meter readings.

readings ([ReadingInputType])

List of the provided readings.

serialNumber (String)

Serial number of the meter.

Return fields

Name Description

Mutation

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

Variables

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

Response

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

createEvPublicChargingAgreement

Type: CreateEvPublicChargingAgreement

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

Create EV public charging agreement.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateEvPublicChargingAgreementInput!)

Input fields for creating an agreement.

Return fields

Name Description

Mutation

mutation CreateEvPublicChargingAgreement($input: CreateEvPublicChargingAgreementInput!) {
  createEvPublicChargingAgreement(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    agreement {
      ...AgreementFragment
    }
  }
}

Variables

Response

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

createExternalAccountEvent

Type: CreateExternalAccountEvent

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

Create an external account event.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateExternalAccountEventInput!)

Input fields for creating an external account event.

Return fields

Name Description

Mutation

mutation CreateExternalAccountEvent($input: CreateExternalAccountEventInput!) {
  createExternalAccountEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    event {
      ...ExternalAccountEventFragment
    }
  }
}

Variables

Response

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

createExternalAccountUserEvent

Type: CreateExternalAccountUserEvent

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

Create an external account user event.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateExternalAccountUserEventInput!)

Input fields for creating an external account event.

Return fields

Name Description

Mutation

mutation CreateExternalAccountUserEvent($input: CreateExternalAccountUserEventInput!) {
  createExternalAccountUserEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    event {
      ...ExternalAccountUserEventFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (FormSubmissionInput!)

Return fields

Name Description

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

Name Description

mprn (String)

MPRN of the meter.

readAt (Date)

The date of the gas meter reading.

reading (Int)

Value of the provided reading.

serialNumber (String)

Serial number of the meter.

Return fields

Name Description

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

createGasMeterReadingViaIvr

Type: CreateMeterReadingOutputType

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

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

This field requires the Authorization header to be set.

Arguments

Name Description

mprn (String)

MPRN of the meter.

readAt (Date)

The date of the gas meter reading.

reading (Int)

Value of the provided reading.

serialNumber (String)

Serial number of the meter.

Return fields

Name Description

Mutation

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

Variables

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

Response

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

Name Description

input (CreatePurchaseInput!)

Input fields for creating a purchase without a quote.

Return fields

Name Description

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

Name Description

input (CreateGoodsQuoteInput!)

Input fields for creating a goods quote.

Return fields

Name Description

Mutation

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

Variables

{
  "input": CreateGoodsQuoteInput
}

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

Name Description

input (CreateGoodsQuoteWithoutAccountInput!)

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

Return fields

Name Description

Mutation

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

Variables

Response

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

Arguments

Name Description

input (CreateHeatPumpGoodsQuoteInput)

Return fields

Name Description

Mutation

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

Variables

Response

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

createInboundCall

Type: CreateInboundCall

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

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateInboundCallInput!)

Return fields

Name Description

Mutation

mutation CreateInboundCall($input: CreateInboundCallInput!) {
  createInboundCall(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    call {
      ...InboundCallTypeFragment
    }
  }
}

Variables

{
  "input": CreateInboundCallInput
}

Response

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

Arguments

Name Description

input (CreateInkInboundMessageInput!)

Return fields

Name Description

Mutation

mutation CreateInkInboundMessage($input: CreateInkInboundMessageInput!) {
  createInkInboundMessage(input: $input) {
    message
    clientMutationId
  }
}

Variables

Response

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

createMetadata

Type: CreateMetadata

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

Create metadata on an object.

The possible errors that can be raised are:

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

Arguments

Name Description

input (MetadataInput!)

Input fields for creating metadata.

Return fields

Name Description

Mutation

mutation CreateMetadata($input: MetadataInput!) {
  createMetadata(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
  }
}

Variables

{
  "input": MetadataInput
}

Response

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

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

Name Description

accountNumber (String!)

The account number for the Octoplus-enrolled account.

Return fields

Name Description

Mutation

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

Variables

{
  "accountNumber": "abc123"
}

Response

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

createOfferGroupForQuoting

Type: CreateOfferGroupForQuoting

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

Create a quoting Offer Group.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateOfferGroupForQuotingInput!)

Input fields for creating an offer group from a list of offers.

Return fields

Name Description

Mutation

mutation CreateOfferGroupForQuoting($input: CreateOfferGroupForQuotingInput!) {
  createOfferGroupForQuoting(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    offerGroup {
      ...OfferGroupTypeFragment
    }
  }
}

Variables

Response

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

createOpportunity

Type: CreateOpportunity

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

Create an opportunity with the provided details.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateOpportunityInput!)

Input fields for creating an opportunity.

Return fields

Name Description

Mutation

mutation CreateOpportunity($input: CreateOpportunityInput!) {
  createOpportunity(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    opportunityNumber
    dateOfCreation
    stage
    funnelCode
  }
}

Variables

{
  "input": CreateOpportunityInput
}

Response

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

createOrUpdateLoyaltyCard

Type: CreateOrUpdateLoyaltyCardMutation

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

Create or update a loyalty card for the given account user.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateOrUpdateLoyaltyCardInput!)

Input fields for creating or updating a loyalty card.

Return fields

Name Description

Mutation

mutation CreateOrUpdateLoyaltyCard($input: CreateOrUpdateLoyaltyCardInput!) {
  createOrUpdateLoyaltyCard(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    loyaltyCard {
      ...LoyaltyCardTypeFragment
    }
  }
}

Variables

Response

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

createOrUpdateSiteworksAppointment

Type: CreateOrUpdateSiteworksAppointment

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

Create or update a Siteworks appointment.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateOrUpdateSiteworksAppointmentInput!)

Input fields for creating or updating siteworks appointments.

Return fields

Name Description

Mutation

mutation CreateOrUpdateSiteworksAppointment($input: CreateOrUpdateSiteworksAppointmentInput!) {
  createOrUpdateSiteworksAppointment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    result {
      ...CreateOrUpdateSiteworksAppointmentOutputFragment
    }
  }
}

Response

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

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

Arguments

Name Description

input (PaymentScheduleInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": PaymentScheduleInput
}

Response

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

createPortfolio

Type: CreatePortfolio

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

Mutation to create a new Portfolio instance.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreatePortfolioInput)

Input fields for creating a portfolio.

Return fields

Name Description

Mutation

mutation CreatePortfolio($input: CreatePortfolioInput) {
  createPortfolio(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    portfolio {
      ...PortfolioTypeFragment
    }
  }
}

Variables

{
  "input": CreatePortfolioInput
}

Response

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

createPortfolioUserRole

Type: CreatePortfolioUserRole

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

Mutation to create a new portfolio user role. This will effectively link the user to the portfolio giving them all the permissions enabled for the specific role.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreatePortfolioUserRoleInput)

Input fields for connecting a user to a portfolio.

Return fields

Name Description

Mutation

mutation CreatePortfolioUserRole($input: CreatePortfolioUserRoleInput) {
  createPortfolioUserRole(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    portfolioUserRole {
      ...PortfolioUserRoleTypeFragment
    }
  }
}

Variables

Response

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

createPostEvents

Type: CreatePostEvents

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

Create post delivery events from external vendors.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreatePostEventsInput!)

Batch of post events to create.

Return fields

Name Description

Mutation

mutation CreatePostEvents($input: CreatePostEventsInput!) {
  createPostEvents(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    createdEventsCount
  }
}

Variables

{
  "input": CreatePostEventsInput
}

Response

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

createProduct

Type: CreateProductOutput!

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

Create a new product.

The possible errors that can be raised are:

  • KT-CT-12003: Specified product brand does not exist.
  • KT-CT-12004: Invalid product tag type.
  • KT-CT-12005: A selection of a terms and conditions type does not exist.
  • KT-CT-12006: Provided product characteristic overrides are not in the correct format.
  • KT-CT-12007: Unable to create product.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (CreateProductInput!)

Return fields

Name Description

Mutation

mutation CreateProduct($input: CreateProductInput!) {
  createProduct(input: $input) {
    product {
      ...SupplyProductTypeFragment
    }
  }
}

Variables

{
  "input": CreateProductInput
}

Response

{
  "data": {
    "createProduct": {
      "product": SupplyProductType
    }
  }
}

createProductRates

Type: CreateProductRates

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

Create product rate(s) for a certain product.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateProductRatesInputType!)

List of rates to be created for the specified product.

productCode (String!)

Code of the product for which the rates are being created.

Return fields

Name Description

Mutation

mutation CreateProductRates(
  $input: CreateProductRatesInputType!,
  $productCode: String!
) {
  createProductRates(
    input: $input,
    productCode: $productCode
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    productRates {
      ...ProductRateTypeFragment
    }
  }
}

Variables

{
  "input": CreateProductRatesInputType,
  "productCode": "abc123"
}

Response

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

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

Name Description

input (CreateQuoteInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": CreateQuoteInput
}

Response

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

createQuoteForAccount

Type: CreateQuoteForAccount

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

Create a quote for switching product.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateQuoteForAccountInput!)

Return fields

Name Description

Mutation

mutation CreateQuoteForAccount($input: CreateQuoteForAccountInput!) {
  createQuoteForAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    quoteRequest {
      ...MarketSupplyQuoteRequestTypeFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (CreateQuoteRequestForProductsInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

createReferral

Type: CreateReferral

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

Create an account referral using an email address, personal link or code.This is for customers to refer other customers so it only works with friend referrals and not partner referrals.

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

Name Description

input (CreateReferralInput!)

Input fields for creating a referral.

Return fields

Name Description

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

Name Description

input (RefundRequestInput!)

Input fields for creating a refund request.

Return fields

Name Description

Mutation

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

Variables

{
  "input": RefundRequestInput
}

Response

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

createReminder

Type: CreateReminder

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

Create an account reminder.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateReminderInput!)

Input variables needed for creating an account reminder.

Return fields

Name Description

Mutation

mutation CreateReminder($input: CreateReminderInput!) {
  createReminder(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    reminder {
      ...ReminderFragment
    }
  }
}

Variables

{
  "input": CreateReminderInput
}

Response

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

Arguments

Name Description

input (CreateRenewalQuoteRequestInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

createScheduledTransactions

Type: CreateScheduledTransactions

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

Create scheduled transactions.

The possible errors that can be raised are:

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

Arguments

Name Description

input ([CreateScheduledTransactionsInput]!)

Input fields to create scheduled transactions.

Return fields

Name Description

Mutation

mutation CreateScheduledTransactions($input: [CreateScheduledTransactionsInput]!) {
  createScheduledTransactions(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    scheduledTransactions {
      ...ScheduledTransactionTypeFragment
    }
  }
}

Variables

Response

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

Arguments

Name Description

input (CreateShellAccountInput!)

Return fields

Name Description

Mutation

mutation CreateShellAccount($input: CreateShellAccountInput!) {
  createShellAccount(input: $input) {
    portfolioNumber
    givenName
    familyName
    billingName
    email
    mobile
    landline
    brand
    dateOfBirth
    billingAddressLine1
    billingAddressLine2
    billingAddressLine3
    billingAddressLine4
    billingAddressLine5
    billingPostcode
    billingRichAddress
    billingPeriodLength
    billingPeriodMultiplier
    billingPeriodDay
    billingPeriodMonth
    isBusinessAccount
    companyName
    companyNumber
    businessType
    password
    passwordUpdateToken
    urn
    errors {
      ...ErrorTypeFragment
    }
    account {
      ...AccountInterfaceFragment
    }
    clientMutationId
  }
}

Variables

Response

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

Arguments

Name Description

input (CreateSiteworksEventInput!)

Input fields for creating a new Siteworks event.

Return fields

Name Description

Mutation

mutation CreateSiteworksEvent($input: CreateSiteworksEventInput!) {
  createSiteworksEvent(input: $input) {
    eventCreated
  }
}

Variables

Response

{
  "data": {
    "createSiteworksEvent": {
      "eventCreated": true
    }
  }
}

createSiteworksEventExternal

Type: CreateSiteworksEventExternal

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

Allow external parties to create a Siteworks event.

The possible errors that can be raised are:

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

Arguments

Name Description

input (CreateSiteworksEventInput!)

Input fields for creating a new Siteworks event.

Return fields

Name Description

Mutation

mutation CreateSiteworksEventExternal($input: CreateSiteworksEventInput!) {
  createSiteworksEventExternal(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    eventCreated
  }
}

Variables

Response

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

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

Name Description

accountNumber (String!)

The account number to attach the snap to.

spawnId (String!)

The unique identifier for the constantine.

Return fields

Name Description

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

createSupplyPointMetadata

Type: CreateSupplyPointMetadata

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

Create metadata for a supply point.

The possible errors that can be raised are:

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

Arguments

Name Description

input (SupplyPointMetadataInput!)

Input fields for creating metadata.

Return fields

Name Description

Mutation

mutation CreateSupplyPointMetadata($input: SupplyPointMetadataInput!) {
  createSupplyPointMetadata(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
  }
}

Variables

Response

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

createTempProvisioningClaim

Type: CreateProvisioningClaim

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

Create a temporary provisioning cert in krakenflex

Return fields

Name Description

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

Name Description

accountNumber (String)

applicationInputs (WarmHomeDiscountApplicationInputType)

Return fields

Name Description

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-4352: This device cannot currently be de-authenticated.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (DeAuthenticationInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": DeAuthenticationInput
}

Response

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

deauthenticateFlexDevice

Type: DeauthenticateFlexDevice

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

De-authenticate a device by device id.

The possible errors that can be raised are:

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

Arguments

Name Description

input (DeauthenticateFlexDeviceInput)

Return fields

Name Description

Mutation

mutation DeauthenticateFlexDevice($input: DeauthenticateFlexDeviceInput) {
  deauthenticateFlexDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    krakenflexDevice {
      ...DeviceDetailsTypeFragment
    }
  }
}

Variables

Response

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

decommissionSmartDevice

Type: DecommissionSmartDevice

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

Decommissions a device using SmartPear's 'remove device' orchestration.

The possible errors that can be raised are:

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

Arguments

Name Description

input (DecommissionSmartDeviceInput!)

Input fields for decommission meters.

Return fields

Name Description

Mutation

mutation DecommissionSmartDevice($input: DecommissionSmartDeviceInput!) {
  decommissionSmartDevice(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

Response

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

deductLoyaltyPoints

Type: DeductLoyaltyPoints

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

Deduct the passed number of Loyalty Points from the account.

The possible errors that can be raised are:

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

Arguments

Name Description

input (DeductLoyaltyPointsInput!)

Input fields for deducting Loyalty Points.

Return fields

Name Description

Mutation

mutation DeductLoyaltyPoints($input: DeductLoyaltyPointsInput!) {
  deductLoyaltyPoints(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pointsDeducted
    ledgerEntry {
      ...LoyaltyPointLedgerEntryTypeFragment
    }
  }
}

Variables

Response

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

deleteAccountReference

Type: DeleteAccountReference

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

Delete an account reference.

The possible errors that can be raised are:

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

Arguments

Name Description

input (DeleteAccountReferenceInput!)

Input fields for removing an account reference.

Return fields

Name Description

Mutation

mutation DeleteAccountReference($input: DeleteAccountReferenceInput!) {
  deleteAccountReference(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountReference {
      ...DeleteAccountReferenceTypeFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (DeleteBoostChargeInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": DeleteBoostChargeInput
}

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

Name Description

input (DeletePushNotificationBindingInput!)

Input fields for deleting a push notification binding.

Return fields

Name Description

Mutation

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

Variables

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

Name Description

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

Name Description

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

Name Description

input (DeviceRegistrationInput)

Return fields

Name Description

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

Name Description

input (DirectDebitPaymentDayUpdateInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

disableAutoTopup

Type: DisableAutoTopup

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

Disable auto top-up for SPAYG meter.

Arguments

Name Description

input (DisableAutoTopupInput!)

Input fields for disabling auto top-up.

Return fields

Name Description

Mutation

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

Variables

{
  "input": DisableAutoTopupInput
}

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

Name Description

input (EndContributionAgreementInput!)

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

Return fields

Name Description

Mutation

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

Variables

Response

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

enqueueInboundCall

Type: EnqueueInboundCall

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

The possible errors that can be raised are:

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

Arguments

Name Description

input (EnqueueInboundCallInput!)

Return fields

Name Description

Mutation

mutation EnqueueInboundCall($input: EnqueueInboundCallInput!) {
  enqueueInboundCall(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    call {
      ...InboundCallTypeFragment
    }
  }
}

Variables

Response

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

enrollAccountInLoyaltyProgram

Type: EnrollAccountInLoyaltyProgram

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

Enroll users account in Loyalty program.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9213: ineligible loyalty points enrollment.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (EnrollAccountInLoyaltyProgramInput!)

The account number to enroll in the loyalty program.

Return fields

Name Description

Mutation

mutation EnrollAccountInLoyaltyProgram($input: EnrollAccountInLoyaltyProgramInput!) {
  enrollAccountInLoyaltyProgram(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    outcome {
      ...EnrollAccountInLoyaltyProgramOutcomeFragment
    }
  }
}

Variables

Response

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

enrollFanClubAccount

Type: EnrollFanClubAccount

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

Enroll account up to Fan Club.

The possible errors that can be raised are:

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

Arguments

Name Description

input (JoinFanClubInput!)

Input fields for joining the Fan Club.

Return fields

Name Description

Mutation

mutation EnrollFanClubAccount($input: JoinFanClubInput!) {
  enrollFanClubAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    enrollmentOutput {
      ...EnrollFanClubAccountOutputTypeFragment
    }
  }
}

Variables

{
  "input": JoinFanClubInput
}

Response

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

enrollment

Type: EnrollmentInitiated!

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

Initiate an enrollment for an account and a set of supply points.

The possible errors that can be raised are:

  • KT-CT-1602: Serializer validation error.
  • KT-CT-4412: The supplied address is not valid.
  • KT-CT-4501: Unauthorized.
  • KT-CT-7719: Session not found.
  • KT-CT-10312: Mutation not enabled in this environment.
  • KT-CT-10313: Failed to enroll account.
  • KT-CT-10314: This supply point is already on supply.
  • KT-CT-10315: Unable to begin enrollment journey due to invalid data.
  • KT-CT-6622: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (EnrollmentInput!)

Return fields

Name Description

Mutation

mutation Enrollment($input: EnrollmentInput!) {
  enrollment(input: $input) {
    enrollmentProcesses
    message
  }
}

Variables

{
  "input": EnrollmentInput
}

Response

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

expireEvPublicChargingToken

Type: ExpireEvPublicChargingToken

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

Expire EV Public charging token.

The possible errors that can be raised are:

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

Arguments

Name Description

input (ExpireEvPublicChargingTokenInput!)

Input fields for expiring a token.

Return fields

Name Description

Mutation

mutation ExpireEvPublicChargingToken($input: ExpireEvPublicChargingTokenInput!) {
  expireEvPublicChargingToken(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token {
      ...TokenFragment
    }
  }
}

Variables

Response

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

fanClubDiscountNotification

Type: FanClubDiscountNotification

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

Send notification of likely Fan Club discount.

The possible errors that can be raised are:

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

Arguments

Name Description

input (FanClubDiscountNotificationInput!)

Input fields for sending Fan Club discount notifications.

Return fields

Name Description

Mutation

mutation FanClubDiscountNotification($input: FanClubDiscountNotificationInput!) {
  fanClubDiscountNotification(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

Response

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

fanClubNonOctopusCustomerComms

Type: FanClubNonOctopusCustomerComms

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

Send comms for Fan Club sign-ups from non-Octopus customers.

The possible errors that can be raised are:

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

Arguments

Name Description

input (FanClubNonOctopusCustomerCommsInput!)

Input fields for sending comms to non-Octopus users.

Return fields

Name Description

Mutation

mutation FanClubNonOctopusCustomerComms($input: FanClubNonOctopusCustomerCommsInput!) {
  fanClubNonOctopusCustomerComms(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

Response

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

fetchGeneratePaymentFingerprint

Type: FetchGeneratePaymentFingerprint

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

Fetch or generate payment fingerprint from vendor.

The possible errors that can be raised are:

  • KT-CT-12101: Payment instruction not found.
  • KT-CT-12102: Payment vendor not supported.
  • KT-CT-12103: Missing payment metadata from vendor.
  • KT-CT-12104: Unable to fetch or generate payment fingerprint.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (FetchGeneratePaymentFingerprintInput!)

Return fields

Name Description

Mutation

mutation FetchGeneratePaymentFingerprint($input: FetchGeneratePaymentFingerprintInput!) {
  fetchGeneratePaymentFingerprint(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    fingerprint
    vendor
  }
}

Variables

Response

{
  "data": {
    "fetchGeneratePaymentFingerprint": {
      "possibleErrors": [PossibleErrorType],
      "fingerprint": "abc123",
      "vendor": "abc123"
    }
  }
}

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

Name Description

input (FitAcceptScheduleInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": FitAcceptScheduleInput
}

Response

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

Arguments

Name Description

fitId (String!)

The FiT id.

Return fields

Name Description

Mutation

mutation FitAcceptTermsAndConditions($fitId: String!) {
  fitAcceptTermsAndConditions(fitId: $fitId) {
    installation {
      ...InstallationTypeFragment
    }
  }
}

Variables

{
  "fitId": "abc123"
}

Response

{
  "data": {
    "fitAcceptTermsAndConditions": {
      "installation": InstallationType
    }
  }
}

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

Name Description

input (FitMeterReadingInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": FitMeterReadingInput
}

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

Name Description

input (ForceReauthenticationInput!)

Input object argument to the force-reauthentication mutation.

Return fields

Name Description

Mutation

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

Variables

Response

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

Arguments

Name Description

input (GenerateAffiliatesAudioRecordingPreSignedUrlInput!)

Input fields for creating a pre-signed URL for uploading an audio file to S3.

Return fields

Name Description

Mutation

mutation GenerateAffiliatesAudioRecordingPreSignedUrl($input: GenerateAffiliatesAudioRecordingPreSignedUrlInput!) {
  generateAffiliatesAudioRecordingPreSignedUrl(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    affiliatesAudioRecordingPreSignedUrl {
      ...AffiliateAudioRecordingPresignedPostTypeFragment
    }
  }
}

Response

{
  "data": {
    "generateAffiliatesAudioRecordingPreSignedUrl": {
      "possibleErrors": [PossibleErrorType],
      "affiliatesAudioRecordingPreSignedUrl": AffiliateAudioRecordingPresignedPostType
    }
  }
}

generateInkPresignedUrl

Type: GenerateInkPresignedUrl

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

The possible errors that can be raised are:

  • KT-CT-7620: Channel not supported.
  • KT-CT-7618: Unable to process message.
  • KT-CT-7624: Error when generating the presigned URL.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (GenerateInkPresignedUrlInput)

Return fields

Name Description

Mutation

mutation GenerateInkPresignedUrl($input: GenerateInkPresignedUrlInput) {
  generateInkPresignedUrl(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    uploadUrl
    key
    fields
  }
}

Variables

Response

{
  "data": {
    "generateInkPresignedUrl": {
      "possibleErrors": [PossibleErrorType],
      "uploadUrl": "abc123",
      "key": "abc123",
      "fields": {"key": "value"}
    }
  }
}

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

Name Description

input (SmartMeterDeviceInput!)

Identifies the meter to generate a PAN for.

Return fields

Name Description

Mutation

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

Variables

{
  "input": SmartMeterDeviceInput
}

Response

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

generatePreSignedToken

Type: GeneratePreSignedToken

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

Generate a pre-signed token with a set expiry time.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-1120: The Kraken Token has expired.
  • KT-CT-1131: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

email (String!)

numberOfDaysAllowed (Int!)

The number of days that the token will be available for authentication (From now on).

scope (PreSignedTokenScope!)

Define (and limit) the scope of the token.

Return fields

Name Description

Mutation

mutation GeneratePreSignedToken(
  $email: String!,
  $numberOfDaysAllowed: Int!,
  $scope: PreSignedTokenScope!
) {
  generatePreSignedToken(
    email: $email,
    numberOfDaysAllowed: $numberOfDaysAllowed,
    scope: $scope
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token
    tokenExpiryDatetime
    scope
  }
}

Variables

{
  "email": "abc123",
  "numberOfDaysAllowed": 1,
  "scope": "SUBMIT_METER_READINGS"
}

Response

{
  "data": {
    "generatePreSignedToken": {
      "possibleErrors": [PossibleErrorType],
      "token": "abc123",
      "tokenExpiryDatetime": "2020-01-01T00:00:00.000Z",
      "scope": "SUBMIT_METER_READINGS"
    }
  }
}

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-3822: Unauthorized.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (GetEmbeddedSecretForNewPaymentInstructionInput!)

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

Return fields

Name Description

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

Name Description

input (GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput!)

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

Return fields

Name Description

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

Name Description

input (GetHostedUrlForNewPaymentInstructionInput!)

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

Return fields

Name Description

Mutation

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

Response

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

getOrCreateAccountForOpportunity

Type: GetOrCreateShellAccountForOpportunity

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

Obtain the account number for the opportunity's lead, creating one if necessary.

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (GetOrCreateShellAccountForOpportunityInput!)

Input fields for obtaining a new or existing account for a opportunity's lead.

Return fields

Name Description

Mutation

mutation GetOrCreateAccountForOpportunity($input: GetOrCreateShellAccountForOpportunityInput!) {
  getOrCreateAccountForOpportunity(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountNumber
  }
}

Response

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

initializeAccount

Type: InitializeAccountResult!

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

Initialize account for sign up. Returns the existing account if matching datafound for the provided input, otherwise creates a new account.

The possible errors that can be raised are:

  • KT-CT-10324: Mutation not enabled in this environment.
  • KT-CT-10325: Input data has invalid format.
  • KT-CT-10326: An error occurred when trying to initialize the account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (BaseInitializeAccountInput!)

Return fields

Name Description

Mutation

mutation InitializeAccount($input: BaseInitializeAccountInput!) {
  initializeAccount(input: $input) {
    isNewAccount
    accountNumber
  }
}

Variables

Response

{
  "data": {
    "initializeAccount": {
      "isNewAccount": true,
      "accountNumber": "abc123"
    }
  }
}

initializeUser

Type: InitializeUserResult!

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

Initialize user for sign up. Returns an existing user if matching datafound for the provided input, otherwise creates a new one.

The possible errors that can be raised are:

  • KT-CT-10327: Mutation not enabled in this environment.
  • KT-CT-10328: Input data has invalid format.
  • KT-CT-10329: An error occurred when trying to initialize the user.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (BaseInitializeUserInput!)

Return fields

Name Description

Mutation

mutation InitializeUser($input: BaseInitializeUserInput!) {
  initializeUser(input: $input) {
    isNewUser
    userNumber
  }
}

Variables

Response

{
  "data": {
    "initializeUser": {
      "isNewUser": true,
      "userNumber": "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

Name Description

input (InitiateHostedStandalonePaymentInput!)

Input fields for initiating a standalone payment.

Return fields

Name Description

Mutation

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

Variables

Response

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

Arguments

Name Description

input (InitiateLiveChatInput!)

Return fields

Name Description

Mutation

mutation InitiateLiveChat($input: InitiateLiveChatInput!) {
  initiateLiveChat(input: $input) {
    liveChat {
      ...InkLiveChatFragment
    }
    clientMutationId
  }
}

Variables

{
  "input": InitiateLiveChatInput
}

Response

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

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-4924: Unauthorized.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-4719: No supply point found for identifier provided.
  • KT-CT-1509: Unable to create agreement.
  • KT-CT-1507: Agreement product switch date is not within the acceptable range.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (InitiateProductSwitchInput!)

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

Return fields

Name Description

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-3820: Received both ledger ID and number.
  • KT-CT-4177: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3943: Invalid ledger.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (InitiateStandalonePaymentInput!)

Input fields for initiating a standalone payment.

Return fields

Name Description

Mutation

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

Variables

Response

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

initiateUnauthenticatedStandalonePayment

Type: InitiateUnauthenticatedStandalonePayment

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

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

Arguments

Name Description

input (InitiateUnauthenticatedStandalonePaymentInput!)

Input fields for initiating an unauthenticated standalone payment.

Return fields

Name Description

Mutation

mutation InitiateUnauthenticatedStandalonePayment($input: InitiateUnauthenticatedStandalonePaymentInput!) {
  initiateUnauthenticatedStandalonePayment(input: $input) {
    payment {
      ...InitiateUnauthenticatedStandalonePaymentOutputFragment
    }
  }
}

Response

{
  "data": {
    "initiateUnauthenticatedStandalonePayment": {
      "payment": InitiateUnauthenticatedStandalonePaymentOutput
    }
  }
}

instigateAccountContractTermination

Type: ContractTerminationInstigated!

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

Instigate an account contract termination journey.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-10003: Contract not found.
  • KT-CT-10304: Mutation not enabled in this environment.
  • KT-CT-10004: Supply loss process instigation has failed.
  • KT-CT-10007: Unable to terminate contract.
  • KT-CT-10008: The contract is currently undergoing an active journey.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (BaseInstigateAccountContractTerminationInput!)

Return fields

Name Description

Mutation

mutation InstigateAccountContractTermination($input: BaseInstigateAccountContractTerminationInput!) {
  instigateAccountContractTermination(input: $input) {
    message
  }
}

Response

{
  "data": {
    "instigateAccountContractTermination": {
      "message": "abc123"
    }
  }
}

instigateBusinessContractTermination

Type: ContractTerminationInstigated!

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

Instigate a business contract termination journey.

The possible errors that can be raised are:

  • KT-CT-10002: Contract termination mutation is not yet supported for business contracts.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (BaseInstigateContractTerminationInput!)

Return fields

Name Description

Mutation

mutation InstigateBusinessContractTermination($input: BaseInstigateContractTerminationInput!) {
  instigateBusinessContractTermination(input: $input) {
    message
  }
}

Variables

Response

{
  "data": {
    "instigateBusinessContractTermination": {
      "message": "abc123"
    }
  }
}

instigateLeaveSupplier

Type: LeaveSupplierInstigated!

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

Instigate a leave supplier process or update an existing process.

The possible errors that can be raised are:

  • KT-CT-10304: Mutation not enabled in this environment.
  • KT-CT-4501: Unauthorized.
  • KT-CT-10301: Unable to instigate leave supplier process.
  • KT-CT-10330: Unsupported leave supplier type.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (LeaveSupplierInput!)

Return fields

Name Description

Mutation

mutation InstigateLeaveSupplier($input: LeaveSupplierInput!) {
  instigateLeaveSupplier(input: $input) {
    number
    leaveSupplierProcessId
    message
  }
}

Variables

{
  "input": LeaveSupplierInput
}

Response

{
  "data": {
    "instigateLeaveSupplier": {
      "number": "abc123",
      "leaveSupplierProcessId": "abc123",
      "message": "abc123"
    }
  }
}

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

Name Description

input (InvalidatePaymentInstructionInput!)

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

Return fields

Name Description

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

Name Description

input (InvalidatePreSignedTokenInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

invalidatePreSignedTokensForUser

Type: InvalidatePreSignedTokensForUser

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

Invalidate pre-signed tokens issued to a particular user.

The possible errors that can be raised are:

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

Arguments

Name Description

input (InvalidatePreSignedTokensForUserInput!)

Return fields

Name Description

Mutation

mutation InvalidatePreSignedTokensForUser($input: InvalidatePreSignedTokensForUserInput!) {
  invalidatePreSignedTokensForUser(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    tokens {
      ...PreSignedTokenFragment
    }
  }
}

Variables

Response

{
  "data": {
    "invalidatePreSignedTokensForUser": {
      "possibleErrors": [PossibleErrorType],
      "tokens": [PreSignedToken]
    }
  }
}

invalidateRefreshToken

Type: InvalidateRefreshToken

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

Invalidate a previously-issued refresh token.

The possible errors that can be raised are:

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

Arguments

Name Description

input (InvalidateRefreshTokenInput!)

Return fields

Name Description

Mutation

mutation InvalidateRefreshToken($input: InvalidateRefreshTokenInput!) {
  invalidateRefreshToken(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    token {
      ...RefreshTokenFragment
    }
  }
}

Variables

Response

{
  "data": {
    "invalidateRefreshToken": {
      "possibleErrors": [PossibleErrorType],
      "token": RefreshToken
    }
  }
}

invalidateRefreshTokensForUser

Type: InvalidateRefreshTokensForUser

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

Invalidate refresh tokens issued to a particular user.

The possible errors that can be raised are:

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

Arguments

Name Description

input (InvalidateRefreshTokensForUserInput!)

Return fields

Name Description

Mutation

mutation InvalidateRefreshTokensForUser($input: InvalidateRefreshTokensForUserInput!) {
  invalidateRefreshTokensForUser(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    tokens {
      ...RefreshTokenFragment
    }
  }
}

Variables

Response

{
  "data": {
    "invalidateRefreshTokensForUser": {
      "possibleErrors": [PossibleErrorType],
      "tokens": [RefreshToken]
    }
  }
}

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

Name Description

input (JoinConsumerDeviceInput!)

Input fields for join device.

Return fields

Name Description

Mutation

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

Variables

Response

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

joinDeviceToNetwork

Type: JoinDeviceToNetwork

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

Joins a device to a HAN (Home Area Network).

The possible errors that can be raised are:

  • KT-GB-4019: This device type is not currently supported.
  • KT-GB-4020: Error sending the request to join the device to the Home Area Network.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

chfDeviceId (String!)

Device ID of the CHF (Communications Hub Function).

installCode (String)

Code that authorises joining of the device to the HAN.

mpxn (String)

MPAN/MPRN of the meter or HCALCS to join to the HAN.

newDeviceId (String!)

Device ID of the device to join to the HAN.

newDeviceType (JoinableDeviceType!)

Type of device that is being joined to the HAN.

Return fields

Name Description

Mutation

mutation JoinDeviceToNetwork(
  $chfDeviceId: String!,
  $installCode: String,
  $mpxn: String,
  $newDeviceId: String!,
  $newDeviceType: JoinableDeviceType!
) {
  joinDeviceToNetwork(
    chfDeviceId: $chfDeviceId,
    installCode: $installCode,
    mpxn: $mpxn,
    newDeviceId: $newDeviceId,
    newDeviceType: $newDeviceType
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

{
  "chfDeviceId": "abc123",
  "installCode": "abc123",
  "mpxn": "abc123",
  "newDeviceId": "abc123",
  "newDeviceType": "ELECTRICITY_METER"
}

Response

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

Name Description

accountNumber (String)

Kraken account number.

Return fields

Name Description

Mutation

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

Variables

{
  "accountNumber": "abc123"
}

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

Name Description

input (JoinSavingSessionsCampaignInput!)

Input fields for joining the Saving Sessions campaign.

Return fields

Name Description

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

Name Description

input (JoinSavingSessionsEventInput!)

Input fields for joining a Saving Sessions event.

Return fields

Name Description

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

Name Description

input (JoinSupplierAcceptTermsAndConditionsInput!)

Return fields

Name Description

Mutation

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

Response

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

linkAccountToBusiness

Type: LinkAccountToBusiness

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

Link an account to a business.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11104: Business role already allocated.
  • KT-CT-11105: Business role already allocated.
  • KT-CT-11106: Unauthorized.
  • KT-CT-11107: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (LinkAccountToBusinessInput!)

Input fields for linking an account to a business.

Return fields

Name Description

Mutation

mutation LinkAccountToBusiness($input: LinkAccountToBusinessInput!) {
  linkAccountToBusiness(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    business {
      ...BusinessTypeFragment
    }
  }
}

Variables

Response

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

linkUserToLine

Type: LinkUserToLineResponse!

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

Link an account user and line user together.

Arguments

Name Description

input (LinkUserToLineInput!)

Input fields to link an account user with LINE.

Return fields

Name Description

Mutation

mutation LinkUserToLine($input: LinkUserToLineInput!) {
  linkUserToLine(input: $input)
}

Variables

{
  "input": LinkUserToLineInput
}

Response

{
  "data": {
    "linkUserToLine": LinkUserToLineResponse
  }
}

markPrintBatchAsProcessed

Type: MarkPrintBatchAsProcessed!

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

Mark the print batch as processed.

The possible errors that can be raised are:

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

Arguments

Name Description

printBatchId (ID!)

Return fields

Name Description

Mutation

mutation MarkPrintBatchAsProcessed($printBatchId: ID!) {
  markPrintBatchAsProcessed(printBatchId: $printBatchId) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    printBatch {
      ...PrintBatchTypeFragment
    }
  }
}

Variables

{
  "printBatchId": "abc123"
}

Response

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

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

Name Description

masqueradeToken (String!)

The masquerade token issued by the support site.

userId (String!)

The ID of the AccountUser to masquerade as.

Return fields

Name Description

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

Name Description

input (ObtainJSONWebTokenInput!)

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

Return fields

Name Description

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

obtainLongLivedRefreshToken

Type: ObtainLongLivedRefreshToken

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

For authorized third-party organizations only.

The possible errors that can be raised are:

  • KT-CT-1120: The Kraken Token has expired.
  • KT-CT-1121: Please use Kraken Token to issue long-lived refresh tokens.
  • KT-CT-1132: Unauthorized.
  • KT-CT-1122: Long-lived refresh tokens can only be issued for account users.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (ObtainLongLivedRefreshTokenInput!)

Input fields for obtaining a long-lived refresh token to extend the expiry claim of a Kraken token.

Return fields

Name Description

Mutation

mutation ObtainLongLivedRefreshToken($input: ObtainLongLivedRefreshTokenInput!) {
  obtainLongLivedRefreshToken(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    refreshToken
    refreshExpiresIn
  }
}

Variables

Response

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

Name Description

input (OccupyInput!)

Return fields

Name Description

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

Name Description

input (OCPPAuthenticationInput)

Return fields

Name Description

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

Name Description

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

Name Description

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

octoHeatPumpBulkUpdateZoneDisplayNames

Type: BulkUpdateZoneDisplayNames

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

Update the display name of multiple zones of the heat pump.

The possible errors that can be raised are:

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

Arguments

Name Description

euid (ID!)

The EUID of the heat pump controller.

updates ([SetZoneDisplayNameParameters]!)

A list of zone codes mapped to each zone's new display name.

Return fields

Name Description

Mutation

mutation OctoHeatPumpBulkUpdateZoneDisplayNames(
  $euid: ID!,
  $updates: [SetZoneDisplayNameParameters]!
) {
  octoHeatPumpBulkUpdateZoneDisplayNames(
    euid: $euid,
    updates: $updates
  ) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    transactionIds {
      ...ZoneDisplayNameUpdatesFragment
    }
  }
}

Variables

{
  "euid": "abc123",
  "updates": SetZoneDisplayNameParameters
}

Response

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

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

Name Description

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

Name Description

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

Name Description

accountNumber (String!)

The account number.

euid (ID!)

The EUID of the heat pump controller.

Return fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

euid (ID!)

The EUID of the heat pump controller.

flowTemperatureInput (FlowTemperatureInput!)

Flow temperature configuration parameters.

Return fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

optInToCharityDonation

Type: OptInToCharityDonation

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

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-GB-11903: Could not opt in to charity donation.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (CharityDonationInput!)

Return fields

Name Description

Mutation

mutation OptInToCharityDonation($input: CharityDonationInput!) {
  optInToCharityDonation(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    amount
  }
}

Variables

{
  "input": CharityDonationInput
}

Response

{
  "data": {
    "optInToCharityDonation": {
      "possibleErrors": [PossibleErrorType],
      "amount": "ONE"
    }
  }
}

optOutOfCharityDonation

Type: OptOutOfCharityDonation

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

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-GB-11902: Could not opt out of charity donation.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

accountNumber (String!)

Account number.

Return fields

Name Description

Mutation

mutation OptOutOfCharityDonation($accountNumber: String!) {
  optOutOfCharityDonation(accountNumber: $accountNumber) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    isOptedOut
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "optOutOfCharityDonation": {
      "possibleErrors": [PossibleErrorType],
      "isOptedOut": true
    }
  }
}

pauseDunning

Type: PauseDunning

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

Pause the dunning process for an account.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11301: Account not in a dunning process for the given path name.
  • KT-CT-11302: No active dunning process found.
  • KT-CT-11303: Multiple active dunning processes found.
  • KT-CT-11304: Dunning pause process failed verifying the dates.
  • KT-CT-11305: Pausing the dunning process failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PauseDunningInputType!)

Input variables needed for pausing a dunning process for an account.

Return fields

Name Description

Mutation

mutation PauseDunning($input: PauseDunningInputType!) {
  pauseDunning(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    pauseCreated
  }
}

Variables

{
  "input": PauseDunningInputType
}

Response

{
  "data": {
    "pauseDunning": {
      "possibleErrors": [PossibleErrorType],
      "pauseCreated": 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.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (MoveOutInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": MoveOutInput
}

Response

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

postCredit

Type: PostCredit

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

Post credit to a ledger.

The possible errors that can be raised are:

  • KT-CT-5316: Invalid data.
  • KT-CT-5311: The credit reason with the requested code is deprecated.
  • KT-CT-5312: The credit reason with the requested code does not exist.
  • KT-CT-5313: An error occurred whilst posting the credit.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PostCreditInput!)

Input fields for posting a credit.

Return fields

Name Description

Mutation

mutation PostCredit($input: PostCreditInput!) {
  postCredit(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    credit {
      ...CreditFragment
    }
  }
}

Variables

{
  "input": PostCreditInput
}

Response

{
  "data": {
    "postCredit": {
      "possibleErrors": [PossibleErrorType],
      "credit": Credit
    }
  }
}

postEvPublicChargingAccountCharge

Type: PostEVPublicChargingAccountCharge

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

Post an account charge for an EV public charging account.

The possible errors that can be raised are:

  • KT-CT-5813: Invalid data.
  • KT-CT-5815: Invalid data.
  • KT-CT-5817: External Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PostEVPublicChargingAccountChargeInput!)

Input fields for initiating a standalone payment.

Return fields

Name Description

Mutation

mutation PostEvPublicChargingAccountCharge($input: PostEVPublicChargingAccountChargeInput!) {
  postEvPublicChargingAccountCharge(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountCharge {
      ...AccountChargeTypeFragment
    }
  }
}

Response

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

postEvPublicChargingCharge

Type: PostEVPublicChargingCharge

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

Post a charge for an EV public charging session.

The possible errors that can be raised are:

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

Arguments

Name Description

input (PostEVPublicChargingChargeInput!)

Input fields for initiating a standalone payment.

Return fields

Name Description

Mutation

mutation PostEvPublicChargingCharge($input: PostEVPublicChargingChargeInput!) {
  postEvPublicChargingCharge(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    accountCharge {
      ...AccountChargeTypeFragment
    }
  }
}

Variables

Response

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

postEvPublicChargingCredit

Type: PostEVPublicChargingCredit

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

Post an EV Public Charging credit.

The possible errors that can be raised are:

  • KT-CT-5815: Invalid data.
  • KT-CT-5816: Invalid data.
  • KT-CT-5817: External Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PostEVPublicChargingCreditInput!)

Input fields for creating a credit.

Return fields

Name Description

Mutation

mutation PostEvPublicChargingCredit($input: PostEVPublicChargingCreditInput!) {
  postEvPublicChargingCredit(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    credit {
      ...CreditFragment
    }
  }
}

Variables

Response

{
  "data": {
    "postEvPublicChargingCredit": {
      "possibleErrors": [PossibleErrorType],
      "credit": Credit
    }
  }
}

prepareAccount

Type: PrepareAccountResult!

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

Prepare account for sign up. Returns the existing account and/or user if matching datafound for the provided input, otherwise creates a new account and account user.

The possible errors that can be raised are:

  • KT-CT-10303: Mutation not enabled in this environment.
  • KT-CT-10316: Input data has invalid format.
  • KT-CT-10317: An error occured when trying to prepare the account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PrepareAccountInput!)

Return fields

Name Description

Mutation

mutation PrepareAccount($input: PrepareAccountInput!) {
  prepareAccount(input: $input) {
    isNewAccount
    accountNumber
    isNewUser
    userId
  }
}

Variables

{
  "input": PrepareAccountInput
}

Response

{
  "data": {
    "prepareAccount": {
      "isNewAccount": true,
      "accountNumber": "abc123",
      "isNewUser": true,
      "userId": "abc123"
    }
  }
}

publishTransactionalMessagingExternalTrigger

Type: PublishTransactionalMessagingExternalTrigger

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

Publish an externally defined transactional messaging trigger.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-5421: Account user not found.
  • KT-CT-9901: Invalid trigger type code.
  • KT-CT-9905: Top-level context fields are missing.
  • KT-CT-9906: Template variables do not match the defined schema.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PublishTransactionalMessagingExternalTriggerInput!)

Input fields to publish an external transactional messaging trigger.

Return fields

Name Description

Mutation

mutation PublishTransactionalMessagingExternalTrigger($input: PublishTransactionalMessagingExternalTriggerInput!) {
  publishTransactionalMessagingExternalTrigger(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    trigger {
      ...TriggerFragment
    }
  }
}

Response

{
  "data": {
    "publishTransactionalMessagingExternalTrigger": {
      "possibleErrors": [PossibleErrorType],
      "trigger": Trigger
    }
  }
}

publishTransactionalMessagingTrigger

Type: PublishTransactionalMessagingTrigger

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

Publish a trigger within the transactional messaging service.

The possible errors that can be raised are:

  • KT-CT-9901: Invalid trigger type code.
  • KT-CT-9902: Invalid trigger type params.
  • KT-CT-9903: Trigger type cannot be published externally.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (PublishTransactionalMessagingTriggerInput!)

Input fields to publish a transactional messaging trigger.

Return fields

Name Description

Mutation

mutation PublishTransactionalMessagingTrigger($input: PublishTransactionalMessagingTriggerInput!) {
  publishTransactionalMessagingTrigger(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    trigger {
      ...TriggerFragment
    }
  }
}

Response

{
  "data": {
    "publishTransactionalMessagingTrigger": {
      "possibleErrors": [PossibleErrorType],
      "trigger": Trigger
    }
  }
}

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

Name Description

input (QuoteAccountOnProductsInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

Arguments

Name Description

input (QuoteCampaignOfferInput)

Return fields

Name Description

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

Name Description

input (QuoteNewMeterPointsInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

quoteNewMeterPointsOnBespokeProducts

Type: QuoteNewMeterPointsOnBespokeProducts

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

DO NOT USE: WIP Create a quote for new meter points on passed in products with bespoke rates. This is an acquisition quote mutation only to be used by authenticated third party organisations for bespoke quoting.

The possible errors that can be raised are:

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

Arguments

Name Description

input (QuoteNewMeterPointsOnBespokeProductsInput!)

Return fields

Name Description

Mutation

mutation QuoteNewMeterPointsOnBespokeProducts($input: QuoteNewMeterPointsOnBespokeProductsInput!) {
  quoteNewMeterPointsOnBespokeProducts(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    quoteRequest {
      ...QuoteRequestFragment
    }
  }
}

Response

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

readInventory

Type: ReadInventory

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

Triggers a Read Inventory request to be sent through the DCC adapter for either a given device EUI64 or MPxN.

The possible errors that can be raised are:

  • KT-GB-4021: Invalid MPxN.
  • KT-GB-4024: The provided device ID does not match any devices known by Kraken.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (ReadInventoryInput!)

Input field for a read inventory via device EUI64 or MPAN/MPRN.

Return fields

Name Description

Mutation

mutation ReadInventory($input: ReadInventoryInput!) {
  readInventory(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

{
  "input": ReadInventoryInput
}

Response

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

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

Name Description

input (ReauthenticateDeviceInput)

Return fields

Name Description

Mutation

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

Variables

Response

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

recordDepositAgreementAccepted

Type: RecordDepositAgreementAccepted

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

Record the customer's acceptance of a deposit agreement.

The possible errors that can be raised are:

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

Arguments

Name Description

input (DepositAgreementInput!)

Return fields

Name Description

Mutation

mutation RecordDepositAgreementAccepted($input: DepositAgreementInput!) {
  recordDepositAgreementAccepted(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    isRecorded
  }
}

Variables

{
  "input": DepositAgreementInput
}

Response

{
  "data": {
    "recordDepositAgreementAccepted": {
      "possibleErrors": [PossibleErrorType],
      "isRecorded": true
    }
  }
}

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

Name Description

input (RedeemLoyaltyPointsInput!)

Input fields for redeeming Loyalty Points.

Return fields

Name Description

Mutation

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

Variables

Response

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

Name Description

input (RedeemReferralClaimCodeInput!)

Input fields for redeeming referral code.

Return fields

Name Description

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

Name Description

input (RefreshQuoteInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": RefreshQuoteInput
}

Response

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

refundPayment

Type: RefundPayment

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

Refund a cleared payment.

The possible errors that can be raised are:

  • KT-CT-3924: Unauthorized.
  • KT-CT-3928: Idempotency key used for another repayment request.
  • KT-CT-3929: The payment is not in a refundable state.
  • KT-CT-3933: Refund amount greater than payment amount.
  • KT-CT-3937: Payment not eligible for refund.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (RefundPaymentInput!)

Input fields for refunding a payment.

Return fields

Name Description

Mutation

mutation RefundPayment($input: RefundPaymentInput!) {
  refundPayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    repayment {
      ...AccountRepaymentTypeFragment
    }
  }
}

Variables

{
  "input": RefundPaymentInput
}

Response

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

regenerateSecretKey

Type: RegenerateSecretKey

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

Regenerate the live secret key for the authenticated user.

Return fields

Name Description

Mutation

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

Response

{
  "data": {
    "regenerateSecretKey": {
      "key": "abc123",
      "viewer": AccountUserType
    }
  }
}

registerOpportunityFlowStatusEvent

Type: RegisterOpportunityFlowStatusEvent

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

Register a flow status event for an opportunity.

The possible errors that can be raised are:

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

Arguments

Name Description

input (RegisterOpportunityFlowStatusEventInput!)

Input fields for registering a flow status event for a opportunity.

Return fields

Name Description

Mutation

mutation RegisterOpportunityFlowStatusEvent($input: RegisterOpportunityFlowStatusEventInput!) {
  registerOpportunityFlowStatusEvent(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
  }
}

Response

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

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

Name Description

input (RegisterPushNotificationBindingInput!)

Input fields for creating an push notification binding.

Return fields

Name Description

Mutation

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

Variables

Response

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

registerSmartDevice

Type: RegisterSmartDevice

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

Notify Kraken to run the relevant prenotifications for a new device.

Arguments

Name Description

input (RegisterSmartDeviceInput!)

Specifies device metadata to use for prenotifications.

Return fields

Name Description

Mutation

mutation RegisterSmartDevice($input: RegisterSmartDeviceInput!) {
  registerSmartDevice(input: $input) {
    requestReference
  }
}

Variables

Response

{
  "data": {
    "registerSmartDevice": {
      "requestReference": "abc123"
    }
  }
}

removeCampaignFromAccount

Type: RemoveCampaignFromAccount

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

The possible errors that can be raised are:

  • KT-CT-7424: Failed to remove campaign from account.
  • KT-CT-7426: The account is not part of the given campaign.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (RemoveCampaignFromAccountInput!)

Input variables needed for removing a campaign from an account

Return fields

Name Description

Mutation

mutation RemoveCampaignFromAccount($input: RemoveCampaignFromAccountInput!) {
  removeCampaignFromAccount(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    campaignRemoved
  }
}

Variables

Response

{
  "data": {
    "removeCampaignFromAccount": {
      "possibleErrors": [PossibleErrorType],
      "campaignRemoved": true
    }
  }
}

removeCampaignItems

Type: RemoveCampaignItems

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

The possible errors that can be raised are:

  • KT-CT-11501: Voice campaign not found.
  • KT-CT-11502: Cannot remove items from multiple campaigns at once.
  • KT-CT-11505: Voice campaign item not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (RemoveCampaignItemsInput!)

Return fields

Name Description

Mutation

mutation RemoveCampaignItems($input: RemoveCampaignItemsInput!) {
  removeCampaignItems(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    campaignItems {
      ...VoiceCampaignItemTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "removeCampaignItems": {
      "possibleErrors": [PossibleErrorType],
      "campaignItems": [VoiceCampaignItemType]
    }
  }
}

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

Name Description

input (RemoveConsumerDeviceInput!)

Input fields for remove device.

Return fields

Name Description

Mutation

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

Variables

Response

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

removeItemsFromRiskList

Type: RemoveItemsFromRiskList

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

Remove items from the risk list.

The possible errors that can be raised are:

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

Arguments

Name Description

input ([RiskListItemInputType]!)

A list of risk list items to remove.

Return fields

Name Description

Mutation

mutation RemoveItemsFromRiskList($input: [RiskListItemInputType]!) {
  removeItemsFromRiskList(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    riskIdentifiers {
      ...RiskListItemTypeFragment
    }
  }
}

Variables

{
  "input": RiskListItemInputType
}

Response

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

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

Name Description

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

Name Description

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

renewAgreementForMeterPoint

Type: RenewAgreementForMeterPoint

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

Renew agreement for a meter point.

The possible errors that can be raised are:

  • KT-GB-4112: Unable to renew agreements for meter point at this time. Please try again later.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (RenewAgreementForMeterPointInput!)

Return fields

Name Description

Mutation

mutation RenewAgreementForMeterPoint($input: RenewAgreementForMeterPointInput!) {
  renewAgreementForMeterPoint(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    electricityAgreement {
      ...RestrictedElectricityAgreementFragment
    }
    gasAgreement {
      ...RestrictedGasAgreementFragment
    }
  }
}

Variables

Response

{
  "data": {
    "renewAgreementForMeterPoint": {
      "possibleErrors": [PossibleErrorType],
      "electricityAgreement": RestrictedElectricityAgreement,
      "gasAgreement": RestrictedGasAgreement
    }
  }
}

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

Name Description

input (RenewAgreementsInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": RenewAgreementsInput
}

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

Name Description

input (RenewAgreementsForAccountInput)

Return fields

Name Description

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

Name Description

input (ReplaceAgreementInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": ReplaceAgreementInput
}

Response

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

replaceCommsHub

Type: ReplaceCommsHub

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

Replace an existing Communications Hub with a new one and move existing devices to the new Hub.

Arguments

Name Description

input (ReplaceCommsHubInput!)

Input fields for replacing a Communications Hub.

Return fields

Name Description

Mutation

mutation ReplaceCommsHub($input: ReplaceCommsHubInput!) {
  replaceCommsHub(input: $input) {
    requestReference
  }
}

Variables

{
  "input": ReplaceCommsHubInput
}

Response

{
  "data": {
    "replaceCommsHub": {
      "requestReference": "abc123"
    }
  }
}

reportRemovedMeterDetails

Type: ReportRemovedMeterDetails

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

Report details, readings and balances of meters removed during install.

The possible errors that can be raised are:

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

Arguments

Name Description

input (ReportRemovedMeterDetailsInput!)

Input fields for removed meter details.

Return fields

Name Description

Mutation

mutation ReportRemovedMeterDetails($input: ReportRemovedMeterDetailsInput!) {
  reportRemovedMeterDetails(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    result {
      ...ReportRemovedMeterDetailsOutputFragment
    }
  }
}

Variables

Response

{
  "data": {
    "reportRemovedMeterDetails": {
      "possibleErrors": [PossibleErrorType],
      "result": ReportRemovedMeterDetailsOutput
    }
  }
}

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

Arguments

Name Description

input (RequestConsumptionDataInput!)

Input fields for requesting consumption data.

Return fields

Name Description

Mutation

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

Variables

Response

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

requestDoubleOptIn

Type: RequestDoubleOptIn

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

Request a double opt in

The possible errors that can be raised are:

  • KT-CT-9019: Invalid input.
  • KT-CT-9018: Account not found.
  • KT-CT-1111: Unauthorized.
  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9017: Consent type not found.
  • KT-CT-9023: Consent already accepted.
  • KT-CT-1199: Too many requests.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (DoubleOptInInput)

Return fields

Name Description

Mutation

mutation RequestDoubleOptIn($input: DoubleOptInInput) {
  requestDoubleOptIn(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    consent {
      ...ConsentTypeFragment
    }
  }
}

Variables

{
  "input": DoubleOptInInput
}

Response

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

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

Arguments

Name Description

input (RequestPasswordResetInput!)

Input fields for requesting a password reset email.

Return fields

Name Description

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

Name Description

input (RequestPrintedBillInput!)

Input fields to request a printed bill.

Return fields

Name Description

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

Name Description

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

Name Description

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

Name Description

input (RequoteInput!)

Return fields

Name Description

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

Name Description

input (ResetPasswordMutationInput!)

Return fields

Name Description

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.

Raises KT-CT-5450 if password validation fails. Inspect the validationErrors extension to get the exact validation error:

json { "data": {"resetUserPassword": null}, "errors": [ { "message": "Password is invalid.", "path": ["resetUserPassword"], "extensions": { "errorType": "VALIDATION", "errorCode": "KT-CT-5450", "errorDescription": "Given password fails password policy requirements.", "validationErrors": [ { "code": "password_too_short", "message": "This password is too short. It must contain at least 7 characters.", "inputPath": ["input", "password"] }, { "code": "password_too_common", "message": "This password is too common.", "inputPath": ["input", "password"] } ] } } ] }

The validation error's code can be any of - password_too_short - password_too_common - password_reused - password_matches_current - password_has_too_few_numeric_characters - password_has_too_few_special_characters - password_has_too_few_lowercase_characters - password_has_too_few_uppercase_characters - password_contains_account_number - password_contains_part_of_email_address

The possible errors that can be raised are:

  • KT-CT-4125: Unauthorized.
  • KT-CT-1132: Unauthorized.
  • KT-CT-5450: Password is invalid.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (ResetUserPasswordInput!)

Input fields for resetting an account user's password.

Return fields

Name Description

Mutation

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

Variables

{
  "input": ResetUserPasswordInput
}

Response

{
  "data": {
    "resetUserPassword": {
      "userId": "abc123",
      "passwordUpdated": true,
      "failureReasons": ["abc123"],
      "failureCodes": ["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

Name Description

input (AccountNumberInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

revokeAgreement

Type: RevokeAgreement

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

Revoke an agreement.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1502: Billed agreements cannot be revoked.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (RevokeAgreementInput!)

Input fields for revoking an agreement.

Return fields

Name Description

Mutation

mutation RevokeAgreement($input: RevokeAgreementInput!) {
  revokeAgreement(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

{
  "input": RevokeAgreementInput
}

Response

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

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

Name Description

input (QuoteShareInput!)

Return fields

Name Description

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

Arguments

Name Description

input (SelectChargePointMakeInput!)

Return fields

Name Description

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

Arguments

Name Description

input (SelectChargePointVariantInput!)

Return fields

Name Description

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

Arguments

Name Description

input (SelectDeviceTypeInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": SelectDeviceTypeInput
}

Response

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

selectInverterMakeForSmartFlexOnboarding

Type: SelectInverterMakeForSmartFlexOnboarding

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

Select the inverter make to proceed in the onboarding journey.

The possible errors that can be raised are:

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

Arguments

Name Description

input (SelectInverterMakeInput!)

Return fields

Name Description

Mutation

mutation SelectInverterMakeForSmartFlexOnboarding($input: SelectInverterMakeInput!) {
  selectInverterMakeForSmartFlexOnboarding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    wizard {
      ...SmartFlexOnboardingWizardFragment
    }
  }
}

Variables

Response

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

selectProducts

Type: SelectProducts

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

Mark quoted products on a quote request as selected.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4634: Quoted product with given id not found.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-4635: Missing a quoted product for at least one quoted supply point on the quote request.
  • KT-CT-4636: Quoted product not linked to a product.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (SelectProductsInput!)

Return fields

Name Description

Mutation

mutation SelectProducts($input: SelectProductsInput!) {
  selectProducts(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success
  }
}

Variables

{
  "input": SelectProductsInput
}

Response

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

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

Arguments

Name Description

input (SelectUserVehicleInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": SelectUserVehicleInput
}

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

Arguments

Name Description

input (SelectVehicleMakeInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": SelectVehicleMakeInput
}

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

Arguments

Name Description

input (SelectVehicleVariantInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

sendDecommissionRequest

Type: SendDecommissionRequest

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

Decommission a device (Single request / 8.3).

Arguments

Name Description

input (SendDecommissionRequestInput!)

Input fields for decommission devices.

Return fields

Name Description

Mutation

mutation SendDecommissionRequest($input: SendDecommissionRequestInput!) {
  sendDecommissionRequest(input: $input) {
    requestReference
  }
}

Variables

Response

{
  "data": {
    "sendDecommissionRequest": {
      "requestReference": "abc123"
    }
  }
}

Arguments

Name Description

input (SendLiveChatMessageInput!)

Return fields

Name Description

Mutation

mutation SendLiveChatMessage($input: SendLiveChatMessageInput!) {
  sendLiveChatMessage(input: $input) {
    liveChat {
      ...InkLiveChatFragment
    }
    messageRelayId
    clientMutationId
  }
}

Variables

Response

{
  "data": {
    "sendLiveChatMessage": {
      "liveChat": InkLiveChat,
      "messageRelayId": "abc123",
      "clientMutationId": "abc123"
    }
  }
}

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

Name Description

input (SendLossObjectionForChangeOfSupplierInput!)

Input fields for sending loss objection for change of supplier.

Return fields

Name Description

Mutation

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

Response

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

sendQuoteSummary

Type: SendQuoteSummary

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

Send a quote summary to the provided recipient.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4178: No account found with given account number.
  • KT-CT-4632: Invalid recipient information.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (QuoteShareInput!)

Return fields

Name Description

Mutation

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

Variables

{
  "input": QuoteShareInput
}

Response

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

sendVerificationEmail

Type: SendVerificationEmail

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

Verify user's email address.

The possible errors that can be raised are:

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

Arguments

Name Description

input (SendVerificationEmailInput!)

Return fields

Name Description

Mutation

mutation SendVerificationEmail($input: SendVerificationEmailInput!) {
  sendVerificationEmail(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    verificationStatus
  }
}

Variables

Response

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

Name Description

input (BatteryChargingPreferencesInput)

Return fields

Name Description

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

Name Description

input (ClimateControlStateInput)

Return fields

Name Description

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

Arguments

Name Description

input (SmartFlexDevicePreferencesInput!)

The device preference details to be updated.

Return fields

Name Description

Mutation

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

Variables

Response

{
  "data": {
    "setDevicePreferences": {
      "id": "abc123",
      "name": "abc123",
      "deviceType": "BATTERIES",
      "provider": "BYD",
      "integrationDeviceId": "abc123",
      "status": SmartFlexDeviceStatusInterface,
      "propertyId": "abc123",
      "alerts": SmartFlexDeviceAlertInterface,
      "onboardingWizard": SmartFlexOnboardingWizard,
      "preferences": SmartFlexDevicePreferencesInterface,
      "preferenceSetting": FlexDevicePreferenceSettingInterface
    }
  }
}

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

Name Description

input (HotWaterStateInput)

Return fields

Name Description

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-9214: Couldn't assign user loyalty points role.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (SetLoyaltyPointsUserInput!)

Input fields for saving the Loyalty Points user.

Return fields

Name Description

Mutation

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

Variables

Response

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

setOpportunityOutcome

Type: SetOpportunityOutcome

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

Update the opportunity outcome to mark the opportunity as won or lost.

The possible errors that can be raised are:

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

Arguments

Name Description

input (SetOpportunityOutcomeInput!)

Input fields for setting the outcome of a opportunity.

Return fields

Name Description

Mutation

mutation SetOpportunityOutcome($input: SetOpportunityOutcomeInput!) {
  setOpportunityOutcome(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    message
  }
}

Variables

Response

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

setPaymentPreference

Type: SetPaymentPreference

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

Set a preference to collect payments from a specific payment method.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3967: Payment method is not valid.
  • KT-CT-3968: Preference cannot be set this soon.
  • KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (SetPaymentPreferenceInput!)

Return fields

Name Description

Mutation

mutation SetPaymentPreference($input: SetPaymentPreferenceInput!) {
  setPaymentPreference(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
  }
}

Variables

Response

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

setReadingConsentGranularity

Type: SetReadingConsentGranularity

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

Mutation to set the reading consent granularity for a meter point.

Arguments

Name Description

input (SetReadingConsentGranularityInput!)

Input fields for setting the reading consent granularity.

Return fields

Name Description

Mutation

mutation SetReadingConsentGranularity($input: SetReadingConsentGranularityInput!) {
  setReadingConsentGranularity(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    readingConsentGranularitySubmitted
  }
}

Variables

Response

{
  "data": {
    "setReadingConsentGranularity": {
      "possibleErrors": [PossibleErrorType],
      "readingConsentGranularitySubmitted": true
    }
  }
}

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

Name Description

input (RoomTemperatureInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": RoomTemperatureInput
}

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-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3940: Invalid data.
  • KT-CT-5415: Account user not found.
  • KT-CT-11103: Business not found.
  • KT-CT-3971: Instruction owners are not valid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (SetUpDirectDebitInstructionInput!)

Input fields for creating a new direct debit instruction

Return fields

Name Description

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

Name Description

input (VehicleChargingPreferencesInput)

Return fields

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

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

Name Description

input (ShareGoodsQuoteInput!)

Input fields for sharing a quote.

Return fields

Name Description

Mutation

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

Variables

{
  "input": ShareGoodsQuoteInput
}

Response

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

skipSsdPayment

Type: SkipSSDPayment

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

Skip the SSD payment for an account which is yet to enrol to Octopus as a supplier.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-GB-4137: Could not cancel SSD payment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (SkipSsdPaymentInput!)

Return fields

Name Description

Mutation

mutation SkipSsdPayment($input: SkipSsdPaymentInput!) {
  skipSsdPayment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    skippedPaymentAmount
    skippedPaymentDate
    nextPaymentAmount
    nextPaymentDate
  }
}

Variables

{
  "input": SkipSsdPaymentInput
}

Response

{
  "data": {
    "skipSsdPayment": {
      "possibleErrors": [PossibleErrorType],
      "skippedPaymentAmount": 1,
      "skippedPaymentDate": "2020-01-01",
      "nextPaymentAmount": 1,
      "nextPaymentDate": "2020-01-01"
    }
  }
}

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

Name Description

input (UpdateAccountSmartMeterInterestInput)

Return fields

Name Description

Mutation

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

Variables

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

Name Description

input (WheelOfFortuneSpinInput!)

Input fields for creating a Wheel of Fortune submission.

Return fields

Name Description

Mutation

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

Variables

Response

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

startCustomerVerification

Type: StartCustomerVerification

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

Start the customer verification using the provided verification method.

The possible errors that can be raised are:

  • KT-CT-1701: Brand does not exist.
  • KT-CT-4194: Verification type not supported yet.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (StartCustomerVerificationInput!)

Return fields

Name Description

Mutation

mutation StartCustomerVerification($input: StartCustomerVerificationInput!) {
  startCustomerVerification(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    verificationProcess {
      ...VerificationProcessFragment
    }
  }
}

Variables

Response

{
  "data": {
    "startCustomerVerification": {
      "possibleErrors": [PossibleErrorType],
      "verificationProcess": VerificationProcess
    }
  }
}

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

Name Description

input (StartExportOnboardingProcessInput)

Return fields

Name Description

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

Arguments

Name Description

input (StartSmartOnboardingProcessInput)

Return fields

Name Description

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

Name Description

input (StartSmartFlexOnboardingInput!)

Return fields

Name Description

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

Arguments

Name Description

input (CompleteSmartFlexOnboardingStepInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

stopAutomatedPayments

Type: StopAutomatedPayments

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

Set a preference to not collect automated payments.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3968: Preference cannot be set this soon.
  • KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (StopAutomatedPaymentsInput!)

Return fields

Name Description

Mutation

mutation StopAutomatedPayments($input: StopAutomatedPaymentsInput!) {
  stopAutomatedPayments(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
  }
}

Variables

Response

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

storeElectricJuicePaymentInstruction

Type: StoreElectricJuicePaymentInstruction

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

Store a new card instruction for Electric Juice from an embedded form.

The possible errors that can be raised are:

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

Arguments

Name Description

input (StoreElectricJuicePaymentInstructionInput!)

Input fields for storing a new card instruction from an embedded form.

Return fields

Name Description

Mutation

mutation StoreElectricJuicePaymentInstruction($input: StoreElectricJuicePaymentInstructionInput!) {
  storeElectricJuicePaymentInstruction(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    paymentInstruction {
      ...PaymentInstructionTypeFragment
    }
  }
}

Response

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

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-3820: Received both ledger ID and number.
  • KT-CT-4177: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (StorePaymentInstructionInput!)

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

Return fields

Name Description

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

Name Description

input (CustomerFeedbackInputType!)

Return fields

Name Description

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-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3926: Unauthorized.
  • KT-CT-3927: Invalid Amount.
  • KT-CT-3928: Idempotency key used for another repayment request.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (RequestRepaymentInputType!)

Input fields for requesting a repayment.

Return fields

Name Description

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

Name Description

input (AccountNumberInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

switchAccountToVariablePaymentSchedule

Type: SwitchAccountToVariablePaymentSchedule

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

Switch account to variable payment schedule. Current schedule type will be preserved.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3921: Account not found.
  • KT-CT-3922: Ledger not found for the account.
  • KT-CT-3947: An unexpected error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (SwitchAccountToVariablePaymentScheduleInput!)

Input fields for switching to a variable payment schedule.

Return fields

Name Description

Mutation

mutation SwitchAccountToVariablePaymentSchedule($input: SwitchAccountToVariablePaymentScheduleInput!) {
  switchAccountToVariablePaymentSchedule(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    schedule {
      ...PaymentScheduleTypeFragment
    }
  }
}

Response

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

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

Name Description

input (SwitchMeterPointProductsInput)

Return fields

Name Description

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-3822: Unauthorized.
  • KT-CT-3825: Credit transfer permission not found.
  • KT-CT-3827: The ledger is not valid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (TerminateCreditTransferPermissionInput!)

Input fields for terminating a credit transfer permission.

Return fields

Name Description

Mutation

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

Response

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

thirdPartyCompleteDeviceRegistration

Type: ThirdPartyCompleteDeviceRegistration

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

Completes the registration of a device if the contract is eligible and the device registration valid.

The possible errors that can be raised are:

  • KT-CT-4321: Serializer validation error.
  • KT-CT-4322: Unable to complete registration error.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (CompleteDeviceRegistrationInput)

Return fields

Name Description

Mutation

mutation ThirdPartyCompleteDeviceRegistration($input: CompleteDeviceRegistrationInput) {
  thirdPartyCompleteDeviceRegistration(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    success {
      ...ThirdPartyCompleteDeviceRegistrationTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "thirdPartyCompleteDeviceRegistration": {
      "possibleErrors": [PossibleErrorType],
      "success": ThirdPartyCompleteDeviceRegistrationType
    }
  }
}

transferLedgerBalance

Type: TransferLedgerBalance

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

Transfer value from a source ledger to a destination ledger. This decreases the balance of the source ledger by the given amount and increases the balance of the destination ledger by the same amount. If the amount is negative, the effect is reversed (the source ledger's balance increases and the destination ledger's balance decreases).

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3823: Unauthorized.
  • KT-CT-9701: Balance transfer to same account is not allowed.
  • KT-CT-9702: Balance transfer is not support for debit account with Zero balance.
  • KT-CT-9703: Balance transfer is not supported for debit account.
  • KT-CT-9704: Balance transfer amount should be non-zero.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (TransferLedgerBalanceInputType!)

Input fields for processing an account balance transfer.

Return fields

Name Description

Mutation

mutation TransferLedgerBalance($input: TransferLedgerBalanceInputType!) {
  transferLedgerBalance(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    balanceTransfer {
      ...AccountBalanceTransferTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "transferLedgerBalance": {
      "possibleErrors": [PossibleErrorType],
      "balanceTransfer": AccountBalanceTransferType
    }
  }
}

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

Name Description

input (TransferLoyaltyPointsBetweenUsersInput!)

Input fields for transferring Loyalty Points.

Return fields

Name Description

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)
  • BC_DEVICE_FULLY_CHARGED (device is already fully charged)

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4356: A boost charge cannot currently be performed.
  • KT-CT-4357: Unable to trigger boost charge.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (AccountNumberInput)

Return fields

Name Description

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

Name Description

s3Key (String!)

Return fields

Name Description

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-1111: Unauthorized.
  • KT-CT-4362: Device not ready for test charge.
  • KT-CT-4355: Unable to trigger charge.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (AccountNumberInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": AccountNumberInput
}

Response

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

unenrollAccountFromLoyaltyProgram

Type: UnenrollAccountFromLoyaltyProgram

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

Unenroll users account from Loyalty program.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9220: Ineligible loyalty points unenrollment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UnenrollAccountFromLoyaltyProgramInput!)

The account number to unenroll from the loyalty program.

Return fields

Name Description

Mutation

mutation UnenrollAccountFromLoyaltyProgram($input: UnenrollAccountFromLoyaltyProgramInput!) {
  unenrollAccountFromLoyaltyProgram(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    outcome {
      ...UnenrollAccountFromLoyaltyProgramOutcomeFragment
    }
  }
}

Response

{
  "data": {
    "unenrollAccountFromLoyaltyProgram": {
      "possibleErrors": [PossibleErrorType],
      "outcome": UnenrollAccountFromLoyaltyProgramOutcome
    }
  }
}

Return fields

Name Description

Mutation

mutation UnlinkUserFromLine {
  unlinkUserFromLine
}

Response

{
  "data": {
    "unlinkUserFromLine": UnlinkUserFromLineResponse
  }
}

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

Name Description

input (AccountBillingAddressInput!)

Input variables needed for updating an account billing address.

Return fields

Name Description

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

Name Description

input (UpdateAccountBillingEmailInput!)

Input fields for updating billing email for an account.

Return fields

Name Description

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

Name Description

accountNumber (String!)

The account number to update consents for.

consents ([ConsentInput]!)

Consents to update for account.

Return fields

Name Description

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

Name Description

input (AccountReferenceInput!)

Input fields for updating an account reference.

Return fields

Name Description

Mutation

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

Variables

{
  "input": AccountReferenceInput
}

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-1111: Unauthorized.
  • KT-CT-5421: Account user not found.
  • KT-CT-5422: Invalid data.
  • KT-CT-1605: Invalid input.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

consents ([ConsentTypeInput])

Consents to update for account user.

userNumber (String)

User number of the account user to update consents for. Only needed if the viewer is an organization.

Return fields

Name Description

Mutation

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

Variables

{
  "consents": ConsentTypeInput,
  "userNumber": "abc123"
}

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

Name Description

input (UpdatePurchaseInput!)

Input fields for updating an active purchase.

Return fields

Name Description

Mutation

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

Variables

{
  "input": UpdatePurchaseInput
}

Response

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

Type: UpdateAffiliateLink!

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

Update an existing affiliate link.

The possible errors that can be raised are:

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

Arguments

Name Description

input (UpdateAffiliateLinkInputType!)

Input fields for Updating an existing affiliate link

Return fields

Name Description

Mutation

mutation UpdateAffiliateLink($input: UpdateAffiliateLinkInputType!) {
  updateAffiliateLink(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    affiliateLink {
      ...AffiliateLinkTypeFragment
    }
  }
}

Variables

Response

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

updateAffiliateOrganisation

Type: UpdateAffiliateOrganisation!

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

Update an existing affiliate organisation.

The possible errors that can be raised are:

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

Arguments

Name Description

input (UpdateAffiliateOrganisationInputType!)

Input fields for Updating an existing affiliate organisation

Return fields

Name Description

Mutation

mutation UpdateAffiliateOrganisation($input: UpdateAffiliateOrganisationInputType!) {
  updateAffiliateOrganisation(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    affiliateOrganisation {
      ...AffiliateOrganisationTypeFragment
    }
  }
}

Variables

Response

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

updateAgreementPeriod

Type: UpdateAgreementPeriod

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

Update the period of an agreement.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1503: Agreement validto date must be later than validfrom date.
  • KT-CT-1504: Account does not match with the agreement.
  • KT-CT-1505: Unable to edit agreement.
  • KT-CT-1506: Agreement period is not within the supply and property period.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateAgreementPeriodInput!)

Input for updating the agreement period.

Return fields

Name Description

Mutation

mutation UpdateAgreementPeriod($input: UpdateAgreementPeriodInput!) {
  updateAgreementPeriod(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

Response

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

updateApiException

Type: UpdateAPIException

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

Mutation to update an existing APIException instance.

The possible errors that can be raised are:

  • KT-CT-7804: No fields present in the input for updating the APIException.
  • KT-CT-7803: Received an invalid apiExceptionId.
  • KT-CT-7809: Update results in no changes to API Exception.
  • KT-CT-7805: Too many tags associated with this API Exception.
  • KT-CT-7806: Cannot create duplicate tags for the same API exception.
  • KT-CT-7801: Received an invalid operationsTeamId.
  • KT-CT-7811: Received an invalid assignedUserId.
  • KT-CT-7812: Support user is inactive.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateAPIExceptionInput!)

Input fields for updating an API exception.

Return fields

Name Description

Mutation

mutation UpdateApiException($input: UpdateAPIExceptionInput!) {
  updateApiException(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    apiException {
      ...APIExceptionTypeFragment
    }
  }
}

Variables

Response

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

updateApiExceptionNote

Type: UpdateAPIExceptionNote

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

Mutation to update an existing APIExceptionNote instance.

The possible errors that can be raised are:

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

Arguments

Name Description

input (UpdateAPIExceptionNoteInput!)

Input fields for creating an API exception note.

Return fields

Name Description

Mutation

mutation UpdateApiExceptionNote($input: UpdateAPIExceptionNoteInput!) {
  updateApiExceptionNote(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    apiException {
      ...APIExceptionTypeFragment
    }
  }
}

Variables

Response

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

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-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3822: Unauthorized.
  • KT-CT-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateAutoTopUpAmountInput!)

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

Return fields

Name Description

Mutation

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

Variables

Response

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

updateBoostCharge

Type: SmartFlexDeviceInterface

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

Update the boost charge for a specific device.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4354: Unable to cancel boost charge.
  • 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.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateBoostChargeInput)

Return fields

Name Description

Mutation

mutation UpdateBoostCharge($input: UpdateBoostChargeInput) {
  updateBoostCharge(input: $input) {
    id
    name
    deviceType
    provider
    integrationDeviceId
    status {
      ...SmartFlexDeviceStatusInterfaceFragment
    }
    propertyId
    alerts {
      ...SmartFlexDeviceAlertInterfaceFragment
    }
    onboardingWizard {
      ...SmartFlexOnboardingWizardFragment
    }
    preferences {
      ...SmartFlexDevicePreferencesInterfaceFragment
    }
    preferenceSetting {
      ...FlexDevicePreferenceSettingInterfaceFragment
    }
  }
}

Variables

{
  "input": UpdateBoostChargeInput
}

Response

{
  "data": {
    "updateBoostCharge": {
      "id": "abc123",
      "name": "abc123",
      "deviceType": "BATTERIES",
      "provider": "BYD",
      "integrationDeviceId": "abc123",
      "status": SmartFlexDeviceStatusInterface,
      "propertyId": "abc123",
      "alerts": SmartFlexDeviceAlertInterface,
      "onboardingWizard": SmartFlexOnboardingWizard,
      "preferences": SmartFlexDevicePreferencesInterface,
      "preferenceSetting": FlexDevicePreferenceSettingInterface
    }
  }
}

updateCharityDonation

Type: UpdateCharityDonation

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

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-GB-11901: Could not update charity donation.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (CharityDonationInput!)

Return fields

Name Description

Mutation

mutation UpdateCharityDonation($input: CharityDonationInput!) {
  updateCharityDonation(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    amount
  }
}

Variables

{
  "input": CharityDonationInput
}

Response

{
  "data": {
    "updateCharityDonation": {
      "possibleErrors": [PossibleErrorType],
      "amount": "ONE"
    }
  }
}

updateCollectionProcessRecordToActive

Type: UpdateCollectionProcessRecordToActive

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

Update the Collection Process Record from raised status to active.

The possible errors that can be raised are:

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

Arguments

Name Description

input (UpdateCollectionProcessRecordToActiveInputType!)

Input variables needed for making a collection process record active.

Return fields

Name Description

Mutation

mutation UpdateCollectionProcessRecordToActive($input: UpdateCollectionProcessRecordToActiveInputType!) {
  updateCollectionProcessRecordToActive(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    collectionProcessActivated {
      ...UpdateCollectionProcessRecordToActiveOutputTypeFragment
    }
  }
}

Response

{
  "data": {
    "updateCollectionProcessRecordToActive": {
      "possibleErrors": [PossibleErrorType],
      "collectionProcessActivated": UpdateCollectionProcessRecordToActiveOutputType
    }
  }
}

updateCollectionProcessRecordToComplete

Type: UpdateCollectionProcessRecordToComplete

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

Update the Collection Process Record from raised status to complete.

The possible errors that can be raised are:

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

Arguments

Name Description

input (UpdateCollectionProcessRecordToCompleteInputType!)

Input variables needed for making a collection process record complete.

Return fields

Name Description

Mutation

mutation UpdateCollectionProcessRecordToComplete($input: UpdateCollectionProcessRecordToCompleteInputType!) {
  updateCollectionProcessRecordToComplete(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    collectionProcessComplete {
      ...UpdateCollectionProcessRecordToCompleteOutputTypeFragment
    }
  }
}

Response

{
  "data": {
    "updateCollectionProcessRecordToComplete": {
      "possibleErrors": [PossibleErrorType],
      "collectionProcessComplete": UpdateCollectionProcessRecordToCompleteOutputType
    }
  }
}

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

Name Description

input (UpdateCommsDeliveryPreferenceInput!)

Input fields for updating comms delivery preferences for an account

Return fields

Name Description

Mutation

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

Variables

Response

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

updateCommsHubStatus

Type: UpdateCommsHubStatus

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

Update the status of the CHF (Communictions Hub).

The possible errors that can be raised are:

  • KT-GB-4026: Either the mpxn or mpan input must be provided.
  • KT-GB-4027: If both mpxn and mpan are provided, they must match.
  • KT-GB-4028: Please input a valid MPxN.
  • KT-GB-4029: Meter point not found for MPAN.
  • KT-GB-4030: Meter point not found for MPRN.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateCommsHubStatusInput!)

Input fields for updating the status of the communications hub.

Return fields

Name Description

Mutation

mutation UpdateCommsHubStatus($input: UpdateCommsHubStatusInput!) {
  updateCommsHubStatus(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    requestReference
  }
}

Variables

Response

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

updateCommsPreferences

Type: UpdateAccountUserCommsPreferencesMutationPayload

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

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

Arguments

Name Description

input (UpdateAccountUserCommsPreferencesMutationInput!)

Return fields

Name Description

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

updateDcaProceeding

Type: UpdateDCAProceeding

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

Update the status of a DCA proceeding.

The possible errors that can be raised are:

  • KT-CT-11610: unable to edit the debt collection proceeding.
  • KT-CT-11604: Active debt collection proceeding does not exist for account.
  • KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateDCAProceedingInputType!)

Return fields

Name Description

Mutation

mutation UpdateDcaProceeding($input: UpdateDCAProceedingInputType!) {
  updateDcaProceeding(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    dcaProceedingUpdateStatus {
      ...DCAProceedingUpdateStatusFragment
    }
  }
}

Variables

Response

{
  "data": {
    "updateDcaProceeding": {
      "possibleErrors": [PossibleErrorType],
      "dcaProceedingUpdateStatus": DCAProceedingUpdateStatus
    }
  }
}

updateDeviceSmartControl

Type: SmartFlexDeviceInterface

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

Suspends or resumes the smart control of a specific device. For some devices, this will also adjust smart control of related devices. e.g. suspending one zone in a multi-zone heat pump system will suspend all zones in that system.

The possible errors that can be raised are:

  • KT-CT-4313: Could not find KrakenFlex device.
  • KT-CT-4358: Unable to suspend device control.
  • KT-CT-4359: Unable to resume device control.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (SmartControlInput!)

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

Return fields

Name Description

Mutation

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

Variables

{
  "input": SmartControlInput
}

Response

{
  "data": {
    "updateDeviceSmartControl": {
      "id": "abc123",
      "name": "abc123",
      "deviceType": "BATTERIES",
      "provider": "BYD",
      "integrationDeviceId": "abc123",
      "status": SmartFlexDeviceStatusInterface,
      "propertyId": "abc123",
      "alerts": SmartFlexDeviceAlertInterface,
      "onboardingWizard": SmartFlexOnboardingWizard,
      "preferences": SmartFlexDevicePreferencesInterface,
      "preferenceSetting": FlexDevicePreferenceSettingInterface
    }
  }
}

updateLeadAssignment

Type: UpdateLeadAssignment

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

Update assignment fields for an Opportunity.

The possible errors that can be raised are:

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

Arguments

Name Description

input (UpdateLeadAssignmentInput!)

Fields for updating a lead assignment.

Return fields

Name Description

Mutation

mutation UpdateLeadAssignment($input: UpdateLeadAssignmentInput!) {
  updateLeadAssignment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    updatedLeadData
  }
}

Variables

Response

{
  "data": {
    "updateLeadAssignment": {
      "possibleErrors": [PossibleErrorType],
      "updatedLeadData": {"key": "value"}
    }
  }
}

updateLeadDetails

Type: UpdateLeadDetails

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

Update the details of a lead.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-8913: Organisation is not valid to be assigned.
  • KT-CT-8914: Stage not found.
  • KT-CT-8915: Stages are not in the same funnel.
  • KT-CT-8916: Current stage mismatch.
  • KT-CT-8917: Stage transition not allowed.
  • KT-CT-8918: Stage precondition not met.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateLeadDetailsInput!)

Fields for updating a lead's details.

Return fields

Name Description

Mutation

mutation UpdateLeadDetails($input: UpdateLeadDetailsInput!) {
  updateLeadDetails(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    updatedLeadData
  }
}

Variables

{
  "input": UpdateLeadDetailsInput
}

Response

{
  "data": {
    "updateLeadDetails": {
      "possibleErrors": [PossibleErrorType],
      "updatedLeadData": {"key": "value"}
    }
  }
}

updateLeaveSupplier

Type: LeaveSupplierUpdated!

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

Update an existing leave supplier process.

The possible errors that can be raised are:

  • KT-CT-10304: Mutation not enabled in this environment.
  • KT-CT-10302: Invalid data.
  • KT-CT-10309: Failed to update leave supplier process - the service is not enabled.
  • KT-CT-10310: Failed to update leave supplier process. The process status is not in updatable status.
  • KT-CT-1607: Value cannot be empty.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateLeaveSupplierInput!)

Return fields

Name Description

Mutation

mutation UpdateLeaveSupplier($input: UpdateLeaveSupplierInput!) {
  updateLeaveSupplier(input: $input) {
    message
  }
}

Variables

Response

{
  "data": {
    "updateLeaveSupplier": {
      "message": "abc123"
    }
  }
}

Arguments

Name Description

input (UpdateMessageTagsInput!)

Return fields

Name Description

Mutation

mutation UpdateMessageTags($input: UpdateMessageTagsInput!) {
  updateMessageTags(input: $input) {
    tags {
      ...InkTagFragment
    }
    clientMutationId
  }
}

Variables

{
  "input": UpdateMessageTagsInput
}

Response

{
  "data": {
    "updateMessageTags": {
      "tags": InkTag,
      "clientMutationId": "abc123"
    }
  }
}

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

Arguments

Name Description

input (MetadataInput!)

Input fields for updating metadata.

Return fields

Name Description

Mutation

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

Variables

{
  "input": MetadataInput
}

Response

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

updateOpportunityAssignment

Type: UpdateOpportunityAssignment

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

Update assignment fields for an Opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateOpportunityAssignmentInput!)

Input fields for creating an opportunity.

Return fields

Name Description

Mutation

mutation UpdateOpportunityAssignment($input: UpdateOpportunityAssignmentInput!) {
  updateOpportunityAssignment(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    updatedOpportunityData
  }
}

Variables

Response

{
  "data": {
    "updateOpportunityAssignment": {
      "possibleErrors": [PossibleErrorType],
      "updatedOpportunityData": {"key": "value"}
    }
  }
}

updateOpportunityExtraDetails

Type: UpdateOpportunityExtraDetails

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

Update the extra details of a opportunity.

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateExtraDetailsInput!)

Input fields for updating the extra details of a opportunity.

Return fields

Name Description

Mutation

mutation UpdateOpportunityExtraDetails($input: UpdateExtraDetailsInput!) {
  updateOpportunityExtraDetails(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    extraDetails
  }
}

Variables

Response

{
  "data": {
    "updateOpportunityExtraDetails": {
      "possibleErrors": [PossibleErrorType],
      "extraDetails": {"key": "value"}
    }
  }
}

updateOpportunityStage

Type: UpdateOpportunityStage

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

Update the stage of a opportunity.

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-8910: Received opportunity current stage is not valid.
  • KT-CT-8914: Stage not found.
  • KT-CT-8915: Stages are not in the same funnel.
  • KT-CT-8916: Current stage mismatch.
  • KT-CT-8917: Stage transition not allowed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateOpportunityStageInput!)

Input fields for updating the state of a opportunity.

Return fields

Name Description

Mutation

mutation UpdateOpportunityStage($input: UpdateOpportunityStageInput!) {
  updateOpportunityStage(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    message
  }
}

Variables

Response

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

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.

The possible errors that can be raised are:

  • KT-CT-5460: Old password is invalid.
  • KT-CT-5450: Password is invalid.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

Name Description

input (UpdatePasswordInput)

Return fields

Name Description

Mutation

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

Variables

{
  "input": UpdatePasswordInput
}

Response

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

Name Description

input (UpdatePaymentSchedulePaymentAmountInput!)

Return fields

Name Description

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

Name Description

input (UpdatePaymentSchedulePaymentDayInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

updateProductPrices

Type: UpdateProductPricesOutput!

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

Update the prices of a product.

The possible errors that can be raised are:

  • KT-CT-12008: Unable to find the product.
  • KT-CT-12009: Specified product does not have a specification.
  • KT-CT-12010: Unable to find the product's specification.
  • KT-CT-12011: The list of provided prices contains validation errors.
  • KT-CT-12012: Product prices start date is in the past.
  • KT-CT-12013: Product prices would overwrite existing prices.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateProductPricesInput!)

Return fields

Name Description

Mutation

mutation UpdateProductPrices($input: UpdateProductPricesInput!) {
  updateProductPrices(input: $input) {
    prices {
      ...RateGroupPricesFragment
    }
  }
}

Variables

Response

{
  "data": {
    "updateProductPrices": {
      "prices": RateGroupPrices
    }
  }
}

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

Name Description

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

Name Description

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

updateSiteworksRequest

Type: UpdateSiteworksRequest

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

Update a Request.

The possible errors that can be raised are:

  • KT-CT-4231: Unauthorized.
  • KT-CT-4232: Status passed is not valid.
  • KT-CT-4233: Request does not exist.
  • KT-CT-4234: Terminated Request cannot be updated.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (UpdateSiteworksRequestInputType!)

The input objects required to update a Request

Return fields

Name Description

Mutation

mutation UpdateSiteworksRequest($input: UpdateSiteworksRequestInputType!) {
  updateSiteworksRequest(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    siteworksRequest {
      ...CoreSiteworksRequestTypeFragment
    }
  }
}

Variables

Response

{
  "data": {
    "updateSiteworksRequest": {
      "possibleErrors": [PossibleErrorType],
      "siteworksRequest": CoreSiteworksRequestType
    }
  }
}

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

Name Description

input (UpdateSmartMeterDataPreferencesInput!)

Input fields for updating smart meter data preferences.

Return fields

Name Description

Mutation

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

Variables

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

Arguments

Name Description

input (UpdateSpecialCircumstancesInput!)

Return fields

Name Description

Mutation

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

Variables

Response

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

updateSpecialCircumstancesAsOrganization

Type: UpdateSpecialCircumstancesAsOrganization

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

Update or create special circumstances by an organisation on behalf of a user

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

Arguments

Name Description

input (UpdateSpecialCircumstancesAsOrganizationInput!)

Return fields

Name Description

Mutation

mutation UpdateSpecialCircumstancesAsOrganization($input: UpdateSpecialCircumstancesAsOrganizationInput!) {
  updateSpecialCircumstancesAsOrganization(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    specialCircumstances {
      ...SpecialCircumstancesTypeFragment
    }
  }
}

Response

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

Name Description

input (UpdateSsdInput)

Return fields

Name Description

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

updateSupplyPointMetadata

Type: UpdateSupplyPointMetadata

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

Update metadata for a supply point.

The possible errors that can be raised are:

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

Arguments

Name Description

input (SupplyPointMetadataInput!)

Input fields for updating metadata.

Return fields

Name Description

Mutation

mutation UpdateSupplyPointMetadata($input: SupplyPointMetadataInput!) {
  updateSupplyPointMetadata(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
  }
}

Variables

Response

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

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

Name Description

input (UpdateUserInput!)

Input fields for updating user.

Return fields

Name Description

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

Name Description

input (UpdateAccountUserMutationInput!)

Return fields

Name Description

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

Name Description

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

Name Description

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

validateEmail

Type: ValidateEmail

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

Validate user's email address.

Arguments

Name Description

input (ValidateEmailInput!)

Return fields

Name Description

Mutation

mutation ValidateEmail($input: ValidateEmailInput!) {
  validateEmail(input: $input) {
    isValid
  }
}

Variables

{
  "input": ValidateEmailInput
}

Response

{
  "data": {
    "validateEmail": {
      "isValid": true
    }
  }
}

Arguments

Name Description

input (ValidatePhoneNumberInput!)

Return fields

Name Description

Mutation

mutation ValidatePhone($input: ValidatePhoneNumberInput!) {
  validatePhone(input: $input) {
    isValid
  }
}

Variables

Response

{
  "data": {
    "validatePhone": {
      "isValid": true
    }
  }
}

varyContractTerms

Type: VaryContractTermsOutput!

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

Vary the terms of a contract.

The possible errors that can be raised are:

  • KT-CT-10003: Contract not found.
  • KT-CT-10011: Unable to vary contract terms.
  • KT-CT-10012: Contract variation implies breach.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (VaryContractTermsInput!)

Return fields

Name Description

Mutation

mutation VaryContractTerms($input: VaryContractTermsInput!) {
  varyContractTerms(input: $input) {
    contract {
      ...ContractFragment
    }
  }
}

Variables

{
  "input": VaryContractTermsInput
}

Response

{
  "data": {
    "varyContractTerms": {
      "contract": Contract
    }
  }
}

verifyCustomer

Type: VerifyCustomer

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

Verify a customer using the provided verification code and type.

The possible errors that can be raised are:

  • KT-CT-4191: Error while verifying the customer.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (VerifyCustomerInput!)

Return fields

Name Description

Mutation

mutation VerifyCustomer($input: VerifyCustomerInput!) {
  verifyCustomer(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    user {
      ...AccountUserTypeFragment
    }
  }
}

Variables

{
  "input": VerifyCustomerInput
}

Response

{
  "data": {
    "verifyCustomer": {
      "possibleErrors": [PossibleErrorType],
      "user": AccountUserType
    }
  }
}

verifyEmail

Type: VerifyEmail

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

Verify user's email address.

The possible errors that can be raised are:

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

Arguments

Name Description

input (VerifyEmailInput!)

Return fields

Name Description

Mutation

mutation VerifyEmail($input: VerifyEmailInput!) {
  verifyEmail(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    isVerified
  }
}

Variables

{
  "input": VerifyEmailInput
}

Response

{
  "data": {
    "verifyEmail": {
      "possibleErrors": [PossibleErrorType],
      "isVerified": true
    }
  }
}

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

Name Description

input (VerifyIdentityInput!)

Details about the user to be verified.

Return fields

Name Description

Mutation

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

Variables

{
  "input": VerifyIdentityInput
}

Response

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

withdrawDunning

Type: WithdrawDunning

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

Withdraw a dunning process for an account

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11301: Account not in a dunning process for the given path name.
  • KT-CT-11302: No active dunning process found.
  • KT-CT-11303: Multiple active dunning processes found.
  • KT-CT-11306: Withdrawing the dunning process failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Arguments

Name Description

input (WithdrawDunningInputType!)

Input variables needed for withdrawing a dunning process for an account.

Return fields

Name Description

Mutation

mutation WithdrawDunning($input: WithdrawDunningInputType!) {
  withdrawDunning(input: $input) {
    possibleErrors {
      ...PossibleErrorTypeFragment
    }
    withdrawSuccessful
  }
}

Variables

Response

{
  "data": {
    "withdrawDunning": {
      "possibleErrors": [PossibleErrorType],
      "withdrawSuccessful": true
    }
  }
}

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

Name Description

input (CreateMfaDeviceInputType!)

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

Return fields

Name Description

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

Name Description

input (DeleteMfaDeviceInputType!)

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

Return fields

Name Description

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

Name Description

input (ValidateMfaDeviceInputType!)

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

Return fields

Name Description

Mutation

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

Variables

Response

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