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 fields for accepting a quote. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Goods purchase created. |
Mutation
mutation AcceptGoodsQuote($input: AcceptGoodsQuoteInput!) {
acceptGoodsQuote(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
goodsPurchase {
...GoodsPurchaseFragment
}
}
}
Variables
{
"input": AcceptGoodsQuoteInput
}
Response
{
"data": {
"acceptGoodsQuote": {
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}
}
}
Arguments
Name | Description |
---|---|
| Input fields for accepting terms and conditions |
Return fields
Name | Description |
---|---|
| Version of terms and conditions that were accepted. |
Mutation
mutation AcceptTermsAndConditions($input: AcceptTermsAndConditionsInput!) {
acceptTermsAndConditions(input: $input) {
acceptedVersion
}
}
Variables
{
"input": AcceptTermsAndConditionsInput
}
Response
{
"data": {
"acceptTermsAndConditions": {
"acceptedVersion": "abc123"
}
}
}
addCampaignToAccount
Type:AddCampaignToAccount
URL:https://api.octopus.energy/v1/graphql/
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input variables needed for adding a campaign to an account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Whether the campaign was successfully added. |
Mutation
mutation AddCampaignToAccount($input: AddCampaignToAccountInput!) {
addCampaignToAccount(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
campaignAdded
}
}
Variables
{
"input": AddCampaignToAccountInput
}
Response
{
"data": {
"addCampaignToAccount": {
"possibleErrors": [PossibleErrorType],
"campaignAdded": true
}
}
}
Arguments
Name | Description |
---|---|
| Controls which meter to top-up and by how much. |
Return fields
Name | Description |
---|---|
| Top-up amount in pence to add to smart meter. |
Mutation
mutation AddCreditToSmartMeter($input: SmartPrepayMeterAmountInput!) {
addCreditToSmartMeter(input: $input) {
amount
}
}
Variables
{
"input": SmartPrepayMeterAmountInput
}
Response
{
"data": {
"addCreditToSmartMeter": {
"amount": 1
}
}
}
amendPayment
Type:AmendPayment
URL:https://api.octopus.energy/v1/graphql/
Amend an existing payment.
The possible errors that can be raised are:
- KT-CT-3924: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for amending an existing payment. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation AmendPayment($input: AmendPaymentInput!) {
amendPayment(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
payment {
...AccountPaymentTypeFragment
}
}
}
Variables
{
"input": AmendPaymentInput
}
Response
{
"data": {
"amendPayment": {
"possibleErrors": [PossibleErrorType],
"payment": AccountPaymentType
}
}
}
amendUnbilledElectricityReading
Type:AmendUnbilledElectricityReading
URL:https://api.octopus.energy/v1/graphql/
Amend unbilled electricity readings.
Arguments
Name | Description |
---|---|
| Input fields for amending unbilled electricity reading. |
Return fields
Name | Description |
---|---|
|
Mutation
mutation AmendUnbilledElectricityReading($input: AmendUnbilledReadingInput!) {
amendUnbilledElectricityReading(input: $input) {
readingAmended
}
}
Variables
{
"input": AmendUnbilledReadingInput
}
Response
{
"data": {
"amendUnbilledElectricityReading": {
"readingAmended": true
}
}
}
assignDiscountCode
Type:AssignDiscountCode
URL:https://api.octopus.energy/v1/graphql/
Assign discount code to account and account user if available and eligible. A confirmation email will be sent to the user with the discount code.
The possible errors that can be raised are:
- KT-GB-5911: We have assigned all electric blanket discount codes.
- KT-GB-5912: Account already has a discount code assigned.
- KT-GB-5913: An error occurred assigning a discount code.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number to assign the code to. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The assigned discount code. |
Mutation
mutation AssignDiscountCode($accountNumber: String) {
assignDiscountCode(accountNumber: $accountNumber) {
possibleErrors {
...PossibleErrorTypeFragment
}
discountCode
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"assignDiscountCode": {
"possibleErrors": [PossibleErrorType],
"discountCode": "abc123"
}
}
}
backendScreenEvent
Type:BackendScreenEvent
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 fields for performing a backend action. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| An action to perform. |
Mutation
mutation BackendScreenEvent($input: BackendScreenEventInput!) {
backendScreenEvent(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
action {
... on DeeplinkActionType {
...DeeplinkActionTypeFragment
}
... on LinkActionType {
...LinkActionTypeFragment
}
... on BackendScreenEventActionType {
...BackendScreenEventActionTypeFragment
}
... on CloseActionType {
...CloseActionTypeFragment
}
... on ScreenActionType {
...ScreenActionTypeFragment
}
}
}
}
Variables
{
"input": BackendScreenEventInput
}
Response
{
"data": {
"backendScreenEvent": {
"possibleErrors": [PossibleErrorType],
"action": DeeplinkActionType
}
}
}
billToLatestSmartMeterSnapshot
Type:BillToLatestSmartMeterSnapshot
URL:https://api.octopus.energy/v1/graphql/
Bill to latest smart meter snapshot.
Arguments
Name | Description |
---|---|
Input fields for billing to latest smart meter snapshot. |
Return fields
Name | Description |
---|---|
| The date that has been billed up to. |
| The balance after attempting to bill. |
Mutation
mutation BillToLatestSmartMeterSnapshot($input: BillToLatestSmartMeterSnapshotInput!) {
billToLatestSmartMeterSnapshot(input: $input) {
billedToDate
currentBalance
}
}
Variables
{
"input": BillToLatestSmartMeterSnapshotInput
}
Response
{
"data": {
"billToLatestSmartMeterSnapshot": {
"billedToDate": "2020-01-01",
"currentBalance": 1.0
}
}
}
bulkUpdateSensorDisplayName
Type:BulkUpdateSensorDisplayName
URL:https://api.octopus.energy/v1/graphql/
Update the display name of multiple sensors.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| A list of sensor codes and display names to set. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| A mapping of transaction ids for each sensor. |
Mutation
mutation BulkUpdateSensorDisplayName(
$accountNumber: String!,
$euid: ID!,
$updates: [SensorDisplayNameUpdate]!
) {
bulkUpdateSensorDisplayName(
accountNumber: $accountNumber,
euid: $euid,
updates: $updates
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionIds {
...SensorUpdateTransactionIdFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"updates": SensorDisplayNameUpdate
}
Response
{
"data": {
"bulkUpdateSensorDisplayName": {
"possibleErrors": [PossibleErrorType],
"transactionIds": [SensorUpdateTransactionId]
}
}
}
cancelRepaymentRequest
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 fields for cancelling a repayment request. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The cancelled repayment/refund request. |
Mutation
mutation CancelRepaymentRequest($input: CancelRepaymentRequestInputType!) {
cancelRepaymentRequest(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
repaymentRequest {
...CancelRepaymentRequestOutputTypeFragment
}
}
}
Variables
{
"input": CancelRepaymentRequestInputType
}
Response
{
"data": {
"cancelRepaymentRequest": {
"possibleErrors": [PossibleErrorType],
"repaymentRequest": CancelRepaymentRequestOutputType
}
}
}
cancelSmartFlexOnboarding
Type:CancelSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Cancel onboarding of a device with SmartFlex.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation CancelSmartFlexOnboarding($input: CancelSmartFlexOnboardingInput!) {
cancelSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": CancelSmartFlexOnboardingInput
}
Response
{
"data": {
"cancelSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
claimOctoplusReward
Type:ClaimOctoplusReward
URL:https://api.octopus.energy/v1/graphql/
Claim an Octoplus Reward.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
- KT-GB-9313: Not enough Octopoints.
- KT-GB-9314: Reward could not be processed.
- KT-GB-9315: Reward of this type unavailable.
- KT-GB-9316: Account is not Octoplus-enrolled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| The account number for the Octoplus-enrolled account. |
| The unique string identifier for the offer to be claimed. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The ID of the claimed reward. |
Mutation
mutation ClaimOctoplusReward(
$accountNumber: String!,
$offerSlug: String!
) {
claimOctoplusReward(
accountNumber: $accountNumber,
offerSlug: $offerSlug
) {
possibleErrors {
...PossibleErrorTypeFragment
}
rewardId
}
}
Variables
{
"accountNumber": "abc123",
"offerSlug": "abc123"
}
Response
{
"data": {
"claimOctoplusReward": {
"possibleErrors": [PossibleErrorType],
"rewardId": "abc123"
}
}
}
claimShoptopusVoucher
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 |
---|---|
| The account number for the Octoplus-enrolled account. |
| The number of Octopoints to exchange for a reward. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The Reward Voucher code. |
Mutation
mutation ClaimShoptopusVoucher(
$accountNumber: String!,
$points: Int!
) {
claimShoptopusVoucher(
accountNumber: $accountNumber,
points: $points
) {
possibleErrors {
...PossibleErrorTypeFragment
}
code
}
}
Variables
{
"accountNumber": "abc123",
"points": 1
}
Response
{
"data": {
"claimShoptopusVoucher": {
"possibleErrors": [PossibleErrorType],
"code": "abc123"
}
}
}
collectPayment
Type:CollectPayment
URL:https://api.octopus.energy/v1/graphql/
Attempt to collect a one-off payment. If an instruction type is provided and there is an existing payment instruction, the payment can be collected immediately. A request to collect a payment at a future date can also be made, in which case the instruction input type is not necessary, but an instruction must exist at the specified collection date for the payment to be collected successfully.
The possible errors that can be raised are:
- KT-CT-3932: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for collecting a payment. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Details about the collected payment. Note that we might not be able to collect the payment (e.g. if there is no usable payment instruction), in which case the status of the returned payment might be failed or cancelled. |
Mutation
mutation CollectPayment($input: CollectPaymentInput!) {
collectPayment(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
payment {
...AccountPaymentTypeFragment
}
}
}
Variables
{
"input": CollectPaymentInput
}
Response
{
"data": {
"collectPayment": {
"possibleErrors": [PossibleErrorType],
"payment": AccountPaymentType
}
}
}
completeAuthFlowForSmartFlexOnboarding
Type:CompleteAuthFlowForSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Complete the authentication flow to proceed in the onboarding journey.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
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-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding($input: CompleteSmartFlexOnboardingStepInput!) {
completeTeslaSetupVirtualKeyForSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": CompleteSmartFlexOnboardingStepInput
}
Response
{
"data": {
"completeTeslaSetupVirtualKeyForSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
Mutation
mutation CreateAccountFileAttachment($input: CreateAccountFileAttachmentInput!) {
createAccountFileAttachment(input: $input) {
postRequest {
...UploadPostRequestFragment
}
clientMutationId
}
}
Variables
{
"input": CreateAccountFileAttachmentInput
}
Response
{
"data": {
"createAccountFileAttachment": {
"postRequest": UploadPostRequest,
"clientMutationId": "abc123"
}
}
}
createAccountPaymentSchedule
Type:CreateAccountPaymentSchedule
URL:https://api.octopus.energy/v1/graphql/
Replace an existing payment schedule with a new one that updates either the payment amount or payment day.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-3815: No active payment schedule found for this account.
- KT-CT-3822: Unauthorized.
- KT-CT-3923: Unauthorized.
- KT-CT-3941: Invalid data.
- KT-CT-3942: An unexpected error occurred.
- KT-CT-3947: An unexpected error occurred.
- KT-CT-3960: Invalid value for payment day.
- KT-CT-3961: Cannot update plan-associated payment schedule.
- KT-CT-3962: No new value provided to update payment schedule.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for updating a payment schedule. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| New payment schedule. |
Mutation
mutation CreateAccountPaymentSchedule($input: CreateAccountPaymentScheduleInput!) {
createAccountPaymentSchedule(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
schedule {
...PaymentScheduleTypeFragment
}
}
}
Variables
{
"input": CreateAccountPaymentScheduleInput
}
Response
{
"data": {
"createAccountPaymentSchedule": {
"possibleErrors": [PossibleErrorType],
"schedule": PaymentScheduleType
}
}
}
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 fields for creating an account reference. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation CreateAccountReference($input: AccountReferenceInput!) {
createAccountReference(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
accountReference {
...AccountReferenceTypeFragment
}
}
}
Variables
{
"input": AccountReferenceInput
}
Response
{
"data": {
"createAccountReference": {
"possibleErrors": [PossibleErrorType],
"accountReference": AccountReferenceType
}
}
}
createAcquisitionQuoteRequestForProducts
Type:CreateAcquisitionQuoteRequestForProducts
URL:https://api.octopus.energy/v1/graphql/
Create an acquisition quote request for requested products without persisting to the database.
The possible errors that can be raised are:
- KT-GB-4625: Unable to create quote request.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Returns a quote request for the requested product codes. Does not persist the quote. |
Mutation
mutation CreateAcquisitionQuoteRequestForProducts($input: CreateAcquisitionQuoteRequestForProductsInput!) {
createAcquisitionQuoteRequestForProducts(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
quoteRequest {
...QuoteRequestBaseFragment
}
}
}
Variables
{
"input": CreateAcquisitionQuoteRequestForProductsInput
}
Response
{
"data": {
"createAcquisitionQuoteRequestForProducts": {
"possibleErrors": [PossibleErrorType],
"quoteRequest": QuoteRequestBase
}
}
}
createAutoTopupConfig
URL:https://api.octopus.energy/v1/graphql/
Create a new auto top-up config for SPAYG meter.
Arguments
Name | Description |
---|---|
| Input fields for creating an auto top-up config. |
Return fields
Name | Description |
---|---|
| The created auto top-up config. |
Mutation
mutation CreateAutoTopupConfig($input: CreateAutoTopupConfigInput!) {
createAutoTopupConfig(input: $input) {
autoTopupConfig {
...AutoTopupConfigTypeFragment
}
}
}
Variables
{
"input": CreateAutoTopupConfigInput
}
Response
{
"data": {
"createAutoTopupConfig": {
"autoTopupConfig": AutoTopupConfigType
}
}
}
createContributionAgreement
Type:CreateContributionAgreement
URL:https://api.octopus.energy/v1/graphql/
Create a contribution agreement for an account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-9601: Invalid data.
- KT-CT-9602: Unable to create contribution agreement.
- KT-CT-9605: Contribution amount cannot be 0 or negative.
- KT-CT-9606: Scheme is not accepting contributions at this time.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input variables needed for creating a contribution agreement on an account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The created contribution agreement. |
Mutation
mutation CreateContributionAgreement($input: CreateContributionAgreementInput!) {
createContributionAgreement(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
contributionAgreement {
...ContributionAgreementTypeFragment
}
}
}
Variables
{
"input": CreateContributionAgreementInput
}
Response
{
"data": {
"createContributionAgreement": {
"possibleErrors": [PossibleErrorType],
"contributionAgreement": ContributionAgreementType
}
}
}
createDirectDebitInstruction
Type:CreateDirectDebitInstruction
URL:https://api.octopus.energy/v1/graphql/
Create new direct debit instruction
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-CT-3940: Invalid data.
- KT-CT-3923: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for creating a new direct debit instruction. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation CreateDirectDebitInstruction($input: CreateDirectDebitInstructionInput!) {
createDirectDebitInstruction(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
directDebitInstruction {
...DirectDebitInstructionTypeFragment
}
}
}
Variables
{
"input": CreateDirectDebitInstructionInput
}
Response
{
"data": {
"createDirectDebitInstruction": {
"possibleErrors": [PossibleErrorType],
"directDebitInstruction": DirectDebitInstructionType
}
}
}
createElectricityMeterReading
Type:CreateMeterReadingOutputType
URL:https://api.octopus.energy/v1/graphql/
Create electricity meter reading(s) with the given value(s) for the given meter(s).
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
| |
| |
| |
|
Return fields
Name | Description |
---|---|
| |
| Deprecated The 'id' field is deprecated. |
Mutation
mutation CreateElectricityMeterReading(
$mpan: String,
$readAt: Date,
$readings: [ReadingInputType],
$serialNumber: String
) {
createElectricityMeterReading(
mpan: $mpan,
readAt: $readAt,
readings: $readings,
serialNumber: $serialNumber
) {
readingErrors {
...SerializerFieldErrorsTypeFragment
}
id
}
}
Variables
{
"mpan": "abc123",
"readAt": "2020-01-01",
"readings": ReadingInputType,
"serialNumber": "abc123"
}
Response
{
"data": {
"createElectricityMeterReading": {
"readingErrors": [SerializerFieldErrorsType],
"id": "abc123"
}
}
}
createFormSubmission
Type:FormSubmissionOuput
URL:https://api.octopus.energy/v1/graphql/
Create a "form submission" entity. This is only meant to be used as a quick way of putting together a form and submit data for it, in the form of JSON - it is not expected that all form submissions will come through this path.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
|
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.
Return fields
Name | Description |
---|---|
| |
| Deprecated The 'id' field is deprecated. |
Mutation
mutation CreateGasMeterReading(
$mprn: String,
$readAt: Date,
$reading: Int,
$serialNumber: String
) {
createGasMeterReading(
mprn: $mprn,
readAt: $readAt,
reading: $reading,
serialNumber: $serialNumber
) {
readingErrors {
...SerializerFieldErrorsTypeFragment
}
id
}
}
Variables
{
"mprn": "abc123",
"readAt": "2020-01-01",
"reading": 1,
"serialNumber": "abc123"
}
Response
{
"data": {
"createGasMeterReading": {
"readingErrors": [SerializerFieldErrorsType],
"id": "abc123"
}
}
}
createGoodsPurchase
Type:CreateGoodsPurchase
URL:https://api.octopus.energy/v1/graphql/
Create a goods purchase.
The possible errors that can be raised are:
- KT-CT-8206: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for creating a purchase without a quote. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Goods purchase created. |
Mutation
mutation CreateGoodsPurchase($input: CreatePurchaseInput!) {
createGoodsPurchase(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
goodsPurchase {
...GoodsPurchaseFragment
}
}
}
Variables
{
"input": CreatePurchaseInput
}
Response
{
"data": {
"createGoodsPurchase": {
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}
}
}
createGoodsQuote
Type:CreateGoodsQuote
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-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for creating a goods quote. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Goods quote created for the customer. |
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 fields for creating a goods quote without an existing account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Goods quote created for the customer. |
Mutation
mutation CreateGoodsQuoteWithoutAccount($input: CreateGoodsQuoteWithoutAccountInput!) {
createGoodsQuoteWithoutAccount(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
goodsQuote {
...GoodsQuoteFragment
}
}
}
Variables
{
"input": CreateGoodsQuoteWithoutAccountInput
}
Response
{
"data": {
"createGoodsQuoteWithoutAccount": {
"possibleErrors": [PossibleErrorType],
"goodsQuote": GoodsQuote
}
}
}
createHeatPumpGoodsQuote
URL:https://api.octopus.energy/v1/graphql/
Create a new heat pump goods quote.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Generated heat pump quote. |
Mutation
mutation CreateHeatPumpGoodsQuote($input: CreateHeatPumpGoodsQuoteInput) {
createHeatPumpGoodsQuote(input: $input) {
quote {
...HeatPumpGoodsQuoteFragment
}
}
}
Variables
{
"input": CreateHeatPumpGoodsQuoteInput
}
Response
{
"data": {
"createHeatPumpGoodsQuote": {
"quote": HeatPumpGoodsQuote
}
}
}
createInkChatbotMessage
Type:CreateInkChatbotMessagePayload
URL:https://api.octopus.energy/v1/graphql/
Register an Ink message from OEGB chatbot. This mutation has been created specifically designed for the MVP It can be removed once a better implementation is found
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| The Ink message that was created. |
|
Mutation
mutation CreateInkChatbotMessage($input: CreateInkChatbotMessageInput!) {
createInkChatbotMessage(input: $input) {
message {
... on InkEmail {
...InkEmailFragment
}
... on InkSMS {
...InkSMSFragment
}
... on InkLine {
...InkLineFragment
}
... on InkWhatsApp {
...InkWhatsAppFragment
}
... on InkPost {
...InkPostFragment
}
... on InkGenericMessage {
...InkGenericMessageFragment
}
}
clientMutationId
}
}
Variables
{
"input": CreateInkChatbotMessageInput
}
Response
{
"data": {
"createInkChatbotMessage": {
"message": InkEmail,
"clientMutationId": "abc123"
}
}
}
createOctoplusRewardContactLink
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 |
---|---|
| The account number for the Octoplus-enrolled account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The URL of the customer contact form link. |
Mutation
mutation CreateOctoplusRewardContactLink($accountNumber: String!) {
createOctoplusRewardContactLink(accountNumber: $accountNumber) {
possibleErrors {
...PossibleErrorTypeFragment
}
url
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"createOctoplusRewardContactLink": {
"possibleErrors": [PossibleErrorType],
"url": "abc123"
}
}
}
createPaymentSchedule
URL:https://api.octopus.energy/v1/graphql/
Create a monthly payment schedule for a fixed amount.
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-GB-3917: No statement in last 60 days.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation CreatePaymentSchedule($input: PaymentScheduleInput!) {
createPaymentSchedule(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
paymentSchedule {
...PaymentScheduleTypeFragment
}
}
}
Variables
{
"input": PaymentScheduleInput
}
Response
{
"data": {
"createPaymentSchedule": {
"possibleErrors": [PossibleErrorType],
"paymentSchedule": PaymentScheduleType
}
}
}
createQuote
URL:https://api.octopus.energy/v1/graphql/
Create a quote for the given set of meter points for the supplied consumption.
Arguments
Name | Description |
---|---|
|
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
}
}
}
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 |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Returns a quote request for the requested product codes. Does not persist the quote. |
Mutation
mutation CreateQuoteRequestForProducts($input: CreateQuoteRequestForProductsInput!) {
createQuoteRequestForProducts(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
quoteRequest {
...QuoteRequestBaseFragment
}
}
}
Variables
{
"input": CreateQuoteRequestForProductsInput
}
Response
{
"data": {
"createQuoteRequestForProducts": {
"possibleErrors": [PossibleErrorType],
"quoteRequest": QuoteRequestBase
}
}
}
createReferral
Type:CreateReferral
URL:https://api.octopus.energy/v1/graphql/
Create a referral using an email address, personal link or code.
The possible errors that can be raised are:
- KT-CT-6723: Unauthorized.
- KT-CT-6710: Unable to create referral.
- KT-CT-6711: Accounts may not self-refer.
- KT-CT-6713: Referring and referred account brands do not match.
- KT-CT-6712: Invalid reference.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for creating a referral. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The reward amount to be issued to the referred account, in smallest currency subunits. |
Mutation
mutation CreateReferral($input: CreateReferralInput!) {
createReferral(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
referredAccountRewardAmount
}
}
Variables
{
"input": CreateReferralInput
}
Response
{
"data": {
"createReferral": {
"possibleErrors": [PossibleErrorType],
"referredAccountRewardAmount": 1
}
}
}
createRefundRequest
Type:CreateRefundRequest
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 fields for creating a refund request. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation CreateRefundRequest($input: RefundRequestInput!) {
createRefundRequest(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
refundRequest {
...RefundRequestTypeFragment
}
}
}
Variables
{
"input": RefundRequestInput
}
Response
{
"data": {
"createRefundRequest": {
"possibleErrors": [PossibleErrorType],
"refundRequest": RefundRequestType
}
}
}
createRenewalQuoteRequest
Type:CreateRenewalQuoteRequest
URL:https://api.octopus.energy/v1/graphql/
Create a renewal quote request.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
|
Mutation
mutation CreateRenewalQuoteRequest($input: CreateRenewalQuoteRequestInput!) {
createRenewalQuoteRequest(input: $input) {
quoteRequest {
...QuoteRequestFragment
}
}
}
Variables
{
"input": CreateRenewalQuoteRequestInput
}
Response
{
"data": {
"createRenewalQuoteRequest": {
"quoteRequest": QuoteRequest
}
}
}
createSnap
Type:CreateSnap
URL:https://api.octopus.energy/v1/graphql/
Creates a new Snap for the given account.
The possible errors that can be raised are:
- KT-GB-9316: Account is not Octoplus-enrolled.
- KT-GB-9325: Invalid constantine slug.
- KT-GB-9326: Invalid spawn ID.
- KT-GB-9319: This feature is not currently available.
- KT-GB-9327: Snap failed to create.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number to attach the snap to. |
| The unique identifier for the constantine. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Returns true if snap was successfully created. |
Mutation
mutation CreateSnap(
$accountNumber: String!,
$spawnId: String!
) {
createSnap(
accountNumber: $accountNumber,
spawnId: $spawnId
) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"accountNumber": "abc123",
"spawnId": "abc123"
}
Response
{
"data": {
"createSnap": {
"possibleErrors": [PossibleErrorType],
"success": true
}
}
}
createTempProvisioningClaim
URL:https://api.octopus.energy/v1/graphql/
Create a temporary provisioning cert in krakenflex
Return fields
Name | Description |
---|---|
| The temporary provisioning certification. |
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 |
---|---|
| |
|
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-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation DeauthenticateDevice($input: DeAuthenticationInput) {
deauthenticateDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...DeviceDetailsTypeFragment
}
}
}
Variables
{
"input": DeAuthenticationInput
}
Response
{
"data": {
"deauthenticateDevice": {
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": DeviceDetailsType
}
}
}
deleteBoostCharge
Type:DeleteBoostCharge
URL:https://api.octopus.energy/v1/graphql/
Stop any active boost charging.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4354: Unable to cancel boost charge.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
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 fields for deleting a push notification binding. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation DeletePushNotificationBinding($input: DeletePushNotificationBindingInput!) {
deletePushNotificationBinding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
status
}
}
Variables
{
"input": DeletePushNotificationBindingInput
}
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The message to display to the user upon successful device de-provisioning. |
Mutation
mutation DeprovisionHeatingController(
$accountNumber: String!,
$euid: ID!
) {
deprovisionHeatingController(
accountNumber: $accountNumber,
euid: $euid
) {
possibleErrors {
...PossibleErrorTypeFragment
}
message
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123"
}
Response
{
"data": {
"deprovisionHeatingController": {
"possibleErrors": [PossibleErrorType],
"message": "abc123"
}
}
}
deviceRegistration
Type:DeviceRegistration
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Device ID(s) of the registered device(s). |
Mutation
mutation DeviceRegistration($input: DeviceRegistrationInput) {
deviceRegistration(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
registeredDeviceIds
}
}
Variables
{
"input": DeviceRegistrationInput
}
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 |
---|---|
Return fields
Name | Description |
---|---|
| |
|
Mutation
mutation DirectDebitPaymentDayUpdate($input: DirectDebitPaymentDayUpdateInput!) {
directDebitPaymentDayUpdate(input: $input) {
paymentSchedule {
...PaymentScheduleTypeFragment
}
errors {
...ErrorTypeFragment
}
}
}
Variables
{
"input": DirectDebitPaymentDayUpdateInput
}
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 fields for disabling auto top-up. |
Return fields
Name | Description |
---|---|
| Boolean indicating if the auto top-up was successfully disabled. |
Mutation
mutation DisableAutoTopup($input: DisableAutoTopupInput!) {
disableAutoTopup(input: $input) {
success
}
}
Variables
{
"input": DisableAutoTopupInput
}
Response
{
"data": {
"disableAutoTopup": {
"success": true
}
}
}
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 variables needed for ending a contribution agreement on an account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The created contribution agreement. |
Mutation
mutation EndContributionAgreement($input: EndContributionAgreementInput!) {
endContributionAgreement(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
contributionAgreement {
...ContributionAgreementTypeFragment
}
}
}
Variables
{
"input": EndContributionAgreementInput
}
Response
{
"data": {
"endContributionAgreement": {
"possibleErrors": [PossibleErrorType],
"contributionAgreement": ContributionAgreementType
}
}
}
fitAcceptSchedule
Type:FitAcceptSchedule
URL:https://api.octopus.energy/v1/graphql/
Accept a FIT schedule for a particular account.
The possible errors that can be raised are:
- KT-GB-6813: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The accepted schedule. |
Mutation
mutation FitAcceptSchedule($input: FitAcceptScheduleInput!) {
fitAcceptSchedule(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
fitSchedule {
...FitScheduleTypeFragment
}
}
}
Variables
{
"input": FitAcceptScheduleInput
}
Response
{
"data": {
"fitAcceptSchedule": {
"possibleErrors": [PossibleErrorType],
"fitSchedule": FitScheduleType
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation FitCreateMeterReadings($input: FitMeterReadingInput!) {
fitCreateMeterReadings(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
readingsSubmitted
}
}
Variables
{
"input": FitMeterReadingInput
}
Response
{
"data": {
"fitCreateMeterReadings": {
"possibleErrors": [PossibleErrorType],
"readingsSubmitted": true
}
}
}
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 object argument to the force-reauthentication mutation. |
Return fields
Name | Description |
---|---|
| Reports whether the mutation applied successfully. Should always be 'true'. |
| The time at which forced reauthentication is effective. Kraken and refresh tokens issued before this time will be invalid. |
Mutation
mutation ForceReauthentication($input: ForceReauthenticationInput!) {
forceReauthentication(input: $input) {
tokensInvalidated
effectiveAt
}
}
Variables
{
"input": ForceReauthenticationInput
}
Response
{
"data": {
"forceReauthentication": {
"tokensInvalidated": true,
"effectiveAt": "2020-01-01T00:00:00.000Z"
}
}
}
generatePaymentAllocationNumber
Type:GeneratePaymentAllocationNumber
URL:https://api.octopus.energy/v1/graphql/
Generate PAN for a smart prepay meter
The possible errors that can be raised are:
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Identifies the meter to generate a PAN for. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The Payment Allocation Number routes payments made via a PSP (Payment Service Provider) to this device. |
Mutation
mutation GeneratePaymentAllocationNumber($input: SmartMeterDeviceInput!) {
generatePaymentAllocationNumber(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
pan
}
}
Variables
{
"input": SmartMeterDeviceInput
}
Response
{
"data": {
"generatePaymentAllocationNumber": {
"possibleErrors": [PossibleErrorType],
"pan": "abc123"
}
}
}
getEmbeddedSecretForNewPaymentInstruction
Type:GetEmbeddedSecretForNewPaymentInstruction
URL:https://api.octopus.energy/v1/graphql/
Get the client secret needed to create a new payment instruction using an embedded form.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for getting the client secret for an embedded new card payment method form. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation GetEmbeddedSecretForNewPaymentInstruction($input: GetEmbeddedSecretForNewPaymentInstructionInput!) {
getEmbeddedSecretForNewPaymentInstruction(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
secretKey
}
}
Variables
{
"input": GetEmbeddedSecretForNewPaymentInstructionInput
}
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 fields for getting the client secret for an embedded new card payment method form. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The client secret needed to create a new stored payment instruction. |
Mutation
mutation GetEmbeddedSecretForNewPaymentInstructionWithoutAccount($input: GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput!) {
getEmbeddedSecretForNewPaymentInstructionWithoutAccount(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
secretKey
}
}
Variables
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 fields for getting the external URL for setting up a payment instruction. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| URL at which payment instruction can be set up. |
Mutation
mutation GetHostedUrlForNewPaymentInstruction($input: GetHostedUrlForNewPaymentInstructionInput!) {
getHostedUrlForNewPaymentInstruction(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
url
}
}
Variables
{
"input": GetHostedUrlForNewPaymentInstructionInput
}
Response
{
"data": {
"getHostedUrlForNewPaymentInstruction": {
"possibleErrors": [PossibleErrorType],
"url": "abc123"
}
}
}
initiateHostedStandalonePayment
Type:InitiateHostedStandalonePayment
URL:https://api.octopus.energy/v1/graphql/
Initiate a standalone payment and return the url where the customer can complete it.
The possible errors that can be raised are:
- KT-CT-1128: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-3943: Invalid ledger.
- KT-CT-3957: No collection method provided.
- KT-CT-3958: Provide either ledger ID or ledger number.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for initiating a standalone payment. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The details required to refer to and complete a hosted payment. |
Mutation
mutation InitiateHostedStandalonePayment($input: InitiateHostedStandalonePaymentInput!) {
initiateHostedStandalonePayment(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
payment {
...InitiateHostedStandalonePaymentOutputFragment
}
}
}
Variables
{
"input": InitiateHostedStandalonePaymentInput
}
Response
{
"data": {
"initiateHostedStandalonePayment": {
"possibleErrors": [PossibleErrorType],
"payment": InitiateHostedStandalonePaymentOutput
}
}
}
initiateProductSwitch
URL:https://api.octopus.energy/v1/graphql/
Do a product switch for a user.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4619: Quote with given code not found.
- KT-CT-4624: Unable to accept the given product code.
- KT-CT-4626: No product selected for the given quote code.
- KT-CT-4719: No supply point found for identifier provided.
- KT-CT-4922: Unauthorized.
- KT-CT-1507: Agreement product switch date is not within the acceptable range.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Instigate a product switch for a specific supply point given a valid product and account number. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The selected product for a specific product switch. |
| The date at which the product switch becomes effective. |
Mutation
mutation InitiateProductSwitch($input: InitiateProductSwitchInput!) {
initiateProductSwitch(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
productCode
switchDate
}
}
Variables
{
"input": InitiateProductSwitchInput
}
Response
{
"data": {
"initiateProductSwitch": {
"possibleErrors": [PossibleErrorType],
"productCode": "abc123",
"switchDate": "2020-01-01"
}
}
}
initiateStandalonePayment
Type:InitiateStandalonePayment
URL:https://api.octopus.energy/v1/graphql/
Initiate a standalone payment and return the client secret required to complete it.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-3943: Invalid ledger.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for initiating a standalone payment. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation InitiateStandalonePayment($input: InitiateStandalonePaymentInput!) {
initiateStandalonePayment(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
payment {
...InitiateStandalonePaymentOutputFragment
}
}
}
Variables
{
"input": InitiateStandalonePaymentInput
}
Response
{
"data": {
"initiateStandalonePayment": {
"possibleErrors": [PossibleErrorType],
"payment": InitiateStandalonePaymentOutput
}
}
}
invalidatePaymentInstruction
Type:InvalidatePaymentInstruction
URL:https://api.octopus.energy/v1/graphql/
Invalidate an existing instruction.
The possible errors that can be raised are:
- KT-CT-3926: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for invalidating a payment instruction from an embedded form. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation InvalidatePaymentInstruction($input: InvalidatePaymentInstructionInput!) {
invalidatePaymentInstruction(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
instruction {
...InvalidatePaymentInstructionOutputFragment
}
}
}
Variables
{
"input": InvalidatePaymentInstructionInput
}
Response
{
"data": {
"invalidatePaymentInstruction": {
"possibleErrors": [PossibleErrorType],
"instruction": InvalidatePaymentInstructionOutput
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation InvalidatePreSignedToken($input: InvalidatePreSignedTokenInput!) {
invalidatePreSignedToken(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
token {
...PreSignedTokenFragment
}
}
}
Variables
{
"input": InvalidatePreSignedTokenInput
}
Response
{
"data": {
"invalidatePreSignedToken": {
"possibleErrors": [PossibleErrorType],
"token": PreSignedToken
}
}
}
joinConsumerDevice
Type:JoinConsumerDevice
URL:https://api.octopus.energy/v1/graphql/
Triggers the orchestration to join the PPMID, IHD, CAD or Alt HAN device to the ESME, GSME, GPF and/or CHF. This should be called after a meter has been commissioned.
The possible errors that can be raised are:
- KT-GB-4053: Fuel type should not be specified for Alt HAN device.
- KT-GB-4031: Error sending the request to join the device to the CHF.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for join device. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The reference of the join PPMID, IHD, CAD or Alt HAN request in Kraken. |
Mutation
mutation JoinConsumerDevice($input: JoinConsumerDeviceInput!) {
joinConsumerDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
requestReference
}
}
Variables
{
"input": JoinConsumerDeviceInput
}
Response
{
"data": {
"joinConsumerDevice": {
"possibleErrors": [PossibleErrorType],
"requestReference": "abc123"
}
}
}
joinOctoplusCampaign
Type:JoinOctoplusCampaign
URL:https://api.octopus.energy/v1/graphql/
Enrolls an account in the Octoplus campaign.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-GB-9310: Account ineligible for joining Octoplus.
- KT-GB-9311: Error joining campaign.
- KT-GB-9312: Account already signed up to Octoplus.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Kraken account number. |
| Options to enrol the account in Saving Sessions after joining Octoplus. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Returns mutation success. Deprecated, in favour of the outcome field. |
| Outcome of the Octoplus and Saving Sessions enrolment. |
Mutation
mutation JoinOctoplusCampaign(
$accountNumber: String,
$savingSessionsEnrolmentOptions: SavingSessionsEnrolmentOptions
) {
joinOctoplusCampaign(
accountNumber: $accountNumber,
savingSessionsEnrolmentOptions: $savingSessionsEnrolmentOptions
) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
outcome {
...EnrolmentOutcomeFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"savingSessionsEnrolmentOptions": SavingSessionsEnrolmentOptions
}
Response
{
"data": {
"joinOctoplusCampaign": {
"possibleErrors": [PossibleErrorType],
"success": true,
"outcome": EnrolmentOutcome
}
}
}
joinSavingSessionsCampaign
Type:JoinSavingSessionsCampaign
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 fields for joining the Saving Sessions campaign. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation JoinSavingSessionsCampaign($input: JoinSavingSessionsCampaignInput!) {
joinSavingSessionsCampaign(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...SavingSessionsAccountReturnTypeFragment
}
}
}
Variables
{
"input": JoinSavingSessionsCampaignInput
}
Response
{
"data": {
"joinSavingSessionsCampaign": {
"possibleErrors": [PossibleErrorType],
"account": SavingSessionsAccountReturnType
}
}
}
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 fields for joining a Saving Sessions event. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The event codes that the account has joined. |
Mutation
mutation JoinSavingSessionsEvent($input: JoinSavingSessionsEventInput!) {
joinSavingSessionsEvent(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
joinedEventCodes
}
}
Variables
{
"input": JoinSavingSessionsEventInput
}
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 |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Indicator that the mutation has completed successfully. |
Mutation
mutation JoinSupplierAcceptTermsAndConditions($input: JoinSupplierAcceptTermsAndConditionsInput!) {
joinSupplierAcceptTermsAndConditions(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"input": JoinSupplierAcceptTermsAndConditionsInput
}
Response
{
"data": {
"joinSupplierAcceptTermsAndConditions": {
"possibleErrors": [PossibleErrorType],
"success": true
}
}
}
linkUserToLine
URL:https://api.octopus.energy/v1/graphql/
Link an account user and line user together.
Arguments
Name | Description |
---|---|
| Input fields to link an account user with LINE. |
Return fields
Name | Description |
---|
Mutation
mutation LinkUserToLine($input: LinkUserToLineInput!) {
linkUserToLine(input: $input) {
... on LineLinkRedirectResponse {
...LineLinkRedirectResponseFragment
}
... on LinkTokenNotFound {
...LinkTokenNotFoundFragment
}
... on AlreadyLinkedError {
...AlreadyLinkedErrorFragment
}
}
}
Variables
{
"input": LinkUserToLineInput
}
Response
{
"data": {
"linkUserToLine": LineLinkRedirectResponse
}
}
masqueradeAuthentication
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 |
---|---|
| The masquerade token issued by the support site. |
| The ID of the AccountUser to masquerade as. |
Return fields
Name | Description |
---|---|
| A Kraken Token that can be used to authenticate to the API, masquerading as the desired user. |
| A list of any errors that occurred while running this mutation. |
Mutation
mutation MasqueradeAuthentication(
$masqueradeToken: String!,
$userId: String!
) {
masqueradeAuthentication(
masqueradeToken: $masqueradeToken,
userId: $userId
) {
token
errors {
...ErrorTypeFragment
}
}
}
Variables
{
"masqueradeToken": "abc123",
"userId": "abc123"
}
Response
{
"data": {
"masqueradeAuthentication": {
"token": "abc123",
"errors": [ErrorType]
}
}
}
obtainKrakenToken
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 fields that can be used to obtain a Json Web Token (JWT) for authentication to the API. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The Kraken Token. Can be used in the |
| The body payload of the Kraken Token. The same information can be obtained by using JWT decoding tools on the value of the |
| A token that can be used in a subsequent call to |
| A Unix timestamp representing the point in time at which the refresh token will expire. |
Mutation
mutation ObtainKrakenToken($input: ObtainJSONWebTokenInput!) {
obtainKrakenToken(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
token
payload
refreshToken
refreshExpiresIn
}
}
Variables
{
"input": ObtainJSONWebTokenInput
}
Response
{
"data": {
"obtainKrakenToken": {
"possibleErrors": [PossibleErrorType],
"token": "abc123",
"payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"refreshToken": "abc123",
"refreshExpiresIn": 1
}
}
}
occupy
Type:OccupyOutputType
URL:https://api.octopus.energy/v1/graphql/
Add details to an existing occupier account.
The possible errors that can be raised are:
- KT-GB-6622: Account not found.
- KT-GB-6623: Property not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation OcppAuthentication($input: OCPPAuthenticationInput) {
ocppAuthentication(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...KrakenFlexDeviceTypeFragment
}
}
}
Variables
{
"input": OCPPAuthenticationInput
}
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| A list of sensor codes and display names to set. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| A mapping of transaction ids for each sensor. |
Mutation
mutation OctoHeatPumpBulkUpdateSensorDisplayName(
$accountNumber: String!,
$euid: ID!,
$updates: [SensorDisplayNameUpdate]!
) {
octoHeatPumpBulkUpdateSensorDisplayName(
accountNumber: $accountNumber,
euid: $euid,
updates: $updates
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionIds {
...SensorUpdateTransactionIdFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"updates": SensorDisplayNameUpdate
}
Response
{
"data": {
"octoHeatPumpBulkUpdateSensorDisplayName": {
"possibleErrors": [PossibleErrorType],
"transactionIds": [SensorUpdateTransactionId]
}
}
}
octoHeatPumpDeprovisionHeatingController
Type:DeprovisionHeatingController
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The message to display to the user upon successful device de-provisioning. |
Mutation
mutation OctoHeatPumpDeprovisionHeatingController(
$accountNumber: String!,
$euid: ID!
) {
octoHeatPumpDeprovisionHeatingController(
accountNumber: $accountNumber,
euid: $euid
) {
possibleErrors {
...PossibleErrorTypeFragment
}
message
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123"
}
Response
{
"data": {
"octoHeatPumpDeprovisionHeatingController": {
"possibleErrors": [PossibleErrorType],
"message": "abc123"
}
}
}
octoHeatPumpRebootController
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The unique ID associated with this reboot operation. |
Mutation
mutation OctoHeatPumpRebootController(
$accountNumber: String!,
$euid: ID!
) {
octoHeatPumpRebootController(
accountNumber: $accountNumber,
euid: $euid
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123"
}
Response
{
"data": {
"octoHeatPumpRebootController": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpRemoveSensor
Type:RemoveSensor
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The sensor ID of heat pump controller's sensor to be removed. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with removing a sensor from a heat pump controller. |
Mutation
mutation OctoHeatPumpRemoveSensor(
$accountNumber: String!,
$euid: ID!,
$sensorId: String!
) {
octoHeatPumpRemoveSensor(
accountNumber: $accountNumber,
euid: $euid,
sensorId: $sensorId
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"sensorId": "abc123"
}
Response
{
"data": {
"octoHeatPumpRemoveSensor": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpRequestProvisioningClaimCertificate
Type:RequestProvisioningClaimCertificate
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 |
---|---|
| |
| The primary key of a property you would like to associate with this controller. |
| Parameters requested by the app from the controller, required for Kraken Flex to authenticate the device. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The certificate and private key required to create a provisioning claim. |
Mutation
mutation OctoHeatPumpRequestProvisioningClaimCertificate(
$accountNumber: String!,
$propertyId: ID,
$requestParameters: ProvisioningClaimRequestParameters!
) {
octoHeatPumpRequestProvisioningClaimCertificate(
accountNumber: $accountNumber,
propertyId: $propertyId,
requestParameters: $requestParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
provisioningClaimBundle {
...ProvisioningClaimBundleFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"requestParameters": ProvisioningClaimRequestParameters
}
Response
{
"data": {
"octoHeatPumpRequestProvisioningClaimCertificate": {
"possibleErrors": [PossibleErrorType],
"provisioningClaimBundle": ProvisioningClaimBundle
}
}
}
octoHeatPumpSetZoneMode
Type:SetZoneMode
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The parameters required to instruct a specific zone operation. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with a zone's mode operation. |
Mutation
mutation OctoHeatPumpSetZoneMode(
$accountNumber: String!,
$euid: ID!,
$operationParameters: SetZoneModeParameters!
) {
octoHeatPumpSetZoneMode(
accountNumber: $accountNumber,
euid: $euid,
operationParameters: $operationParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"operationParameters": SetZoneModeParameters
}
Response
{
"data": {
"octoHeatPumpSetZoneMode": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpSetZonePrimarySensor
Type:SetZonePrimarySensor
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The parameters required to set a new primary sensor for a zone. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The unique ID associated with this operation. |
Mutation
mutation OctoHeatPumpSetZonePrimarySensor(
$accountNumber: String!,
$euid: ID!,
$operationParameters: SetZonePrimarySensorParameters!
) {
octoHeatPumpSetZonePrimarySensor(
accountNumber: $accountNumber,
euid: $euid,
operationParameters: $operationParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"operationParameters": SetZonePrimarySensorParameters
}
Response
{
"data": {
"octoHeatPumpSetZonePrimarySensor": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpSetZoneSchedules
Type:SetZoneSchedules
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The parameters required to add schedule(s) for a specific zone. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with adding schedule(s) for a zone. |
Mutation
mutation OctoHeatPumpSetZoneSchedules(
$accountNumber: String!,
$euid: ID!,
$zoneScheduleParameters: SetZoneSchedulesParameters!
) {
octoHeatPumpSetZoneSchedules(
accountNumber: $accountNumber,
euid: $euid,
zoneScheduleParameters: $zoneScheduleParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"zoneScheduleParameters": SetZoneSchedulesParameters
}
Response
{
"data": {
"octoHeatPumpSetZoneSchedules": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpUpdateFlowTemperatureConfiguration
Type:UpdateFlowTemperatureConfiguration
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 |
---|---|
| The EUID of the heat pump controller. |
| Flow temperature configuration parameters. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with this operation. |
Mutation
mutation OctoHeatPumpUpdateFlowTemperatureConfiguration(
$euid: ID!,
$flowTemperatureInput: FlowTemperatureInput!
) {
octoHeatPumpUpdateFlowTemperatureConfiguration(
euid: $euid,
flowTemperatureInput: $flowTemperatureInput
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"euid": "abc123",
"flowTemperatureInput": FlowTemperatureInput
}
Response
{
"data": {
"octoHeatPumpUpdateFlowTemperatureConfiguration": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpUpdateSensorDisplayName
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 |
---|---|
| The account number. |
| The new display name. |
| The EUID of the heat pump controller. |
| The code of the sensor to rename (such as 'SENSOR01'). |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with updating a sensor attribute. |
Mutation
mutation OctoHeatPumpUpdateSensorDisplayName(
$accountNumber: String!,
$displayName: String!,
$euid: ID!,
$sensorCode: String!
) {
octoHeatPumpUpdateSensorDisplayName(
accountNumber: $accountNumber,
displayName: $displayName,
euid: $euid,
sensorCode: $sensorCode
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"displayName": "abc123",
"euid": "abc123",
"sensorCode": "abc123"
}
Response
{
"data": {
"octoHeatPumpUpdateSensorDisplayName": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
octoHeatPumpUpdateWaterSetpoint
Type:UpdateWaterSetpoint
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The temperature to set the water to. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with this operation. |
Mutation
mutation OctoHeatPumpUpdateWaterSetpoint(
$accountNumber: String!,
$euid: ID!,
$setpoint: Int!
) {
octoHeatPumpUpdateWaterSetpoint(
accountNumber: $accountNumber,
euid: $euid,
setpoint: $setpoint
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"setpoint": 1
}
Response
{
"data": {
"octoHeatPumpUpdateWaterSetpoint": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
orderBlanket
Type:OrderBlanket
URL:https://api.octopus.energy/v1/graphql/
Orders a blanket to be delivered to the account.
The possible errors that can be raised are:
- KT-GB-6013: Account is not eligible to order a blanket.
- KT-GB-6014: An error occurred placing the order.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number to send the blanket to. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Whether the blanket order was placed successfully. |
Mutation
mutation OrderBlanket($accountNumber: String) {
orderBlanket(accountNumber: $accountNumber) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"orderBlanket": {
"possibleErrors": [PossibleErrorType],
"success": true
}
}
}
performMoveOut
Type:PerformMoveOut
URL:https://api.octopus.energy/v1/graphql/
Perform a move out of a property for an account.
Optionally provide details of the new tenant and a property to perform a move in to.
The possible errors that can be raised are:
- KT-GB-6624: An error occurred when trying to process this house move.
- KT-GB-6625: An error occurred when trying to process this house move.
- KT-GB-6626: There was an error processing the PSR data.
- KT-GB-6627: There are missing agent appointments.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation PerformMoveOut($input: MoveOutInput!) {
performMoveOut(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...AccountInterfaceFragment
}
}
}
Variables
{
"input": MoveOutInput
}
Response
{
"data": {
"performMoveOut": {
"possibleErrors": [PossibleErrorType],
"account": AccountInterface
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The generated quote. |
Mutation
mutation QuoteAccountOnProducts($input: QuoteAccountOnProductsInput!) {
quoteAccountOnProducts(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
quoteRequest {
...QuoteRequestFragment
}
}
}
Variables
{
"input": QuoteAccountOnProductsInput
}
Response
{
"data": {
"quoteAccountOnProducts": {
"possibleErrors": [PossibleErrorType],
"quoteRequest": QuoteRequest
}
}
}
quoteCampaignOffer
Type:QuoteCampaignOffer
URL:https://api.octopus.energy/v1/graphql/
Create a quote for a campaign offer.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
|
Mutation
mutation QuoteCampaignOffer($input: QuoteCampaignOfferInput) {
quoteCampaignOffer(input: $input) {
quoteCode
}
}
Variables
{
"input": QuoteCampaignOfferInput
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| The generated quote. |
Mutation
mutation QuoteNewMeterPoints($input: QuoteNewMeterPointsInput!) {
quoteNewMeterPoints(input: $input) {
quoteRequest {
...QuoteRequestFragment
}
}
}
Variables
{
"input": QuoteNewMeterPointsInput
}
Response
{
"data": {
"quoteNewMeterPoints": {
"quoteRequest": QuoteRequest
}
}
}
reauthenticateDevice
Type:ReauthenticateDevice
URL:https://api.octopus.energy/v1/graphql/
Reauthenticate an already registered device.
The possible errors that can be raised are:
- KT-CT-4313: Could not find KrakenFlex device.
- KT-CT-4314: Unable to get provider details.
- KT-CT-4315: Unable to re-authenticate device.
- KT-CT-4363: No capable devices found.
- KT-CT-4364: Multiple devices found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation ReauthenticateDevice($input: ReauthenticateDeviceInput) {
reauthenticateDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...KrakenFlexDeviceTypeFragment
}
}
}
Variables
{
"input": ReauthenticateDeviceInput
}
Response
{
"data": {
"reauthenticateDevice": {
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}
}
}
redeemLoyaltyPointsForAccountCredit
Type:RedeemLoyaltyPointsForAccountCredit
URL:https://api.octopus.energy/v1/graphql/
Redeem the passed number of Loyalty Points as account credit.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-9201: No Loyalty Point ledger found for the user.
- KT-CT-9202: Loyalty Points adapter not configured.
- KT-CT-9203: No ledger entries for the ledger.
- KT-CT-9205: Insufficient Loyalty Points.
- KT-CT-9206: Indivisible points.
- KT-CT-9204: Negative or zero points set.
- KT-CT-9208: Invalid posted at datetime.
- KT-CT-9209: Negative Loyalty Points balance.
- KT-CT-9210: Unhandled Loyalty Points exception.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Input fields for redeeming Loyalty Points. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The number of OctoPoints that were redeemed. |
Mutation
mutation RedeemLoyaltyPointsForAccountCredit($input: RedeemLoyaltyPointsInput!) {
redeemLoyaltyPointsForAccountCredit(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
pointsRedeemed
}
}
Variables
{
"input": RedeemLoyaltyPointsInput
}
Response
{
"data": {
"redeemLoyaltyPointsForAccountCredit": {
"possibleErrors": [PossibleErrorType],
"pointsRedeemed": 1
}
}
}
redeemOctoPointsForAccountCredit
Type:RedeemOctoPointsForAccountCredit
URL:https://api.octopus.energy/v1/graphql/
Redeem the maximum possible number of OctoPoints as account credit
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-GB-5011: Not enough OctoPoints for redemption.
- KT-GB-5010: Error redeeming OctoPoints.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for redeeming OctoPoints. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The number of OctoPoints that were redeemed. |
| The number of OctoPoints remaining in the wallet. |
Mutation
mutation RedeemOctoPointsForAccountCredit($input: RedeemOctoPointsInput!) {
redeemOctoPointsForAccountCredit(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
pointsRedeemed
remainingPointsInWallet
}
}
Variables
{
"input": RedeemOctoPointsInput
}
Response
{
"data": {
"redeemOctoPointsForAccountCredit": {
"possibleErrors": [PossibleErrorType],
"pointsRedeemed": 1,
"remainingPointsInWallet": 1
}
}
}
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 fields for redeeming referral code. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Whether or not the request was successful. |
Mutation
mutation RedeemReferralClaimCode($input: RedeemReferralClaimCodeInput!) {
redeemReferralClaimCode(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"input": RedeemReferralClaimCodeInput
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation RefreshQuote($input: RefreshQuoteInput!) {
refreshQuote(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
quote {
...QuoteTypeFragment
}
}
}
Variables
{
"input": RefreshQuoteInput
}
Response
{
"data": {
"refreshQuote": {
"possibleErrors": [PossibleErrorType],
"quote": QuoteType
}
}
}
regenerateSecretKey
Type:RegenerateSecretKey
URL:https://api.octopus.energy/v1/graphql/
Regenerate the live secret key for the authenticated user.
Return fields
Name | Description |
---|---|
| The currently authenticated user. This field requires the |
Mutation
mutation RegenerateSecretKey {
regenerateSecretKey {
viewer {
...AccountUserTypeFragment
}
}
}
Response
{
"data": {
"regenerateSecretKey": {
"viewer": AccountUserType
}
}
}
registerPushNotificationBinding
Type:RegisterPushNotificationBinding
URL:https://api.octopus.energy/v1/graphql/
Register a device token to be used for push notifications for an app.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
Input fields for creating an push notification binding. |
Return fields
Name | Description |
---|---|
|
Mutation
mutation RegisterPushNotificationBinding($input: RegisterPushNotificationBindingInput!) {
registerPushNotificationBinding(input: $input) {
pushNotificationBinding {
...PushNotificationBindingTypeFragment
}
}
}
Variables
{
"input": RegisterPushNotificationBindingInput
}
Response
{
"data": {
"registerPushNotificationBinding": {
"pushNotificationBinding": PushNotificationBindingType
}
}
}
removeConsumerDevice
Type:RemoveConsumerDevice
URL:https://api.octopus.energy/v1/graphql/
Triggers the orchestration to remove the CAD device to the ESME, GSME, GPF and CHF.
The possible errors that can be raised are:
- KT-GB-4012: Unable to find the CAD device.
- KT-GB-4032: Error sending the request to remove the device.
- KT-GB-4013: Received invalid device type to remove other than CAD.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for remove device. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The reference of the remove consumer device request in Kraken. |
Mutation
mutation RemoveConsumerDevice($input: RemoveConsumerDeviceInput!) {
removeConsumerDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
requestReference
}
}
Variables
{
"input": RemoveConsumerDeviceInput
}
Response
{
"data": {
"removeConsumerDevice": {
"possibleErrors": [PossibleErrorType],
"requestReference": "abc123"
}
}
}
removeSensor
Type:RemoveSensor
URL:https://api.octopus.energy/v1/graphql/
Remove a sensor from a heating controller device.
The possible errors that can be raised are:
- KT-CT-4309: Error trying to remove sensor from heat pump controller.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The sensor ID of heat pump controller's sensor to be removed. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with removing a sensor from a heat pump controller. |
Mutation
mutation RemoveSensor(
$accountNumber: String!,
$euid: ID!,
$sensorId: String!
) {
removeSensor(
accountNumber: $accountNumber,
euid: $euid,
sensorId: $sensorId
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"sensorId": "abc123"
}
Response
{
"data": {
"removeSensor": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
renewAgreements
Type:RenewAgreements
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation RenewAgreementsForAccount($input: RenewAgreementsForAccountInput) {
renewAgreementsForAccount(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...AccountTypeFragment
}
}
}
Variables
{
"input": RenewAgreementsForAccountInput
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
|
Mutation
mutation ReplaceAgreement($input: ReplaceAgreementInput) {
replaceAgreement(input: $input) {
account {
...AccountInterfaceFragment
}
}
}
Variables
{
"input": ReplaceAgreementInput
}
Response
{
"data": {
"replaceAgreement": {
"account": AccountInterface
}
}
}
requestConsumptionData
URL:https://api.octopus.energy/v1/graphql/
Request an ad hoc read of the meters consumption data, which will arrive asynchronously
The possible errors that can be raised are:
- KT-GB-4033: No electricity device found matching device ID.
- KT-GB-4034: Error requesting consumption data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Input fields for requesting consumption data. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The reference for the associated request in Kraken. |
Mutation
mutation RequestConsumptionData($input: RequestConsumptionDataInput!) {
requestConsumptionData(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
requestReference
}
}
Variables
{
"input": RequestConsumptionDataInput
}
Response
{
"data": {
"requestConsumptionData": {
"possibleErrors": [PossibleErrorType],
"requestReference": "abc123"
}
}
}
requestPasswordReset
Type:RequestPasswordResetOutputType
URL:https://api.octopus.energy/v1/graphql/
Provide the email address of an account user to send them an email with instructions on how to reset their password.
The possible errors that can be raised are:
- KT-CT-1133: Unable to request password reset email.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Input fields for requesting a password reset email. |
Return fields
Name | Description |
---|---|
| The email that requested a password reset email. |
Mutation
mutation RequestPasswordReset($input: RequestPasswordResetInput!) {
requestPasswordReset(input: $input) {
email
}
}
Variables
{
"input": RequestPasswordResetInput
}
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 fields to request a printed bill. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Whether the request was successful. |
Mutation
mutation RequestPrintedBill($input: RequestPrintedBillInput!) {
requestPrintedBill(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"input": RequestPrintedBillInput
}
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 |
---|---|
| |
| The primary key of a property you would like to associate with this controller. |
| Parameters requested by the app from the controller, required for Kraken Flex to authenticate the device. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The certificate and private key required to create a provisioning claim. |
Mutation
mutation RequestProvisioningClaimCertificate(
$accountNumber: String!,
$propertyId: ID,
$requestParameters: ProvisioningClaimRequestParameters!
) {
requestProvisioningClaimCertificate(
accountNumber: $accountNumber,
propertyId: $propertyId,
requestParameters: $requestParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
provisioningClaimBundle {
...ProvisioningClaimBundleFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"requestParameters": ProvisioningClaimRequestParameters
}
Response
{
"data": {
"requestProvisioningClaimCertificate": {
"possibleErrors": [PossibleErrorType],
"provisioningClaimBundle": ProvisioningClaimBundle
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| |
|
Mutation
mutation ResetPassword($input: ResetPasswordMutationInput!) {
resetPassword(input: $input) {
errors {
...SerializerFieldErrorsTypeFragment
}
clientMutationId
}
}
Variables
{
"input": ResetPasswordMutationInput
}
Response
{
"data": {
"resetPassword": {
"errors": [SerializerFieldErrorsType],
"clientMutationId": "abc123"
}
}
}
resetUserPassword
URL:https://api.octopus.energy/v1/graphql/
Reset the password of an account user.
The possible errors that can be raised are:
- KT-CT-4125: Unauthorized.
- KT-CT-1132: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Input fields for resetting an account user's password. |
Return fields
Name | Description |
---|---|
| True if the password update was successful, false otherwise. |
| A list of which password validations the new password failed against if applicable. |
Mutation
mutation ResetUserPassword($input: ResetUserPasswordInput!) {
resetUserPassword(input: $input) {
passwordUpdated
failureReasons
}
}
Variables
{
"input": ResetUserPasswordInput
}
Response
{
"data": {
"resetUserPassword": {
"passwordUpdated": true,
"failureReasons": ["abc123"]
}
}
}
resumeControl
Type:ResumeDeviceControl
URL:https://api.octopus.energy/v1/graphql/
Resume control of the device.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4359: Unable to resume device control.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation ResumeControl($input: AccountNumberInput) {
resumeControl(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...KrakenFlexDeviceTypeFragment
}
}
}
Variables
{
"input": AccountNumberInput
}
Response
{
"data": {
"resumeControl": {
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Whether the message was scheduled successfully. |
Mutation
mutation ScheduleQuoteFollowUp($input: QuoteShareInput!) {
scheduleQuoteFollowUp(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"input": QuoteShareInput
}
Response
{
"data": {
"scheduleQuoteFollowUp": {
"possibleErrors": [PossibleErrorType],
"success": true
}
}
}
selectChargePointMakeForSmartFlexOnboarding
Type:SelectChargePointMakeForSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Select the charge point make to proceed in the onboarding journey.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation SelectChargePointMakeForSmartFlexOnboarding($input: SelectChargePointMakeInput!) {
selectChargePointMakeForSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": SelectChargePointMakeInput
}
Response
{
"data": {
"selectChargePointMakeForSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
selectChargePointVariantForSmartFlexOnboarding
Type:SelectChargePointVariantForSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Select the charge point model variant to proceed in the onboarding journey.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation SelectChargePointVariantForSmartFlexOnboarding($input: SelectChargePointVariantInput!) {
selectChargePointVariantForSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": SelectChargePointVariantInput
}
Response
{
"data": {
"selectChargePointVariantForSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
selectDeviceTypeForSmartFlexOnboarding
Type:SelectDeviceTypeForSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Select the device type to proceed in the onboarding journey.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation SelectDeviceTypeForSmartFlexOnboarding($input: SelectDeviceTypeInput!) {
selectDeviceTypeForSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": SelectDeviceTypeInput
}
Response
{
"data": {
"selectDeviceTypeForSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
selectUserVehicleForSmartFlexOnboarding
Type:SelectUserVehicleForSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Select the user's vehicle to proceed in the onboarding journey.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
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-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
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-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation SelectVehicleVariantForSmartFlexOnboarding($input: SelectVehicleVariantInput!) {
selectVehicleVariantForSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": SelectVehicleVariantInput
}
Response
{
"data": {
"selectVehicleVariantForSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
sendLossObjectionForChangeOfSupplier
Type:SendLossObjectionForChangeOfSupplier
URL:https://api.octopus.energy/v1/graphql/
Send an objection to an ongoing change of supplier process in order to try and cancel it.
The possible errors that can be raised are:
- KT-CT-4185: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for sending loss objection for change of supplier. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Returns true if objection was successfully sent. |
Mutation
mutation SendLossObjectionForChangeOfSupplier($input: SendLossObjectionForChangeOfSupplierInput!) {
sendLossObjectionForChangeOfSupplier(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
success
}
}
Variables
{
"input": SendLossObjectionForChangeOfSupplierInput
}
Response
{
"data": {
"sendLossObjectionForChangeOfSupplier": {
"possibleErrors": [PossibleErrorType],
"success": true
}
}
}
setBatteryChargingPreferences
Type:SetBatteryChargingPreferences
URL:https://api.octopus.energy/v1/graphql/
Set charging preferences for a home battery.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4353: An error occurred while trying to update your charging preferences.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The battery device updated, with the ID of the device in KrakenFlex. |
Mutation
mutation SetBatteryChargingPreferences($input: BatteryChargingPreferencesInput) {
setBatteryChargingPreferences(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...BatteryDeviceTypeFragment
}
}
}
Variables
{
"input": BatteryChargingPreferencesInput
}
Response
{
"data": {
"setBatteryChargingPreferences": {
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": BatteryDeviceType
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The customer specific heat pump device details. |
Mutation
mutation SetClimateControlState($input: ClimateControlStateInput) {
setClimateControlState(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
heatPumpDevice {
...HeatPumpDeviceTypeFragment
}
}
}
Variables
{
"input": ClimateControlStateInput
}
Response
{
"data": {
"setClimateControlState": {
"possibleErrors": [PossibleErrorType],
"heatPumpDevice": HeatPumpDeviceType
}
}
}
setDevicePreferences
URL:https://api.octopus.energy/v1/graphql/
Set the user preferences for a device.
The possible errors that can be raised are:
- KT-CT-4314: Unable to get provider details.
- KT-CT-4321: Serializer validation error.
- KT-CT-4374: An error occurred while trying to set your device preferences.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The device preference details to be updated. |
Return fields
Name | Description |
---|---|
| A UUID that identifies this device registration. Re-registering this device will result in a different ID. |
| The user-friendly name for the device. |
| The type of device. |
| The third-party that enables control of this device. |
| Information about the current status of this device. |
| Active alert message(s) for a device, showing the latest first. |
| The current onboarding wizard for a device. |
| The device's preference details. |
Mutation
mutation SetDevicePreferences($input: SmartFlexDevicePreferencesInput!) {
setDevicePreferences(input: $input) {
id
name
deviceType
provider
status {
...SmartFlexDeviceStatusInterfaceFragment
}
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
}
}
Variables
{
"input": SmartFlexDevicePreferencesInput
}
Response
{
"data": {
"setDevicePreferences": {
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "DAIKIN",
"status": SmartFlexDeviceStatusInterface,
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface
}
}
}
setHotWaterState
Type:SetHotWaterState
URL:https://api.octopus.energy/v1/graphql/
Turn a hot water device on or off.
The possible errors that can be raised are:
- KT-CT-4336: Unable to set hot water state.
- KT-CT-4301: Unable to find device for given account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The customer specific heat pump device details. |
Mutation
mutation SetHotWaterState($input: HotWaterStateInput) {
setHotWaterState(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
heatPumpDevice {
...HeatPumpDeviceTypeFragment
}
}
}
Variables
{
"input": HotWaterStateInput
}
Response
{
"data": {
"setHotWaterState": {
"possibleErrors": [PossibleErrorType],
"heatPumpDevice": HeatPumpDeviceType
}
}
}
setLoyaltyPointsUser
Type:SetLoyaltyPointsUser
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-1111: Unauthorized.
- KT-CT-9210: Unhandled Loyalty Points exception.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Input fields for saving the Loyalty Points user. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| ID of the new Loyalty Points user. |
Mutation
mutation SetLoyaltyPointsUser($input: SetLoyaltyPointsUserInput!) {
setLoyaltyPointsUser(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
newLoyaltyPointsUserId
}
}
Variables
{
"input": SetLoyaltyPointsUserInput
}
Response
{
"data": {
"setLoyaltyPointsUser": {
"possibleErrors": [PossibleErrorType],
"newLoyaltyPointsUserId": "abc123"
}
}
}
setRoomTemperature
Type:SetRoomTemperature
URL:https://api.octopus.energy/v1/graphql/
Turn a hot water device on or off.
The possible errors that can be raised are:
- KT-CT-4329: Invalid data.
- KT-CT-4346: Unable to set the room temperature.
- KT-CT-7223: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The customer specific heat pump device details. |
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-3940: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for creating a new direct debit instruction |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation SetUpDirectDebitInstruction($input: SetUpDirectDebitInstructionInput!) {
setUpDirectDebitInstruction(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
paymentInstruction {
...DirectDebitInstructionTypeFragment
}
}
}
Variables
{
"input": SetUpDirectDebitInstructionInput
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation SetVehicleChargePreferences($input: VehicleChargingPreferencesInput) {
setVehicleChargePreferences(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...KrakenFlexDeviceTypeFragment
}
}
}
Variables
{
"input": VehicleChargingPreferencesInput
}
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The parameters required to instruct a specific zone operation. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with a zone's mode operation. |
Mutation
mutation SetZoneMode(
$accountNumber: String!,
$euid: ID!,
$operationParameters: SetZoneModeParameters!
) {
setZoneMode(
accountNumber: $accountNumber,
euid: $euid,
operationParameters: $operationParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"operationParameters": SetZoneModeParameters
}
Response
{
"data": {
"setZoneMode": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
setZoneSchedules
Type:SetZoneSchedules
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The parameters required to add schedule(s) for a specific zone. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with adding schedule(s) for a zone. |
Mutation
mutation SetZoneSchedules(
$accountNumber: String!,
$euid: ID!,
$zoneScheduleParameters: SetZoneSchedulesParameters!
) {
setZoneSchedules(
accountNumber: $accountNumber,
euid: $euid,
zoneScheduleParameters: $zoneScheduleParameters
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"zoneScheduleParameters": SetZoneSchedulesParameters
}
Response
{
"data": {
"setZoneSchedules": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
shareGoodsQuote
Type:ShareGoodsQuote
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 fields for sharing a quote. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Goods quote shared. |
Mutation
mutation ShareGoodsQuote($input: ShareGoodsQuoteInput!) {
shareGoodsQuote(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
share {
...GoodsQuoteShareFragment
}
}
}
Variables
{
"input": ShareGoodsQuoteInput
}
Response
{
"data": {
"shareGoodsQuote": {
"possibleErrors": [PossibleErrorType],
"share": GoodsQuoteShare
}
}
}
smets2Interest
Type:UpdateAccountSmartMeterInterest
URL:https://api.octopus.energy/v1/graphql/
Set stated interest in procuring a smart meter for an account.
The possible errors that can be raised are:
- KT-GB-4115: Could not create smart meter interest for account.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| |
| The interest of an account in procuring smart meters. |
| The source category of the smart meter interest update. |
| The reason why the account holder is not interested in having a smart meter installed. |
Mutation
mutation Smets2Interest($input: UpdateAccountSmartMeterInterestInput) {
smets2Interest(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
interestUpdated
smets2Interest
smets2InterestSource
smets2RefusalReason
}
}
Variables
{
"input": UpdateAccountSmartMeterInterestInput
}
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 fields for creating a Wheel of Fortune submission. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The result of the Wheel of Fortune spin. This field requires the |
Mutation
mutation SpinWheelOfFortune($input: WheelOfFortuneSpinInput!) {
spinWheelOfFortune(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
spinResult {
...WheelOfFortuneSpinResultTypeFragment
}
}
}
Variables
{
"input": WheelOfFortuneSpinInput
}
Response
{
"data": {
"spinWheelOfFortune": {
"possibleErrors": [PossibleErrorType],
"spinResult": WheelOfFortuneSpinResultType
}
}
}
startExportOnboardingProcess
Type:StartExportOnboardingProcess
URL:https://api.octopus.energy/v1/graphql/
Start export onboarding process for an account.
The possible errors that can be raised are:
- KT-GB-4103: Unable to start export onboarding process.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| |
| The product enrolment process created. |
Mutation
mutation StartExportOnboardingProcess($input: StartExportOnboardingProcessInput) {
startExportOnboardingProcess(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
onboardingProcess {
...SmartOnboardingProcessTypeFragment
}
productEnrolment {
...ProductEnrolmentTypeFragment
}
}
}
Variables
{
"input": StartExportOnboardingProcessInput
}
Response
{
"data": {
"startExportOnboardingProcess": {
"possibleErrors": [PossibleErrorType],
"onboardingProcess": SmartOnboardingProcessType,
"productEnrolment": ProductEnrolmentType
}
}
}
startOnboardingProcess
Type:StartSmartOnboardingProcess
URL:https://api.octopus.energy/v1/graphql/
Start smart onboarding process for an account.
The possible errors that can be raised are:
- KT-GB-4102: Unable to start smart onboarding process.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| |
| The product enrolment process created. |
Mutation
mutation StartOnboardingProcess($input: StartSmartOnboardingProcessInput) {
startOnboardingProcess(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
onboardingProcess {
...SmartOnboardingProcessTypeFragment
}
productEnrolment {
...ProductEnrolmentTypeFragment
}
}
}
Variables
{
"input": StartSmartOnboardingProcessInput
}
Response
{
"data": {
"startOnboardingProcess": {
"possibleErrors": [PossibleErrorType],
"onboardingProcess": SmartOnboardingProcessType,
"productEnrolment": ProductEnrolmentType
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation StartSmartFlexOnboarding($input: StartSmartFlexOnboardingInput!) {
startSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": StartSmartFlexOnboardingInput
}
Response
{
"data": {
"startSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
startTestChargeForSmartFlexOnboarding
Type:StartTestChargeForSmartFlexOnboarding
URL:https://api.octopus.energy/v1/graphql/
Attempt to start a test charge.
The possible errors that can be raised are:
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try agan later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The wizard created for onboarding the device with SmartFlex. |
Mutation
mutation StartTestChargeForSmartFlexOnboarding($input: CompleteSmartFlexOnboardingStepInput!) {
startTestChargeForSmartFlexOnboarding(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
wizard {
...SmartFlexOnboardingWizardFragment
}
}
}
Variables
{
"input": CompleteSmartFlexOnboardingStepInput
}
Response
{
"data": {
"startTestChargeForSmartFlexOnboarding": {
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}
}
}
storePaymentInstruction
URL:https://api.octopus.energy/v1/graphql/
Store a new payment instruction created through the embedded process.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for storing a new payment instruction created through the embedded process. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The stored payment instruction. |
Mutation
mutation StorePaymentInstruction($input: StorePaymentInstructionInput!) {
storePaymentInstruction(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
paymentInstruction {
...PaymentInstructionTypeFragment
}
}
}
Variables
{
"input": StorePaymentInstructionInput
}
Response
{
"data": {
"storePaymentInstruction": {
"possibleErrors": [PossibleErrorType],
"paymentInstruction": PaymentInstructionType
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation SubmitCustomerFeedback($input: CustomerFeedbackInputType!) {
submitCustomerFeedback(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
customerFeedback {
...CustomerFeedbackTypeFragment
}
}
}
Variables
{
"input": CustomerFeedbackInputType
}
Response
{
"data": {
"submitCustomerFeedback": {
"possibleErrors": [PossibleErrorType],
"customerFeedback": CustomerFeedbackType
}
}
}
submitRepaymentRequest
URL:https://api.octopus.energy/v1/graphql/
Submit a repayment request.
The possible errors that can be raised are:
- KT-CT-1132: Unauthorized.
- KT-CT-3927: Invalid Amount.
- KT-CT-3928: Idempotency key used for another repayment request.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for requesting a repayment. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The newly created repayment request. |
Mutation
mutation SubmitRepaymentRequest($input: RequestRepaymentInputType!) {
submitRepaymentRequest(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
repaymentRequest {
...RequestRepaymentOutputTypeFragment
}
}
}
Variables
{
"input": RequestRepaymentInputType
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation SuspendControl($input: AccountNumberInput) {
suspendControl(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...KrakenFlexDeviceTypeFragment
}
}
}
Variables
{
"input": AccountNumberInput
}
Response
{
"data": {
"suspendControl": {
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}
}
}
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The account associated with the meter points whose products were switched. |
Mutation
mutation SwitchMeterPointProducts($input: SwitchMeterPointProductsInput) {
switchMeterPointProducts(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...AccountTypeFragment
}
}
}
Variables
{
"input": SwitchMeterPointProductsInput
}
Response
{
"data": {
"switchMeterPointProducts": {
"possibleErrors": [PossibleErrorType],
"account": AccountType
}
}
}
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 fields for transferring Loyalty Points. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The number of OctoPoints that were transferred. |
Mutation
mutation TransferLoyaltyPointsBetweenUsers($input: TransferLoyaltyPointsBetweenUsersInput!) {
transferLoyaltyPointsBetweenUsers(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
pointsTransferred
}
}
Variables
{
"input": TransferLoyaltyPointsBetweenUsersInput
}
Response
{
"data": {
"transferLoyaltyPointsBetweenUsers": {
"possibleErrors": [PossibleErrorType],
"pointsTransferred": 1
}
}
}
triggerBoostCharge
Type:PerformBoostCharge
URL:https://api.octopus.energy/v1/graphql/
Initiate a boost charge for an electric vehicle (EV).
This will start charging the EV and will not stop until the battery reaches 100% charged.
If it is not possible to initiate a boost charge, a KT-CT-4357 error will be returned.
It may have a boostChargeRefusalReasons
extension which lists the reasons why the boost
charge was refused. Possible reasons include:
BC_DEVICE_NOT_YET_LIVE
(device is not yet live)BC_DEVICE_RETIRED
(device is retired)BC_DEVICE_SUSPENDED
(device is suspended)BC_DEVICE_DISCONNECTED
(device is disconnected)BC_DEVICE_NOT_AT_HOME
(device is not at home)BC_BOOST_CHARGE_IN_PROGRESS
(boost charge already in progress)
The possible errors that can be raised are:
- KT-CT-4356: A boost charge cannot currently be performed.
- KT-CT-4357: Unable to trigger boost charge.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
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.
Mutation
mutation TriggerPostUploadOperations($s3Key: String!) {
triggerPostUploadOperations(s3Key: $s3Key) {
possibleErrors {
...PossibleErrorTypeFragment
}
operationsTriggered
}
}
Variables
{
"s3Key": "abc123"
}
Response
{
"data": {
"triggerPostUploadOperations": {
"possibleErrors": [PossibleErrorType],
"operationsTriggered": true
}
}
}
triggerTestCharge
Type:PerformTestCharge
URL:https://api.octopus.energy/v1/graphql/
Initiate a test charge of an electric vehicle (EV).
This is to ensure that the EV or EVSE (charge point) can be controlled remotely and successfully charged for a short period.
If it is not possible to initiate a test charge, a KT-CT-4355 error will be returned. It may have a
testChargeRefusalReasons
extension which lists the reasons why the test charge was refused. Possible reasons
include:
TC_DEVICE_LIVE
(device is already live)TC_DEVICE_ONBOARDING_IN_PROGRESS
(test dispatch already in progress)TC_DEVICE_RETIRED
(device is retired)TC_DEVICE_SUSPENDED
(device is suspended)TC_DEVICE_DISCONNECTED
(device is disconnected)TC_DEVICE_ALREADY_CHARGING
(device is already charging)TC_DEVICE_AWAY_FROM_HOME
(device is away from home)TC_DEVICE_NO_LOCATION_CONFIGURED
(device has no location configured)TC_DEVICE_LOCATION_UNABLE_TO_IDENTIFY
(unable to identify device location)TC_DEVICE_LOCATION_MISSING
(device location is missing)
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4355: Unable to trigger charge.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation TriggerTestCharge($input: AccountNumberInput) {
triggerTestCharge(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
krakenflexDevice {
...KrakenFlexDeviceTypeFragment
}
}
}
Variables
{
"input": AccountNumberInput
}
Response
{
"data": {
"triggerTestCharge": {
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}
}
}
unlinkUserFromLine
Type:UnlinkUserFromLineResponse!
URL:https://api.octopus.energy/v1/graphql/
Unlink an account user and line together.
Return fields
Name | Description |
---|
Mutation
mutation UnlinkUserFromLine {
unlinkUserFromLine {
... on LineUnlinkedResponse {
...LineUnlinkedResponseFragment
}
... on LinkTokenNotFound {
...LinkTokenNotFoundFragment
}
... on LineCommonError {
...LineCommonErrorFragment
}
}
}
Response
{
"data": {
"unlinkUserFromLine": LineUnlinkedResponse
}
}
updateAccountBillingAddress
Type:UpdateAccountBillingAddress
URL:https://api.octopus.energy/v1/graphql/
Update the account billing address.
The possible errors that can be raised are:
- KT-CT-4145: Invalid address.
- KT-CT-7123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input variables needed for updating an account billing address. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The updated account. |
Mutation
mutation UpdateAccountBillingAddress($input: AccountBillingAddressInput!) {
updateAccountBillingAddress(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...AccountTypeFragment
}
}
}
Variables
{
"input": AccountBillingAddressInput
}
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 fields for updating billing email for an account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Account that was changed. |
Mutation
mutation UpdateAccountBillingEmail($input: UpdateAccountBillingEmailInput!) {
updateAccountBillingEmail(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...AccountInterfaceFragment
}
}
}
Variables
{
"input": UpdateAccountBillingEmailInput
}
Response
{
"data": {
"updateAccountBillingEmail": {
"possibleErrors": [PossibleErrorType],
"account": AccountInterface
}
}
}
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 |
---|---|
| The account number to update consents for. |
| Consents to update for account. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Consents linked to this account. |
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
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 fields for updating an account reference. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
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-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Consents to update for account user. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| All the consents for an account user. |
Mutation
mutation UpdateAccountUserConsents($consents: [ConsentTypeInput]) {
updateAccountUserConsents(consents: $consents) {
possibleErrors {
...PossibleErrorTypeFragment
}
accountUserConsents {
...AccountUserConsentsFragment
}
}
}
Variables
{
"consents": ConsentTypeInput
}
Response
{
"data": {
"updateAccountUserConsents": {
"possibleErrors": [PossibleErrorType],
"accountUserConsents": AccountUserConsents
}
}
}
updateActivePurchase
Type:UpdateActivePurchase
URL:https://api.octopus.energy/v1/graphql/
Update an active purchase.
The possible errors that can be raised are:
- KT-CT-8225: Received an invalid purchaseId.
- KT-CT-8226: The provided purchase is not active.
- KT-CT-8206: Invalid data.
- KT-CT-8227: Available grants could not be applied.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for updating an active purchase. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Goods purchase updated. |
Mutation
mutation UpdateActivePurchase($input: UpdatePurchaseInput!) {
updateActivePurchase(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
goodsPurchase {
...GoodsPurchaseFragment
}
}
}
Variables
{
"input": UpdatePurchaseInput
}
Response
{
"data": {
"updateActivePurchase": {
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}
}
}
updateAutoTopUpAmount
URL:https://api.octopus.energy/v1/graphql/
Change the auto top up amount for the payment schedule.
The possible errors that can be raised are:
- KT-CT-3815: No active payment schedule found for this account.
- KT-CT-3941: Invalid data.
- KT-CT-3942: An unexpected error occurred.
- KT-CT-3947: An unexpected error occurred.
- KT-CT-3953: The payment schedule is not a balance triggered schedule.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for updating the auto-top-up amount for a schedule. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| The new schedule created. |
Mutation
mutation UpdateAutoTopUpAmount($input: UpdateAutoTopUpAmountInput!) {
updateAutoTopUpAmount(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
schedule {
...PaymentScheduleTypeFragment
}
}
}
Variables
{
"input": UpdateAutoTopUpAmountInput
}
Response
{
"data": {
"updateAutoTopUpAmount": {
"possibleErrors": [PossibleErrorType],
"schedule": PaymentScheduleType
}
}
}
updateCommsDeliveryPreference
Type:UpdateCommsDeliveryPreference
URL:https://api.octopus.energy/v1/graphql/
Update account communication delivery preference.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4136: Cannot set comms preference to email when account has no email.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Input fields for updating comms delivery preferences for an account |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation UpdateCommsDeliveryPreference($input: UpdateCommsDeliveryPreferenceInput!) {
updateCommsDeliveryPreference(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
account {
...AccountInterfaceFragment
}
}
}
Variables
{
"input": UpdateCommsDeliveryPreferenceInput
}
Response
{
"data": {
"updateCommsDeliveryPreference": {
"possibleErrors": [PossibleErrorType],
"account": AccountInterface
}
}
}
updateCommsPreferences
Type:UpdateAccountUserCommsPreferencesMutationPayload
URL:https://api.octopus.energy/v1/graphql/
Update the comms preferences of the account user (the authenticated user).
Arguments
Name | Description |
---|---|
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
}
}
Variables
{
"input": UpdateAccountUserCommsPreferencesMutationInput
}
Response
{
"data": {
"updateCommsPreferences": {
"isOptedInToClientMessages": true,
"isOptedInToOfferMessages": true,
"isOptedInToRecommendedMessages": true,
"isOptedInToUpdateMessages": true,
"isOptedInToThirdPartyMessages": true,
"isOptedInMeterReadingConfirmations": true,
"isOptedInToSmsMessages": true,
"isUsingInvertedEmailColours": true,
"fontSizeMultiplier": 1.0,
"emailFormat": "abc123",
"preferredHoldMusic": "abc123",
"errors": [ErrorType],
"commsPreferences": AccountUserCommsPreferences,
"clientMutationId": "abc123"
}
}
}
updateDeviceSmartControl
URL:https://api.octopus.energy/v1/graphql/
Suspends or resumes the smart control of a specific device.
The possible errors that can be raised are:
- KT-CT-4358: Unable to suspend device control.
- KT-CT-4359: Unable to resume device control.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The input to action the desired device control, i.e. suspend or unsuspend a device. |
Return fields
Name | Description |
---|---|
| A UUID that identifies this device registration. Re-registering this device will result in a different ID. |
| The user-friendly name for the device. |
| The type of device. |
| The third-party that enables control of this device. |
| Information about the current status of this device. |
| Active alert message(s) for a device, showing the latest first. |
| The current onboarding wizard for a device. |
| The device's preference details. |
Mutation
mutation UpdateDeviceSmartControl($input: SmartControlInput!) {
updateDeviceSmartControl(input: $input) {
id
name
deviceType
provider
status {
...SmartFlexDeviceStatusInterfaceFragment
}
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
}
}
Variables
{
"input": SmartControlInput
}
Response
{
"data": {
"updateDeviceSmartControl": {
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "DAIKIN",
"status": SmartFlexDeviceStatusInterface,
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface
}
}
}
updateMetadata
Type:UpdateMetadata
URL:https://api.octopus.energy/v1/graphql/
Update metadata on an object.
The possible errors that can be raised are:
- KT-CT-8413: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for updating metadata. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation UpdateMetadata($input: MetadataInput!) {
updateMetadata(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
metadata {
...MetadataFragment
}
}
}
Variables
{
"input": MetadataInput
}
Response
{
"data": {
"updateMetadata": {
"possibleErrors": [PossibleErrorType],
"metadata": Metadata
}
}
}
updatePassword
Type:UpdatePassword
URL:https://api.octopus.energy/v1/graphql/
Update password of the authenticated user.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| The currently authenticated user. This field requires the |
Mutation
mutation UpdatePassword($input: UpdatePasswordInput) {
updatePassword(input: $input) {
viewer {
...AccountUserTypeFragment
}
}
}
Variables
{
"input": UpdatePasswordInput
}
Response
{
"data": {
"updatePassword": {
"viewer": AccountUserType
}
}
}
updatePaymentSchedulePaymentAmount
Type:UpdatePaymentSchedulePaymentAmount
URL:https://api.octopus.energy/v1/graphql/
Update monthly Direct Debit payment amount. Enter amount in pence
Lower limit: 100p (£1), Upper limit: 100,000p (£1,000)
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-GB-3919: Invalid payment schedule amount.
- KT-GB-3920: Cannot update payment schedule amount.
- KT-CT-3923: Unauthorized.
- KT-CT-3941: Invalid data.
- KT-CT-3942: An unexpected error occurred.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation UpdatePaymentSchedulePaymentAmount($input: UpdatePaymentSchedulePaymentAmountInput!) {
updatePaymentSchedulePaymentAmount(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
paymentSchedule {
...PaymentScheduleTypeFragment
}
}
}
Variables
{
"input": UpdatePaymentSchedulePaymentAmountInput
}
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 |
---|---|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation UpdatePaymentSchedulePaymentDay($input: UpdatePaymentSchedulePaymentDayInput!) {
updatePaymentSchedulePaymentDay(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
paymentSchedule {
...PaymentScheduleTypeFragment
}
}
}
Variables
{
"input": UpdatePaymentSchedulePaymentDayInput
}
Response
{
"data": {
"updatePaymentSchedulePaymentDay": {
"possibleErrors": [PossibleErrorType],
"paymentSchedule": PaymentScheduleType
}
}
}
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 |
---|---|
| The account number. |
| The new display name. |
| The EUID of the heat pump controller. |
| The code of the sensor to rename (such as 'SENSOR01'). |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with updating a sensor attribute. |
Mutation
mutation UpdateSensorDisplayName(
$accountNumber: String!,
$displayName: String!,
$euid: ID!,
$sensorCode: String!
) {
updateSensorDisplayName(
accountNumber: $accountNumber,
displayName: $displayName,
euid: $euid,
sensorCode: $sensorCode
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"displayName": "abc123",
"euid": "abc123",
"sensorCode": "abc123"
}
Response
{
"data": {
"updateSensorDisplayName": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
updateSmartMeterDataPreferences
Type:UpdateSmartMeterDataPreferences
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 fields for updating smart meter data preferences. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| |
|
Mutation
mutation UpdateSmartMeterDataPreferences($input: UpdateSmartMeterDataPreferencesInput!) {
updateSmartMeterDataPreferences(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
preferencesUpdated
smartMeterDataPreferences {
...SmartMeterDataPreferencesTypeFragment
}
}
}
Variables
{
"input": UpdateSmartMeterDataPreferencesInput
}
Response
{
"data": {
"updateSmartMeterDataPreferences": {
"possibleErrors": [PossibleErrorType],
"preferencesUpdated": true,
"smartMeterDataPreferences": SmartMeterDataPreferencesType
}
}
}
updateSpecialCircumstances
Type:UpdateSpecialCircumstances
URL:https://api.octopus.energy/v1/graphql/
Update or create special circumstances for the user, which may entitle them to specialist services
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-GB-5411: Failed to update special circumstance record.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
Mutation
mutation UpdateSpecialCircumstances($input: UpdateSpecialCircumstancesInput!) {
updateSpecialCircumstances(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
}
}
Variables
{
"input": UpdateSpecialCircumstancesInput
}
Response
{
"data": {
"updateSpecialCircumstances": {
"possibleErrors": [PossibleErrorType],
"specialCircumstances": SpecialCircumstancesType
}
}
}
updateSsd
Type:UpdateSsd
URL:https://api.octopus.energy/v1/graphql/
Update SSD.
The possible errors that can be raised are:
- KT-GB-4101: Unable to update SSD for account.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
|
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| |
|
Mutation
mutation UpdateSsd($input: UpdateSsdInput) {
updateSsd(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
ssdUpdated
estimatedSsd
}
}
Variables
{
"input": UpdateSsdInput
}
Response
{
"data": {
"updateSsd": {
"possibleErrors": [PossibleErrorType],
"ssdUpdated": true,
"estimatedSsd": "2020-01-01"
}
}
}
updateUser
Type:UpdateUserMutation
URL:https://api.octopus.energy/v1/graphql/
Update the account user details of the authenticated user. Only one field can be updated per day. This prevents users from switching accounts to someone else (usually when moving homes) All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days.
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-CT-5413: Invalid data.
- KT-CT-5414: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Arguments
Name | Description |
---|---|
| Input fields for updating user. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
|
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 |
---|---|
|
Return fields
Name | Description |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
|
Mutation
mutation UpdateUserDetails($input: UpdateAccountUserMutationInput!) {
updateUserDetails(input: $input) {
givenName
familyName
pronouns
mobile
email
dateOfBirth
landline
errors {
...ErrorTypeFragment
}
clientMutationId
}
}
Variables
{
"input": UpdateAccountUserMutationInput
}
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 |
---|---|
| The account number. |
| The EUID of the heat pump controller. |
| The temperature to set the water to. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Unique ID associated with this operation. |
Mutation
mutation UpdateWaterSetpoint(
$accountNumber: String!,
$euid: ID!,
$setpoint: Int!
) {
updateWaterSetpoint(
accountNumber: $accountNumber,
euid: $euid,
setpoint: $setpoint
) {
possibleErrors {
...PossibleErrorTypeFragment
}
transactionId
}
}
Variables
{
"accountNumber": "abc123",
"euid": "abc123",
"setpoint": 1
}
Response
{
"data": {
"updateWaterSetpoint": {
"possibleErrors": [PossibleErrorType],
"transactionId": "abc123"
}
}
}
verifyIdentity
Type:VerifyIdentity
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 |
---|---|
| Details about the user to be verified. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| An expiring token that can be used to request to update the user's email address. |
Mutation
mutation VerifyIdentity($input: VerifyIdentityInput!) {
verifyIdentity(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
token
}
}
Variables
{
"input": VerifyIdentityInput
}
Response
{
"data": {
"verifyIdentity": {
"possibleErrors": [PossibleErrorType],
"token": "abc123"
}
}
}
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 fields for creating a new multi-factor authentication device for the logged user. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Email address to send the MFA code by default. |
| Phone number to send the MFA code by default. |
| Secret to setup Time-based One-Time Passwords (TOTP) in your authenticator or password manager manually. |
Mutation
mutation CreateMfaDevice($input: CreateMfaDeviceInputType!) {
createMfaDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
deviceEmail
devicePhone
totpSecret
}
}
Variables
{
"input": CreateMfaDeviceInputType
}
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 fields for deleting an existing multi-factor authentication device for the logged user. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Flag to indicate if the MFA device has been successfully deleted. |
Mutation
mutation DeleteMfaDevice($input: DeleteMfaDeviceInputType!) {
deleteMfaDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
deviceDeleted
}
}
Variables
{
"input": DeleteMfaDeviceInputType
}
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 fields for validating a new multi-factor authentication device for the logged user. |
Return fields
Name | Description |
---|---|
| Field with the possible errors of the query/mutation. |
| Flag to indicate if the device has been verified, so it can be used for MFA. |
Mutation
mutation ValidateMfaDevice($input: ValidateMfaDeviceInputType!) {
validateMfaDevice(input: $input) {
possibleErrors {
...PossibleErrorTypeFragment
}
deviceIsValid
}
}
Variables
{
"input": ValidateMfaDeviceInputType
}
Response
{
"data": {
"validateMfaDevice": {
"possibleErrors": [PossibleErrorType],
"deviceIsValid": true
}
}
}