Skip to main content

Queries

In this section

About Queries

Every GraphQL schema has a root type for both queries and mutations. The query type defines GraphQL operations that retrieve data from the server.

account

Type:AccountType

Get details about an account.

Arguments

NameDescription

accountNumber (String!)

Query

query Account($accountNumber: String!) {
  account(accountNumber: $accountNumber) {
    id
    number
    status
    paymentSchedules {
      ...PaymentScheduleConnectionTypeConnectionFragment
    }
    users {
      ...AccountUserTypeFragment
    }
    brand
    balance
    overdueBalance
    urn
    billingName
    billingSubName
    billingEmail
    billingAddress
    billingAddressLine1
    billingAddressLine2
    billingAddressLine3
    billingAddressLine4
    billingAddressLine5
    billingAddressPostcode
    billingCountryCode
    billingDeliveryPointIdentifier
    splitBillingAddress
    address {
      ...RichAddressTypeFragment
    }
    portfolio {
      ...PortfolioTypeFragment
    }
    ledgers {
      ...LedgerTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
    canRequestRefund
    requestRefundEligibility {
      ...RequestRefundEligibilityTypeFragment
    }
    payments {
      ...AccountPaymentConnectionTypeConnectionFragment
    }
    repayments {
      ...AccountRepaymentConnectionTypeConnectionFragment
    }
    paymentForecast {
      ...PaymentForecastTypeFragment
    }
    paginatedPaymentForecast {
      ...PaymentForecastConnectionTypeConnectionFragment
    }
    referrals {
      ...ReferralConnectionTypeConnectionFragment
    }
    referralsCreated
    rewards {
      ...RewardTypeFragment
    }
    activeReferralSchemes {
      ...ReferralSchemeTypesFragment
    }
    transactions {
      ...TransactionConnectionTypeConnectionFragment
    }
    provisionalTransactions {
      ...ProvisionalTransactionConnectionTypeConnectionFragment
    }
    annualStatements {
      ...AnnualStatementConnectionTypeConnectionFragment
    }
    bills {
      ...BillConnectionTypeConnectionFragment
    }
    billingOptions {
      ...BillingOptionsTypeFragment
    }
    bill {
      ...BillInterfaceFragment
    }
    directDebitInstructions {
      ...DirectDebitInstructionConnectionTypeConnectionFragment
    }
    events {
      ...AccountEventConnectionTypeConnectionFragment
    }
    applications {
      ...AccountApplicationConnectionTypeConnectionFragment
    }
    accountType
    businessType
    business {
      ...BusinessTypeFragment
    }
    commsDeliveryPreference
    communicationDeliveryPreference
    documentAccessibility
    references {
      ...AccountReferenceTypeFragment
    }
    fileAttachments {
      ...AccountFileAttachmentFragment
    }
    paginatedFileAttachments {
      ...AccountFileAttachmentConnectionTypeConnectionFragment
    }
    maximumRefund {
      ...MaximumRefundTypeFragment
    }
    campaigns {
      ...AccountCampaignTypeFragment
    }
    isInHardship
    activeHardshipAgreements {
      ...HardshipAgreementTypeFragment
    }
    notes {
      ...AccountNoteTypeFragment
    }
    contributionAgreements {
      ...ContributionAgreementTypeFragment
    }
    assistanceAgreements {
      ...AssistanceAgreementTypeFragment
    }
    debtCollectionProceedings {
      ...DebtCollectionProceedingTypeFragment
    }
    createdAt
    preferredLanguageForComms
    consents {
      ...ConsentTypeFragment
    }
    properties {
      ...PropertyTypeFragment
    }
    allProperties {
      ...PropertyTypeFragment
    }
    property {
      ...PropertyTypeFragment
    }
    electricityBalance
    gasBalance
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "account": {
      "id": "abc123",
      "number": "abc123",
      "status": "PENDING",
      "paymentSchedules": PaymentScheduleConnectionTypeConnection,
      "users": AccountUserType,
      "brand": "abc123",
      "balance": 1,
      "overdueBalance": 1,
      "urn": "abc123",
      "billingName": "abc123",
      "billingSubName": "abc123",
      "billingEmail": "abc123",
      "billingAddress": "abc123",
      "billingAddressLine1": "abc123",
      "billingAddressLine2": "abc123",
      "billingAddressLine3": "abc123",
      "billingAddressLine4": "abc123",
      "billingAddressLine5": "abc123",
      "billingAddressPostcode": "abc123",
      "billingCountryCode": "abc123",
      "billingDeliveryPointIdentifier": "abc123",
      "splitBillingAddress": ["abc123"],
      "address": RichAddressType,
      "portfolio": PortfolioType,
      "ledgers": [LedgerType],
      "metadata": [Metadata],
      "canRequestRefund": true,
      "requestRefundEligibility": RequestRefundEligibilityType,
      "payments": AccountPaymentConnectionTypeConnection,
      "repayments": AccountRepaymentConnectionTypeConnection,
      "paymentForecast": [PaymentForecastType],
      "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
      "referrals": ReferralConnectionTypeConnection,
      "referralsCreated": 1,
      "rewards": [RewardType],
      "activeReferralSchemes": ReferralSchemeTypes,
      "transactions": TransactionConnectionTypeConnection,
      "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
      "annualStatements": AnnualStatementConnectionTypeConnection,
      "bills": BillConnectionTypeConnection,
      "billingOptions": BillingOptionsType,
      "bill": BillInterface,
      "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
      "events": AccountEventConnectionTypeConnection,
      "applications": AccountApplicationConnectionTypeConnection,
      "accountType": "BUSINESS",
      "businessType": "SOLE_TRADER",
      "business": BusinessType,
      "commsDeliveryPreference": "EMAIL",
      "communicationDeliveryPreference": "abc123",
      "documentAccessibility": "LARGE_PRINT",
      "references": [AccountReferenceType],
      "fileAttachments": [AccountFileAttachment],
      "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
      "maximumRefund": MaximumRefundType,
      "campaigns": [AccountCampaignType],
      "isInHardship": true,
      "activeHardshipAgreements": [HardshipAgreementType],
      "notes": [AccountNoteType],
      "contributionAgreements": [ContributionAgreementType],
      "assistanceAgreements": [AssistanceAgreementType],
      "debtCollectionProceedings": [DebtCollectionProceedingType],
      "createdAt": "2020-01-01T00:00:00.000Z",
      "preferredLanguageForComms": "abc123",
      "consents": ConsentType,
      "properties": [PropertyType],
      "allProperties": [PropertyType],
      "property": PropertyType,
      "electricityBalance": "abc123",
      "gasBalance": "abc123"
    }
  }
}

accountChargeReasons

Type:[ChargeReasonType]

Available reasons for use in account charge mutations.

Query

query AccountChargeReasons {
  accountChargeReasons {
    code
    display
    isDeprecated
    isTaxExempt
    isHidden
    group
  }
}

Response

{
  "data": {
    "accountChargeReasons": [
      {
        "code": "abc123",
        "display": "abc123",
        "isDeprecated": true,
        "isTaxExempt": true,
        "isHidden": true,
        "group": "abc123"
      }
    ]
  }
}

accountCreditReasons

Type:[CreditReasonType]

Available reasons for use in account credit mutations.

Query

query AccountCreditReasons {
  accountCreditReasons {
    code
    display
    isDeprecated
    isTaxExempt
    isHidden
    group
  }
}

Response

{
  "data": {
    "accountCreditReasons": [
      {
        "code": "abc123",
        "display": "abc123",
        "isDeprecated": true,
        "isTaxExempt": true,
        "isHidden": true,
        "group": "abc123"
      }
    ]
  }
}

accountIoEligibility

Type:AccountIoEligibility

Determines whether an account is eligible to register devices with Intelligent Octopus.

Arguments

NameDescription

accountNumber (String!)

Account number.

Query

query AccountIoEligibility($accountNumber: String!) {
  accountIoEligibility(accountNumber: $accountNumber) {
    isEligibleForIo
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "accountIoEligibility": {
      "isEligibleForIo": true
    }
  }
}

accountReference

Type:[AccountReferenceType]

List of matching account references.

Arguments

NameDescription

value (String)

Query

query AccountReference($value: String) {
  accountReference(value: $value) {
    namespace
    value
    createdAt
    updatedAt
    account {
      ...AccountTypeFragment
    }
  }
}

Variables

{
  "value": "abc123"
}

Response

{
  "data": {
    "accountReference": [
      {
        "namespace": "abc123",
        "value": "abc123",
        "createdAt": "2020-01-01T00:00:00.000Z",
        "updatedAt": "2020-01-01T00:00:00.000Z",
        "account": AccountType
      }
    ]
  }
}

accounts

Type:[AccountType]

Get details about multiple accounts.

Arguments

NameDescription

phoneNumber (String)

A phone number to find accounts associated with.

portfolioNumber (String)

A portfolio number to find accounts associated with.

Query

query Accounts(
  $phoneNumber: String,
  $portfolioNumber: String
) {
  accounts(
    phoneNumber: $phoneNumber,
    portfolioNumber: $portfolioNumber
  ) {
    id
    number
    status
    paymentSchedules {
      ...PaymentScheduleConnectionTypeConnectionFragment
    }
    users {
      ...AccountUserTypeFragment
    }
    brand
    balance
    overdueBalance
    urn
    billingName
    billingSubName
    billingEmail
    billingAddress
    billingAddressLine1
    billingAddressLine2
    billingAddressLine3
    billingAddressLine4
    billingAddressLine5
    billingAddressPostcode
    billingCountryCode
    billingDeliveryPointIdentifier
    splitBillingAddress
    address {
      ...RichAddressTypeFragment
    }
    portfolio {
      ...PortfolioTypeFragment
    }
    ledgers {
      ...LedgerTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
    canRequestRefund
    requestRefundEligibility {
      ...RequestRefundEligibilityTypeFragment
    }
    payments {
      ...AccountPaymentConnectionTypeConnectionFragment
    }
    repayments {
      ...AccountRepaymentConnectionTypeConnectionFragment
    }
    paymentForecast {
      ...PaymentForecastTypeFragment
    }
    paginatedPaymentForecast {
      ...PaymentForecastConnectionTypeConnectionFragment
    }
    referrals {
      ...ReferralConnectionTypeConnectionFragment
    }
    referralsCreated
    rewards {
      ...RewardTypeFragment
    }
    activeReferralSchemes {
      ...ReferralSchemeTypesFragment
    }
    transactions {
      ...TransactionConnectionTypeConnectionFragment
    }
    provisionalTransactions {
      ...ProvisionalTransactionConnectionTypeConnectionFragment
    }
    annualStatements {
      ...AnnualStatementConnectionTypeConnectionFragment
    }
    bills {
      ...BillConnectionTypeConnectionFragment
    }
    billingOptions {
      ...BillingOptionsTypeFragment
    }
    bill {
      ...BillInterfaceFragment
    }
    directDebitInstructions {
      ...DirectDebitInstructionConnectionTypeConnectionFragment
    }
    events {
      ...AccountEventConnectionTypeConnectionFragment
    }
    applications {
      ...AccountApplicationConnectionTypeConnectionFragment
    }
    accountType
    businessType
    business {
      ...BusinessTypeFragment
    }
    commsDeliveryPreference
    communicationDeliveryPreference
    documentAccessibility
    references {
      ...AccountReferenceTypeFragment
    }
    fileAttachments {
      ...AccountFileAttachmentFragment
    }
    paginatedFileAttachments {
      ...AccountFileAttachmentConnectionTypeConnectionFragment
    }
    maximumRefund {
      ...MaximumRefundTypeFragment
    }
    campaigns {
      ...AccountCampaignTypeFragment
    }
    isInHardship
    activeHardshipAgreements {
      ...HardshipAgreementTypeFragment
    }
    notes {
      ...AccountNoteTypeFragment
    }
    contributionAgreements {
      ...ContributionAgreementTypeFragment
    }
    assistanceAgreements {
      ...AssistanceAgreementTypeFragment
    }
    debtCollectionProceedings {
      ...DebtCollectionProceedingTypeFragment
    }
    createdAt
    preferredLanguageForComms
    consents {
      ...ConsentTypeFragment
    }
    properties {
      ...PropertyTypeFragment
    }
    allProperties {
      ...PropertyTypeFragment
    }
    property {
      ...PropertyTypeFragment
    }
    electricityBalance
    gasBalance
  }
}

Variables

{
  "phoneNumber": "abc123",
  "portfolioNumber": "abc123"
}

Response

{
  "data": {
    "accounts": [
      {
        "id": "abc123",
        "number": "abc123",
        "status": "PENDING",
        "paymentSchedules": PaymentScheduleConnectionTypeConnection,
        "users": AccountUserType,
        "brand": "abc123",
        "balance": 1,
        "overdueBalance": 1,
        "urn": "abc123",
        "billingName": "abc123",
        "billingSubName": "abc123",
        "billingEmail": "abc123",
        "billingAddress": "abc123",
        "billingAddressLine1": "abc123",
        "billingAddressLine2": "abc123",
        "billingAddressLine3": "abc123",
        "billingAddressLine4": "abc123",
        "billingAddressLine5": "abc123",
        "billingAddressPostcode": "abc123",
        "billingCountryCode": "abc123",
        "billingDeliveryPointIdentifier": "abc123",
        "splitBillingAddress": ["abc123"],
        "address": RichAddressType,
        "portfolio": PortfolioType,
        "ledgers": [LedgerType],
        "metadata": [Metadata],
        "canRequestRefund": true,
        "requestRefundEligibility": RequestRefundEligibilityType,
        "payments": AccountPaymentConnectionTypeConnection,
        "repayments": AccountRepaymentConnectionTypeConnection,
        "paymentForecast": [PaymentForecastType],
        "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
        "referrals": ReferralConnectionTypeConnection,
        "referralsCreated": 1,
        "rewards": [RewardType],
        "activeReferralSchemes": ReferralSchemeTypes,
        "transactions": TransactionConnectionTypeConnection,
        "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
        "annualStatements": AnnualStatementConnectionTypeConnection,
        "bills": BillConnectionTypeConnection,
        "billingOptions": BillingOptionsType,
        "bill": BillInterface,
        "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
        "events": AccountEventConnectionTypeConnection,
        "applications": AccountApplicationConnectionTypeConnection,
        "accountType": "BUSINESS",
        "businessType": "SOLE_TRADER",
        "business": BusinessType,
        "commsDeliveryPreference": "EMAIL",
        "communicationDeliveryPreference": "abc123",
        "documentAccessibility": "LARGE_PRINT",
        "references": [AccountReferenceType],
        "fileAttachments": [AccountFileAttachment],
        "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
        "maximumRefund": MaximumRefundType,
        "campaigns": [AccountCampaignType],
        "isInHardship": true,
        "activeHardshipAgreements": [HardshipAgreementType],
        "notes": [AccountNoteType],
        "contributionAgreements": [ContributionAgreementType],
        "assistanceAgreements": [AssistanceAgreementType],
        "debtCollectionProceedings": [DebtCollectionProceedingType],
        "createdAt": "2020-01-01T00:00:00.000Z",
        "preferredLanguageForComms": "abc123",
        "consents": ConsentType,
        "properties": [PropertyType],
        "allProperties": [PropertyType],
        "property": PropertyType,
        "electricityBalance": "abc123",
        "gasBalance": "abc123"
      }
    ]
  }
}

activeAffiliateReferralScheme

Type:ReferralSchemeType

Return the current active referral reward scheme of a given affiliate organisation, if any exists.

Arguments

NameDescription

subdomain (String!)

The affiliate link subdomain.

Query

query ActiveAffiliateReferralScheme($subdomain: String!) {
  activeAffiliateReferralScheme(subdomain: $subdomain) {
    referralUrl
    referralDisplayUrl
    referrerRewardAmount
    referredRewardAmount
    combinedRewardAmount
    loyaltyPointsBonus
    canBeReferred
    code
    referrerGivenName
    referrerFamilyName
    schemeType
  }
}

Variables

{
  "subdomain": "abc123"
}

Response

{
  "data": {
    "activeAffiliateReferralScheme": {
      "referralUrl": "abc123",
      "referralDisplayUrl": "abc123",
      "referrerRewardAmount": 1,
      "referredRewardAmount": 1,
      "combinedRewardAmount": 1,
      "loyaltyPointsBonus": 1,
      "canBeReferred": true,
      "code": "abc123",
      "referrerGivenName": "abc123",
      "referrerFamilyName": "abc123",
      "schemeType": "abc123"
    }
  }
}

activeDomesticSignupRewardScheme

Type:ReferralSchemeType

Return the current active signup referral reward scheme with the given code, if any exists.

Query

query ActiveDomesticSignupRewardScheme {
  activeDomesticSignupRewardScheme {
    referralUrl
    referralDisplayUrl
    referrerRewardAmount
    referredRewardAmount
    combinedRewardAmount
    loyaltyPointsBonus
    canBeReferred
    code
    referrerGivenName
    referrerFamilyName
    schemeType
  }
}

Response

{
  "data": {
    "activeDomesticSignupRewardScheme": {
      "referralUrl": "abc123",
      "referralDisplayUrl": "abc123",
      "referrerRewardAmount": 1,
      "referredRewardAmount": 1,
      "combinedRewardAmount": 1,
      "loyaltyPointsBonus": 1,
      "canBeReferred": true,
      "code": "abc123",
      "referrerGivenName": "abc123",
      "referrerFamilyName": "abc123",
      "schemeType": "abc123"
    }
  }
}

activeTariffs

Type:TariffType

Get products list.

Arguments

NameDescription

brandCode (String)

The market brand code.

date (Date)

The date when product must be available.

Query

query ActiveTariffs(
  $brandCode: String,
  $date: Date
) {
  activeTariffs(
    brandCode: $brandCode,
    date: $date
  ) {
    electricityTariffs {
      ...ProductFragment
    }
    gasTariffs {
      ...ProductFragment
    }
  }
}

Variables

{
  "brandCode": "abc123",
  "date": "2020-01-01"
}

Response

{
  "data": {
    "activeTariffs": {
      "electricityTariffs": [Product],
      "gasTariffs": [Product]
    }
  }
}

agreement

Type:Agreement

Get agreement by ID.

Arguments

NameDescription

id (ID!)

The agreement Kraken ID.

Query

query Agreement($id: ID!) {
  agreement(id: $id) {
    id
    product {
      ...ProductFragment
    }
    monthlyStandingCharge
    netMonthlyStandingCharge
    standingChargeGrossRateInformation {
      ...GrossRateInformationFragment
    }
    unitRatePerKwh
    unitRateGrossRateInformation {
      ...GrossRateInformationFragment
    }
    unitRateInformation {
      ... on SimpleProductUnitRateInformation {
        ...SimpleProductUnitRateInformationFragment
      }
      ... on TimeOfUseProductUnitRateInformation {
        ...TimeOfUseProductUnitRateInformationFragment
      }
    }
    estimatedMonthlyBillInEuros
    estimatedAnnualConsumption
    validFrom
    validTo
    agreedAt
    isRevoked
    isActive
    isTerminated
    cosLossStatus
    isAffectedByPriceBrake
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "agreement": {
      "id": 1,
      "product": Product,
      "monthlyStandingCharge": 1.0,
      "netMonthlyStandingCharge": 1.0,
      "standingChargeGrossRateInformation": [GrossRateInformation],
      "unitRatePerKwh": 1.0,
      "unitRateGrossRateInformation": [GrossRateInformation],
      "unitRateInformation": SimpleProductUnitRateInformation,
      "estimatedMonthlyBillInEuros": 1.0,
      "estimatedAnnualConsumption": 1,
      "validFrom": "2020-01-01T00:00:00.000Z",
      "validTo": "2020-01-01T00:00:00.000Z",
      "agreedAt": "2020-01-01T00:00:00.000Z",
      "isRevoked": true,
      "isActive": true,
      "isTerminated": true,
      "cosLossStatus": "abc123",
      "isAffectedByPriceBrake": true
    }
  }
}

availableProductSwitchDates

Type:[Date]

Get available dates for product switch.

Arguments

NameDescription

agreementId (Int!)

Agreement ID.

Query

query AvailableProductSwitchDates($agreementId: Int!) {
  availableProductSwitchDates(agreementId: $agreementId)
}

Variables

{
  "agreementId": 1
}

Response

{
  "data": {
    "availableProductSwitchDates": ["2020-01-01"]
  }
}

backendScreen

Type:BackendScreenType

Get mobile screen details to render.

Arguments

NameDescription

screenId (ID!)

The ID of the screen to return.

params ([BackendScreenParamInputType])

List of key-value pairs (strings) to pass as parameters to the screen.

maxVersionSupported (Int)

The maximum version of backend screens supported by the client.

Query

query BackendScreen(
  $screenId: ID!,
  $params: [BackendScreenParamInputType],
  $maxVersionSupported: Int
) {
  backendScreen(
    screenId: $screenId,
    params: $params,
    maxVersionSupported: $maxVersionSupported
  ) {
    ... on ComponentListType {
      ...ComponentListTypeFragment
    }
    ... on GenericBackendScreen {
      ...GenericBackendScreenFragment
    }
    ... on Dashboard {
      ...DashboardFragment
    }
  }
}

Variables

{
  "screenId": "abc123",
  "params": BackendScreenParamInputType,
  "maxVersionSupported": 1
}

Response

{
  "data": {
    "backendScreen": ComponentListType
  }
}

backendScreenEventIds

Type:[String]

Get all registered backend screen event IDs.

Query

query BackendScreenEventIds {
  backendScreenEventIds
}

Response

{
  "data": {
    "backendScreenEventIds": ["abc123"]
  }
}

backendScreenIds

Type:[String]

Get all registered backend screen IDs.

Query

query BackendScreenIds {
  backendScreenIds
}

Response

{
  "data": {
    "backendScreenIds": ["abc123"]
  }
}

bankHolidays

Type:[Date]

Returns all German bank holidays for a specified year that are observed in one or more states.

Arguments

NameDescription

year (Int!)

Query

query BankHolidays($year: Int!) {
  bankHolidays(year: $year)
}

Variables

{
  "year": 1
}

Response

{
  "data": {
    "bankHolidays": ["2020-01-01"]
  }
}

bankTransferDetails

Type:BankTransferDetailsType

Get the bank transfer details for customers to send monies.

Query

query BankTransferDetails {
  bankTransferDetails {
    accountHolder
    iban
    bic
    bankName
    paymentReference {
      ...BankTransferReferenceFragment
    }
  }
}

Response

{
  "data": {
    "bankTransferDetails": {
      "accountHolder": "abc123",
      "iban": "abc123",
      "bic": "abc123",
      "bankName": "abc123",
      "paymentReference": BankTransferReference
    }
  }
}

business

Type:BusinessType

Get details about a business.

Arguments

NameDescription

id (ID!)

The business ID.

Query

query Business($id: ID!) {
  business(id: $id) {
    name
    number
    businessType
    linkedAccountNumber
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "business": {
      "name": "abc123",
      "number": "abc123",
      "businessType": "SOLE_TRADER",
      "linkedAccountNumber": "abc123"
    }
  }
}

chargePointDevices

Type:[ChargePointDevicesType]

All charge point devices.

Deprecated

The 'chargePointDevices' field is deprecated.

Please use chargePointVariants instead of this query.

- Marked as deprecated on 2023-05-10.
- Will be removed on 2024-01-01.

Query

query ChargePointDevices {
  chargePointDevices {
    make
    models {
      ...ChargePointModelsTypeFragment
    }
  }
}

Response

{
  "data": {
    "chargePointDevices": [
      {
        "make": "abc123",
        "models": [ChargePointModelsType]
      }
    ]
  }
}

chargePointVariants

Type:[ChargePointVariantType]

All charge points variants.

Query

query ChargePointVariants {
  chargePointVariants {
    make
    models {
      ...ChargePointVariantModelTypeFragment
    }
  }
}

Response

{
  "data": {
    "chargePointVariants": [
      {
        "make": "abc123",
        "models": [ChargePointVariantModelType]
      }
    ]
  }
}

cityByPostcode

Type:String

Returns the respective city of a given postcode. An invalid postcode will return an empty string.

Arguments

NameDescription

postcode (String!)

Query

query CityByPostcode($postcode: String!) {
  cityByPostcode(postcode: $postcode)
}

Variables

{
  "postcode": "abc123"
}

Response

{
  "data": {
    "cityByPostcode": "abc123"
  }
}

completedDispatches

Type:[UpsideDispatchType]

All completed device dispatches 12 hours behind, in reverse time order.

Arguments

NameDescription

accountNumber (String!)

Query

query CompletedDispatches($accountNumber: String!) {
  completedDispatches(accountNumber: $accountNumber) {
    start
    end
    startDt
    endDt
    deltaKwh
    delta
    meta {
      ...UpsideDispatchMetaTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "completedDispatches": [
      {
        "start": "2020-01-01T00:00:00.000Z",
        "end": "2020-01-01T00:00:00.000Z",
        "startDt": "abc123",
        "endDt": "abc123",
        "deltaKwh": 1,
        "delta": 1.0,
        "meta": UpsideDispatchMetaType
      }
    ]
  }
}

contributionSchemes

Type:[ContributionSchemeType]

Get contribution schemes.

Query

query ContributionSchemes {
  contributionSchemes {
    id
    code
    displayName
    taxable
    acceptingContributions
  }
}

Response

{
  "data": {
    "contributionSchemes": [
      {
        "id": "abc123",
        "code": "abc123",
        "displayName": "abc123",
        "taxable": true,
        "acceptingContributions": true
      }
    ]
  }
}

costOfCharge

Type:[CostOfChargeType]

Aggregated cost of charge for an EV device.

Arguments

NameDescription

accountNumber (String!)

frequency (DataFrequency!)

Frequency by day, week, month or year.

reportDate (Date)

The date up to which data should be relative to.

startDate (Date)

The start date of the results required. Overrides report date (end date) if provided.

Query

query CostOfCharge(
  $accountNumber: String!,
  $frequency: DataFrequency!,
  $reportDate: Date,
  $startDate: Date
) {
  costOfCharge(
    accountNumber: $accountNumber,
    frequency: $frequency,
    reportDate: $reportDate,
    startDate: $startDate
  ) {
    costOfChargeId
    krakenflexDeviceId
    reportDate
    isSmartCharge
    totalConsumption
    totalCostExclTax
    totalCostInclTax
  }
}

Variables

{
  "accountNumber": "abc123",
  "frequency": "DAILY",
  "reportDate": "2020-01-01",
  "startDate": "2020-01-01"
}

Response

{
  "data": {
    "costOfCharge": [
      {
        "costOfChargeId": "abc123",
        "krakenflexDeviceId": "abc123",
        "reportDate": "2020-01-01",
        "isSmartCharge": true,
        "totalConsumption": 1.0,
        "totalCostExclTax": 1.0,
        "totalCostInclTax": 1.0
      }
    ]
  }
}

dashboardScreen

Type:Dashboard

Get a dashboard screen to render in the form of a json list of sections containing cards or grouped cards each with an order attribute.

Arguments

NameDescription

dashboardId (ID!)

The ID of the dashboard type screen to return.

accountNumber (String!)

The account number of the user.

maxVersionSupported (Int!)

The maximum version of dahshboard type screens supported by the client.

ledgerId (String)

The ledger id associated to the account.

propertyId (String)

The property id associated to the account.

params ([BackendScreenParamInputType])

List of key-value pairs (strings) to pass as parameters to the screen.

Query

query DashboardScreen(
  $dashboardId: ID!,
  $accountNumber: String!,
  $maxVersionSupported: Int!,
  $ledgerId: String,
  $propertyId: String,
  $params: [BackendScreenParamInputType]
) {
  dashboardScreen(
    dashboardId: $dashboardId,
    accountNumber: $accountNumber,
    maxVersionSupported: $maxVersionSupported,
    ledgerId: $ledgerId,
    propertyId: $propertyId,
    params: $params
  ) {
    id
    typename
    dashboardItems {
      ...SectionTypeFragment
    }
    serialisedDashboardItems
  }
}

Variables

{
  "dashboardId": "abc123",
  "accountNumber": "abc123",
  "maxVersionSupported": 1,
  "ledgerId": "abc123",
  "propertyId": "abc123",
  "params": BackendScreenParamInputType
}

Response

{
  "data": {
    "dashboardScreen": {
      "id": "abc123",
      "typename": "abc123",
      "dashboardItems": SectionType,
      "serialisedDashboardItems": "abc123"
    }
  }
}

defaultPaymentInstruction

Type:PaymentInstructionType

Get the default payment instruction for the account's main ledger.

Arguments

NameDescription

accountNumber (String!)

The account number.

instructionType (PaymentType)

Provide an option to get either a CARD or DIRECT_DEBIT instruction.

Query

query DefaultPaymentInstruction(
  $accountNumber: String!,
  $instructionType: PaymentType
) {
  defaultPaymentInstruction(
    accountNumber: $accountNumber,
    instructionType: $instructionType
  ) {
    id
    status
    sortCode
    iban
    accountHolder
    instructionType
    cardPaymentNetwork
    cardExpiryMonth
    cardExpiryYear
    bankCode
    accountType
    validFrom
    vendor
    cardNumber
    cardType
    maskedAccountIdentifier
  }
}

Variables

{
  "accountNumber": "abc123",
  "instructionType": "BPAY"
}

Response

{
  "data": {
    "defaultPaymentInstruction": {
      "id": "abc123",
      "status": "abc123",
      "sortCode": "abc123",
      "iban": "abc123",
      "accountHolder": "abc123",
      "instructionType": "abc123",
      "cardPaymentNetwork": "abc123",
      "cardExpiryMonth": 1,
      "cardExpiryYear": 1,
      "bankCode": "abc123",
      "accountType": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z",
      "vendor": "abc123",
      "cardNumber": "abc123",
      "cardType": "abc123",
      "maskedAccountIdentifier": "abc123"
    }
  }
}

defaultRawScore

Type:Int

Get default raw score for a customer feedback form.

Arguments

NameDescription

formId (Int!)

Query

query DefaultRawScore($formId: Int!) {
  defaultRawScore(formId: $formId)
}

Variables

{
  "formId": 1
}

Response

{
  "data": {
    "defaultRawScore": 1
  }
}

devices

Type:[SmartFlexDeviceInterface!]

A list of devices registered to an account.

Arguments

NameDescription

accountNumber (String!)

The account number, e.g. A-12345678.

propertyId (ID)

Only list devices registered to this property.

deviceId (String)

Only list the device with this ID.

Query

query Devices(
  $accountNumber: String!,
  $propertyId: ID,
  $deviceId: String
) {
  devices(
    accountNumber: $accountNumber,
    propertyId: $propertyId,
    deviceId: $deviceId
  ) {
    id
    name
    deviceType
    provider
    status {
      ...SmartFlexDeviceStatusInterfaceFragment
    }
    alerts {
      ...SmartFlexDeviceAlertInterfaceFragment
    }
    onboardingWizard {
      ...SmartFlexOnboardingWizardFragment
    }
    preferences {
      ...SmartFlexDevicePreferencesInterfaceFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "propertyId": "abc123",
  "deviceId": "abc123"
}

Response

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

domesticAccountReferralRewardScheme

Type:ReferralSchemeType

Return a referral reward scheme for the given account referral code.

Arguments

NameDescription

code (String!)

Friend referral code.

Query

query DomesticAccountReferralRewardScheme($code: String!) {
  domesticAccountReferralRewardScheme(code: $code) {
    referralUrl
    referralDisplayUrl
    referrerRewardAmount
    referredRewardAmount
    combinedRewardAmount
    loyaltyPointsBonus
    canBeReferred
    code
    referrerGivenName
    referrerFamilyName
    schemeType
  }
}

Variables

{
  "code": "abc123"
}

Response

{
  "data": {
    "domesticAccountReferralRewardScheme": {
      "referralUrl": "abc123",
      "referralDisplayUrl": "abc123",
      "referrerRewardAmount": 1,
      "referredRewardAmount": 1,
      "combinedRewardAmount": 1,
      "loyaltyPointsBonus": 1,
      "canBeReferred": true,
      "code": "abc123",
      "referrerGivenName": "abc123",
      "referrerFamilyName": "abc123",
      "schemeType": "abc123"
    }
  }
}

domesticJoiningRewardScheme

Type:ReferralSchemeType

Return a joining reward scheme with the given code, if it's active. A joining reward can be a signup reward or a promotional reward.

Arguments

NameDescription

code (String!)

Reward code for the scheme.

Query

query DomesticJoiningRewardScheme($code: String!) {
  domesticJoiningRewardScheme(code: $code) {
    referralUrl
    referralDisplayUrl
    referrerRewardAmount
    referredRewardAmount
    combinedRewardAmount
    loyaltyPointsBonus
    canBeReferred
    code
    referrerGivenName
    referrerFamilyName
    schemeType
  }
}

Variables

{
  "code": "abc123"
}

Response

{
  "data": {
    "domesticJoiningRewardScheme": {
      "referralUrl": "abc123",
      "referralDisplayUrl": "abc123",
      "referrerRewardAmount": 1,
      "referredRewardAmount": 1,
      "combinedRewardAmount": 1,
      "loyaltyPointsBonus": 1,
      "canBeReferred": true,
      "code": "abc123",
      "referrerGivenName": "abc123",
      "referrerFamilyName": "abc123",
      "schemeType": "abc123"
    }
  }
}

domesticSignupRewardScheme

Type:ReferralSchemeType

Return a signup referral reward scheme with the given code, if it's active.

Arguments

NameDescription

code (String!)

Reward code for the scheme.

Query

query DomesticSignupRewardScheme($code: String!) {
  domesticSignupRewardScheme(code: $code) {
    referralUrl
    referralDisplayUrl
    referrerRewardAmount
    referredRewardAmount
    combinedRewardAmount
    loyaltyPointsBonus
    canBeReferred
    code
    referrerGivenName
    referrerFamilyName
    schemeType
  }
}

Variables

{
  "code": "abc123"
}

Response

{
  "data": {
    "domesticSignupRewardScheme": {
      "referralUrl": "abc123",
      "referralDisplayUrl": "abc123",
      "referrerRewardAmount": 1,
      "referredRewardAmount": 1,
      "combinedRewardAmount": 1,
      "loyaltyPointsBonus": 1,
      "canBeReferred": true,
      "code": "abc123",
      "referrerGivenName": "abc123",
      "referrerFamilyName": "abc123",
      "schemeType": "abc123"
    }
  }
}

electricVehicles

Type:[ElectricVehicleType]

All electric vehicle types and their details.

Arguments

NameDescription

make (String)

Only return vehicle types for the specified make.

supportedProvider (ProviderChoices)

Only return vehicle types supported by the specified provider, e.g. Tesla.

isIntegrationLive (Boolean)

Only return vehicles that are currently integrated.

Query

query ElectricVehicles(
  $make: String,
  $supportedProvider: ProviderChoices,
  $isIntegrationLive: Boolean
) {
  electricVehicles(
    make: $make,
    supportedProvider: $supportedProvider,
    isIntegrationLive: $isIntegrationLive
  ) {
    make
    models {
      ...ElectricVehicleModelTypeFragment
    }
  }
}

Variables

{
  "make": "abc123",
  "supportedProvider": "DAIKIN",
  "isIntegrationLive": true
}

Response

{
  "data": {
    "electricVehicles": [
      {
        "make": "abc123",
        "models": [ElectricVehicleModelType]
      }
    ]
  }
}

electricityMeterReadings

Type:ElectricityMeterReadingConnectionTypeConnection

Fetch electricity meter readings for a given account and meter.

This field is a connection type. Connections are used to implement cursor based pagination.

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String!)

meterId (ID!)

typesOfRead ([TypeOfRead])

readingOrigins ([ReadingOrigin])

before (String)

after (String)

first (Int)

last (Int)

Query

query ElectricityMeterReadings(
  $accountNumber: String!,
  $meterId: ID!,
  $typesOfRead: [TypeOfRead],
  $readingOrigins: [ReadingOrigin],
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  electricityMeterReadings(
    accountNumber: $accountNumber,
    meterId: $meterId,
    typesOfRead: $typesOfRead,
    readingOrigins: $readingOrigins,
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ElectricityMeterReadingConnectionTypeEdgeFragment
    }
    totalCount
    edgeCount
  }
}

Variables

{
  "accountNumber": "abc123",
  "meterId": "abc123",
  "typesOfRead": "METER_INSTALLED",
  "readingOrigins": "CUSTOMER",
  "before": "abc123",
  "after": "abc123",
  "first": 1,
  "last": 1
}

Response

{
  "data": {
    "electricityMeterReadings": {
      "pageInfo": PageInfo,
      "edges": ElectricityMeterReadingConnectionTypeEdge,
      "totalCount": 1,
      "edgeCount": 1
    }
  }
}

electricityMeterReadingsByRegister

Type:ElectricityMeterForReadingType

Fetch electricity meter readings for a given account and meter, split up by register.

Arguments

NameDescription

accountNumber (String!)

meterId (ID!)

Query

query ElectricityMeterReadingsByRegister(
  $accountNumber: String!,
  $meterId: ID!
) {
  electricityMeterReadingsByRegister(
    accountNumber: $accountNumber,
    meterId: $meterId
  ) {
    registers {
      ...ElectricityRegisterForReadingTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "meterId": "abc123"
}

Response

{
  "data": {
    "electricityMeterReadingsByRegister": {
      "registers": [ElectricityRegisterForReadingType]
    }
  }
}

electricityMeters

Type:ElectricityMeterConnectionTypeConnection

Fetch electricity meters for a given account and MeLo.

This field is a connection type. Connections are used to implement cursor based pagination.

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String!)

meloNumber (String!)

before (String)

after (String)

first (Int)

last (Int)

Query

query ElectricityMeters(
  $accountNumber: String!,
  $meloNumber: String!,
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  electricityMeters(
    accountNumber: $accountNumber,
    meloNumber: $meloNumber,
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ElectricityMeterConnectionTypeEdgeFragment
    }
    totalCount
    edgeCount
  }
}

Variables

{
  "accountNumber": "abc123",
  "meloNumber": "abc123",
  "before": "abc123",
  "after": "abc123",
  "first": 1,
  "last": 1
}

Response

{
  "data": {
    "electricityMeters": {
      "pageInfo": PageInfo,
      "edges": ElectricityMeterConnectionTypeEdge,
      "totalCount": 1,
      "edgeCount": 1
    }
  }
}

electricitySuppliers

Type:[SupplierType]

Returns all the electricity suppliers directly from the getAG API.

Query

query ElectricitySuppliers {
  electricitySuppliers {
    brandId
    supplierId
    supplierName
    supplierNumber
  }
}

Response

{
  "data": {
    "electricitySuppliers": [
      {
        "brandId": 1,
        "supplierId": 1,
        "supplierName": "abc123",
        "supplierNumber": "abc123"
      }
    ]
  }
}

eligibleDeviceTypes

Type:[KrakenFlexDeviceTypes]

A list of device types that are eligible for registration.

Arguments

NameDescription

accountNumber (String!)

The account number, e.g. A-12345678.

Query

query EligibleDeviceTypes($accountNumber: String!) {
  eligibleDeviceTypes(accountNumber: $accountNumber)
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "eligibleDeviceTypes": "BATTERIES"
  }
}

embeddedNetwork

Type:EmbeddedNetworkType

Get details about an embedded network.

Arguments

NameDescription

id (ID!)

Query

query EmbeddedNetwork($id: ID!) {
  embeddedNetwork(id: $id) {
    id
    name
    embeddedProperties {
      ...EmbeddedPropertyTypeFragment
    }
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "embeddedNetwork": {
      "id": "abc123",
      "name": "abc123",
      "embeddedProperties": [EmbeddedPropertyType]
    }
  }
}

energyMixData

Type:EnergyMixDataType

The current energy generation mix.

Query

query EnergyMixData {
  energyMixData {
    carbonIntensityIndex
  }
}

Response

{
  "data": {
    "energyMixData": {
      "carbonIntensityIndex": "abc123"
    }
  }
}

enodeLinkSession

Type:EnodeLinkSessionType

The user specific Enode link session details.

Arguments

NameDescription

accountNumber (String)

vendor (EnodeVendors)

Query

query EnodeLinkSession(
  $accountNumber: String,
  $vendor: EnodeVendors
) {
  enodeLinkSession(
    accountNumber: $accountNumber,
    vendor: $vendor
  ) {
    linkState
    linkUrl
  }
}

Variables

{
  "accountNumber": "abc123",
  "vendor": "AUDI"
}

Response

{
  "data": {
    "enodeLinkSession": {
      "linkState": "abc123",
      "linkUrl": "abc123"
    }
  }
}

estimatedElectricityConsumption

Type:Decimal

Fetch the estimated electricity consumption for a given MeLo at a given time period in kWh.

Arguments

NameDescription

accountNumber (String!)

The account number.

meloNumber (String!)

The MeLo number.

startDate (Date!)

The start date for calculating the estimated electricity consumption.

endDate (Date!)

The end date (inclusive) for calculating the estimated electricity consumption.

Query

query EstimatedElectricityConsumption(
  $accountNumber: String!,
  $meloNumber: String!,
  $startDate: Date!,
  $endDate: Date!
) {
  estimatedElectricityConsumption(
    accountNumber: $accountNumber,
    meloNumber: $meloNumber,
    startDate: $startDate,
    endDate: $endDate
  )
}

Variables

{
  "accountNumber": "abc123",
  "meloNumber": "abc123",
  "startDate": "2020-01-01",
  "endDate": "2020-01-01"
}

Response

{
  "data": {
    "estimatedElectricityConsumption": 1.0
  }
}

estimatedGasConsumption

Type:Decimal

Fetch the estimated gas consumption for a given MeLo at a given time period in kWh.

Arguments

NameDescription

accountNumber (String!)

The account number.

meloNumber (String!)

The MeLo number.

startDate (Date!)

The start date for calculating the estimated gas consumption.

endDate (Date!)

The end date (inclusive) for calculating the estimated gas consumption.

Query

query EstimatedGasConsumption(
  $accountNumber: String!,
  $meloNumber: String!,
  $startDate: Date!,
  $endDate: Date!
) {
  estimatedGasConsumption(
    accountNumber: $accountNumber,
    meloNumber: $meloNumber,
    startDate: $startDate,
    endDate: $endDate
  )
}

Variables

{
  "accountNumber": "abc123",
  "meloNumber": "abc123",
  "startDate": "2020-01-01",
  "endDate": "2020-01-01"
}

Response

{
  "data": {
    "estimatedGasConsumption": 1.0
  }
}

fanClubStatus

Type:[FanClubStatus]

Get current status, historic discounts and future projections for a Fan Club source.

Arguments

NameDescription

accountNumber (String)

The account number.

propertyId (Int)

The ID of the property.

Query

query FanClubStatus(
  $accountNumber: String,
  $propertyId: Int
) {
  fanClubStatus(
    accountNumber: $accountNumber,
    propertyId: $propertyId
  ) {
    discountSource
    name
    location
    windFarm
    accountNumbers
    propertyIds
    catchments
    thresholds {
      ...ThresholdFragment
    }
    current {
      ...DiscountDataFragment
    }
    historic {
      ...DiscountDataFragment
    }
    forecast {
      ...DiscountForecastFragment
    }
  }
}

Variables

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

Response

{
  "data": {
    "fanClubStatus": [
      {
        "discountSource": "abc123",
        "name": "abc123",
        "location": "abc123",
        "windFarm": "abc123",
        "accountNumbers": "abc123",
        "propertyIds": 1,
        "catchments": "abc123",
        "thresholds": Threshold,
        "current": DiscountData,
        "historic": DiscountData,
        "forecast": DiscountForecast
      }
    ]
  }
}

gasMeterReadings

Type:GasMeterReadingConnectionTypeConnection

Fetch gas meter readings for a given account and meter.

This field is a connection type. Connections are used to implement cursor based pagination.

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String!)

meterId (ID!)

typesOfRead ([TypeOfRead])

readingOrigins ([ReadingOrigin])

before (String)

after (String)

first (Int)

last (Int)

Query

query GasMeterReadings(
  $accountNumber: String!,
  $meterId: ID!,
  $typesOfRead: [TypeOfRead],
  $readingOrigins: [ReadingOrigin],
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  gasMeterReadings(
    accountNumber: $accountNumber,
    meterId: $meterId,
    typesOfRead: $typesOfRead,
    readingOrigins: $readingOrigins,
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...GasMeterReadingConnectionTypeEdgeFragment
    }
    totalCount
    edgeCount
  }
}

Variables

{
  "accountNumber": "abc123",
  "meterId": "abc123",
  "typesOfRead": "METER_INSTALLED",
  "readingOrigins": "CUSTOMER",
  "before": "abc123",
  "after": "abc123",
  "first": 1,
  "last": 1
}

Response

{
  "data": {
    "gasMeterReadings": {
      "pageInfo": PageInfo,
      "edges": GasMeterReadingConnectionTypeEdge,
      "totalCount": 1,
      "edgeCount": 1
    }
  }
}

gasMeterReadingsByRegister

Type:GasMeterForReadingType

Fetch gas meter readings for a given account and meter, split up by register.

Arguments

NameDescription

accountNumber (String!)

meterId (ID!)

Query

query GasMeterReadingsByRegister(
  $accountNumber: String!,
  $meterId: ID!
) {
  gasMeterReadingsByRegister(
    accountNumber: $accountNumber,
    meterId: $meterId
  ) {
    registers {
      ...GasRegisterForReadingTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "meterId": "abc123"
}

Response

{
  "data": {
    "gasMeterReadingsByRegister": {
      "registers": [GasRegisterForReadingType]
    }
  }
}

gasMeters

Type:GasMeterConnectionTypeConnection

Fetch gas meters for a given account and MeLo.

This field is a connection type. Connections are used to implement cursor based pagination.

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String!)

meloNumber (String!)

before (String)

after (String)

first (Int)

last (Int)

Query

query GasMeters(
  $accountNumber: String!,
  $meloNumber: String!,
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  gasMeters(
    accountNumber: $accountNumber,
    meloNumber: $meloNumber,
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...GasMeterConnectionTypeEdgeFragment
    }
    totalCount
    edgeCount
  }
}

Variables

{
  "accountNumber": "abc123",
  "meloNumber": "abc123",
  "before": "abc123",
  "after": "abc123",
  "first": 1,
  "last": 1
}

Response

{
  "data": {
    "gasMeters": {
      "pageInfo": PageInfo,
      "edges": GasMeterConnectionTypeEdge,
      "totalCount": 1,
      "edgeCount": 1
    }
  }
}

gasSuppliers

Type:[SupplierType]

Returns all the gas suppliers directly from the getAG API.

Query

query GasSuppliers {
  gasSuppliers {
    brandId
    supplierId
    supplierName
    supplierNumber
  }
}

Response

{
  "data": {
    "gasSuppliers": [
      {
        "brandId": 1,
        "supplierId": 1,
        "supplierName": "abc123",
        "supplierNumber": "abc123"
      }
    ]
  }
}

getQuoteByCode

Type:CreateQuoteOutput

Returns the calculated quotes related to a quote request.

Arguments

NameDescription

code (String)

Query

query GetQuoteByCode($code: String) {
  getQuoteByCode(code: $code) {
    code
    electricityQuote {
      ...ElectricityQuoteFragment
    }
    gasQuote {
      ...GasQuoteFragment
    }
  }
}

Variables

{
  "code": "abc123"
}

Response

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

getQuotedProductById

Type:QuotedProduct

Returns a quoted product by id.

Arguments

NameDescription

id (Int)

Query

query GetQuotedProductById($id: Int) {
  getQuotedProductById(id: $id) {
    id
    product {
      ...ProductFragment
    }
    wasSelected
    clientParams {
      ...QuotedProductClientParamsFragment
    }
    retentionNumberOfValidDays
    retentionOfferGenerationDate
    isValidForRetentionProductSwitch
  }
}

Variables

{
  "id": 1
}

Response

{
  "data": {
    "getQuotedProductById": {
      "id": 1,
      "product": Product,
      "wasSelected": true,
      "clientParams": QuotedProductClientParams,
      "retentionNumberOfValidDays": 1,
      "retentionOfferGenerationDate": "2020-01-01",
      "isValidForRetentionProductSwitch": true
    }
  }
}

goodsProducts

Type:GoodsProductConnectionTypeConnection

List Goods products given a market.

Arguments

NameDescription

marketName (String!)

Market name of the products to list.

productType ([String])

Types of the products to filter by.

code ([String])

Code of the products to filter by.

before (String)

after (String)

first (Int)

last (Int)

Query

query GoodsProducts(
  $marketName: String!,
  $productType: [String],
  $code: [String],
  $before: String,
  $after: String,
  $first: Int,
  $last: Int
) {
  goodsProducts(
    marketName: $marketName,
    productType: $productType,
    code: $code,
    before: $before,
    after: $after,
    first: $first,
    last: $last
  ) {
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...GoodsProductConnectionTypeEdgeFragment
    }
    totalCount
    edgeCount
  }
}

Variables

{
  "marketName": "abc123",
  "productType": ["abc123"],
  "code": ["abc123"],
  "before": "abc123",
  "after": "abc123",
  "first": 1,
  "last": 1
}

Response

{
  "data": {
    "goodsProducts": {
      "pageInfo": PageInfo,
      "edges": GoodsProductConnectionTypeEdge,
      "totalCount": 1,
      "edgeCount": 1
    }
  }
}

goodsPurchases

Type:[GoodsPurchase]

List purchases for an account.

Arguments

NameDescription

accountNumber (String!)

The account number.

Query

query GoodsPurchases($accountNumber: String!) {
  goodsPurchases(accountNumber: $accountNumber) {
    code
    ledgerId
    goodsSaleItems {
      ...GoodsSaleItemFragment
    }
    goodsGrants {
      ...GoodsGrantFragment
    }
    marketParams
    clientParams
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "goodsPurchases": [
      {
        "code": "abc123",
        "ledgerId": "abc123",
        "goodsSaleItems": [GoodsSaleItem],
        "goodsGrants": [GoodsGrant],
        "marketParams": {"key": "value"},
        "clientParams": {"key": "value"}
      }
    ]
  }
}

goodsQuotes

Type:[GoodsQuote]

List quotes given an account number or retrieve a Goods quote given a quote code.

Arguments

NameDescription

accountNumber (String)

The account number.

quoteCode (String)

The quote code.

Query

query GoodsQuotes(
  $accountNumber: String,
  $quoteCode: String
) {
  goodsQuotes(
    accountNumber: $accountNumber,
    quoteCode: $quoteCode
  ) {
    id
    code
    totalNetAmount
    quotedAt
    goodsQuotedProducts {
      ...GoodsQuotedProductFragment
    }
    hasQuoteExpired
  }
}

Variables

{
  "accountNumber": "abc123",
  "quoteCode": "abc123"
}

Response

{
  "data": {
    "goodsQuotes": [
      {
        "id": 1,
        "code": "abc123",
        "totalNetAmount": 1,
        "quotedAt": "2020-01-01T00:00:00.000Z",
        "goodsQuotedProducts": [GoodsQuotedProduct],
        "hasQuoteExpired": true
      }
    ]
  }
}

inkConversation

Type:InkConversation!

Get the Ink conversation for a given account.

Arguments

NameDescription

accountNumber (String)

The account number.

conversationRelayId (String)

The conversation's relay id.

Query

query InkConversation(
  $accountNumber: String,
  $conversationRelayId: String
) {
  inkConversation(
    accountNumber: $accountNumber,
    conversationRelayId: $conversationRelayId
  ) {
    id
    status
    contactChannelIdentities {
      ...InkContactChannelIdentitiesFragment
    }
    accountUsers {
      ...AccountUserTypeFragment
    }
    events {
      ...InkConversationEventsConnectionFragment
    }
    buckets {
      ...InkBucketFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "conversationRelayId": "abc123"
}

Response

{
  "data": {
    "inkConversation": {
      "id": "abc123",
      "status": "OPEN",
      "contactChannelIdentities": InkContactChannelIdentities,
      "accountUsers": [AccountUserType],
      "events": InkConversationEventsConnection,
      "buckets": [InkBucket]
    }
  }
}

inkMessage

Type:InkMessage!

Get the content for a given message.

Arguments

NameDescription

messageRelayId (String!)

The message's relay id.

Query

query InkMessage($messageRelayId: String!) {
  inkMessage(messageRelayId: $messageRelayId) {
    ... on InkEmail {
      ...InkEmailFragment
    }
    ... on InkSMS {
      ...InkSMSFragment
    }
    ... on InkLine {
      ...InkLineFragment
    }
    ... on InkWhatsApp {
      ...InkWhatsAppFragment
    }
    ... on InkPost {
      ...InkPostFragment
    }
    ... on InkGenericMessage {
      ...InkGenericMessageFragment
    }
  }
}

Variables

{
  "messageRelayId": "abc123"
}

Response

{
  "data": {
    "inkMessage": InkEmail
  }
}

isPasswordResetTokenValid

Type:Boolean

Check validity of a password reset token.

Arguments

NameDescription

userId (String!)

Base64 encoded user id.

token (String!)

Password reset token to check.

Query

query IsPasswordResetTokenValid(
  $userId: String!,
  $token: String!
) {
  isPasswordResetTokenValid(
    userId: $userId,
    token: $token
  )
}

Variables

{
  "userId": "abc123",
  "token": "abc123"
}

Response

{
  "data": {
    "isPasswordResetTokenValid": true
  }
}

krakenVersion

Type:KrakenVersionType

The current version of kraken.

Query

query KrakenVersion {
  krakenVersion {
    number
    SHA
  }
}

Response

{
  "data": {
    "krakenVersion": {
      "number": "abc123",
      "SHA": "abc123"
    }
  }
}

loyaltyPointLedgers

Type:[LoyaltyPointLedgerEntryType]

Get the Loyalty Point ledger entries for the passed user.

Query

query LoyaltyPointLedgers {
  loyaltyPointLedgers {
    id
    ledgerType
    value
    balanceBroughtForward
    balanceCarriedForward
    reasonCode
    postedAt
    accountNumber
  }
}

Response

{
  "data": {
    "loyaltyPointLedgers": [
      {
        "id": "abc123",
        "ledgerType": "abc123",
        "value": "abc123",
        "balanceBroughtForward": "abc123",
        "balanceCarriedForward": "abc123",
        "reasonCode": "abc123",
        "postedAt": "2020-01-01T00:00:00.000Z",
        "accountNumber": "abc123"
      }
    ]
  }
}

metadata

Type:[Metadata]

Metadata for a linked object.

Arguments

NameDescription

linkedObjectType (LinkedObjectType)

identifier (String!)

Query

query Metadata(
  $linkedObjectType: LinkedObjectType,
  $identifier: String!
) {
  metadata(
    linkedObjectType: $linkedObjectType,
    identifier: $identifier
  ) {
    key
    value
  }
}

Variables

{
  "linkedObjectType": "ACCOUNT",
  "identifier": "abc123"
}

Response

{
  "data": {
    "metadata": [
      {
        "key": "abc123",
        "value": {"key": "value"}
      }
    ]
  }
}

metadataForKey

Type:Metadata

Metadata for a linked object with key.

Arguments

NameDescription

linkedObjectType (LinkedObjectType)

identifier (String!)

key (String!)

Query

query MetadataForKey(
  $linkedObjectType: LinkedObjectType,
  $identifier: String!,
  $key: String!
) {
  metadataForKey(
    linkedObjectType: $linkedObjectType,
    identifier: $identifier,
    key: $key
  ) {
    key
    value
  }
}

Variables

{
  "linkedObjectType": "ACCOUNT",
  "identifier": "abc123",
  "key": "abc123"
}

Response

{
  "data": {
    "metadataForKey": {
      "key": "abc123",
      "value": {"key": "value"}
    }
  }
}

Arguments

NameDescription

id (ID!)

The ID of the object

Query

query Node($id: ID!) {
  node(id: $id) {
    id
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "node": {
      "id": "abc123"
    }
  }
}

ocppConnection

Type:OCPPConnectionType

To confirm whether a device is connected to OCPP.

Arguments

NameDescription

accountNumber (String!)

Query

query OcppConnection($accountNumber: String!) {
  ocppConnection(accountNumber: $accountNumber) {
    isConnected
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "ocppConnection": {
      "isConnected": true
    }
  }
}

ocppDetails

Type:OCPPDetailsType

The user specific generated OCPP details.

Arguments

NameDescription

accountNumber (String!)

Query

query OcppDetails($accountNumber: String!) {
  ocppDetails(accountNumber: $accountNumber) {
    url
    username
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "ocppDetails": {
      "url": "abc123",
      "username": "abc123"
    }
  }
}

passwordValidatorHelpTexts

Type:[String]

The help text of all configured password validators as plain-text or html. Defaults to plain-text.

Arguments

NameDescription

asHtml (Boolean)

Return the results as html instead of plain-text. Defaults to False.

Query

query PasswordValidatorHelpTexts($asHtml: Boolean) {
  passwordValidatorHelpTexts(asHtml: $asHtml)
}

Variables

{
  "asHtml": true
}

Response

{
  "data": {
    "passwordValidatorHelpTexts": ["abc123"]
  }
}

paymentInstructionByLedger

Type:PaymentInstructionType

Get the payment instruction for the account's supplementary ledger.

Arguments

NameDescription

accountNumber (String!)

The account number.

supplyType (String!)

Query

query PaymentInstructionByLedger(
  $accountNumber: String!,
  $supplyType: String!
) {
  paymentInstructionByLedger(
    accountNumber: $accountNumber,
    supplyType: $supplyType
  ) {
    id
    status
    sortCode
    iban
    accountHolder
    instructionType
    cardPaymentNetwork
    cardExpiryMonth
    cardExpiryYear
    bankCode
    accountType
    validFrom
    vendor
    cardNumber
    cardType
    maskedAccountIdentifier
  }
}

Variables

{
  "accountNumber": "abc123",
  "supplyType": "abc123"
}

Response

{
  "data": {
    "paymentInstructionByLedger": {
      "id": "abc123",
      "status": "abc123",
      "sortCode": "abc123",
      "iban": "abc123",
      "accountHolder": "abc123",
      "instructionType": "abc123",
      "cardPaymentNetwork": "abc123",
      "cardExpiryMonth": 1,
      "cardExpiryYear": 1,
      "bankCode": "abc123",
      "accountType": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z",
      "vendor": "abc123",
      "cardNumber": "abc123",
      "cardType": "abc123",
      "maskedAccountIdentifier": "abc123"
    }
  }
}

plannedDispatches

Type:[UpsideDispatchType]

All planned device dispatches 24 hours ahead, (usually) in time order.

Arguments

NameDescription

accountNumber (String!)

Query

query PlannedDispatches($accountNumber: String!) {
  plannedDispatches(accountNumber: $accountNumber) {
    start
    end
    startDt
    endDt
    deltaKwh
    delta
    meta {
      ...UpsideDispatchMetaTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "plannedDispatches": [
      {
        "start": "2020-01-01T00:00:00.000Z",
        "end": "2020-01-01T00:00:00.000Z",
        "startDt": "abc123",
        "endDt": "abc123",
        "deltaKwh": 1,
        "delta": 1.0,
        "meta": UpsideDispatchMetaType
      }
    ]
  }
}

propertiesSearch

Type:[PropertySearchResult!]!

Search for properties that are already in Kraken and match the search term.

Arguments

NameDescription

searchTerm (String!)

The search term. It can be an address or a meter point identifier.

Query

query PropertiesSearch($searchTerm: String!) {
  propertiesSearch(searchTerm: $searchTerm) {
    score
    property {
      ...PropertyTypeFragment
    }
  }
}

Variables

{
  "searchTerm": "abc123"
}

Response

{
  "data": {
    "propertiesSearch": {
      "score": 1.0,
      "property": PropertyType
    }
  }
}

property

Type:PropertyType

A property with the given ID. Usually associated with supply points.

Arguments

NameDescription

id (ID!)

The property ID.

Query

query Property($id: ID!) {
  property(id: $id) {
    id
    address
    richAddress {
      ...PropertyRichAddressTypeFragment
    }
    splitAddress
    occupancyPeriods {
      ...OccupancyPeriodTypeFragment
    }
    coordinates {
      ...CoordinatesTypeFragment
    }
    embeddedNetwork {
      ...EmbeddedNetworkTypeFragment
    }
    measurements {
      ...MeasurementConnectionFragment
    }
    postcode
    electricityMalos {
      ...MaLoFragment
    }
    gasMalos {
      ...MaLoFragment
    }
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "property": {
      "id": "abc123",
      "address": "abc123",
      "richAddress": PropertyRichAddressType,
      "splitAddress": ["abc123"],
      "occupancyPeriods": [OccupancyPeriodType],
      "coordinates": CoordinatesType,
      "embeddedNetwork": EmbeddedNetworkType,
      "measurements": MeasurementConnection,
      "postcode": "abc123",
      "electricityMalos": [MaLo],
      "gasMalos": [MaLo]
    }
  }
}

propertySearch

Type:[PropertyType]

Search for properties that are already in Kraken and match the search term.

Deprecated

The 'propertySearch' field is deprecated.

This query is being deprecated in favour of `propertiesSearch`. The latter returns not only the matched properties but the level of confidence in the results through the `score` field.

- Marked as deprecated on 2023-05-23.
- Will be removed on 2024-01-01.

Arguments

NameDescription

searchTerm (String!)

The search term. It can be an address or a meter point identifier.

Query

query PropertySearch($searchTerm: String!) {
  propertySearch(searchTerm: $searchTerm) {
    id
    address
    richAddress {
      ...PropertyRichAddressTypeFragment
    }
    splitAddress
    occupancyPeriods {
      ...OccupancyPeriodTypeFragment
    }
    coordinates {
      ...CoordinatesTypeFragment
    }
    embeddedNetwork {
      ...EmbeddedNetworkTypeFragment
    }
    measurements {
      ...MeasurementConnectionFragment
    }
    postcode
    electricityMalos {
      ...MaLoFragment
    }
    gasMalos {
      ...MaLoFragment
    }
  }
}

Variables

{
  "searchTerm": "abc123"
}

Response

{
  "data": {
    "propertySearch": [
      {
        "id": "abc123",
        "address": "abc123",
        "richAddress": PropertyRichAddressType,
        "splitAddress": ["abc123"],
        "occupancyPeriods": [OccupancyPeriodType],
        "coordinates": CoordinatesType,
        "embeddedNetwork": EmbeddedNetworkType,
        "measurements": MeasurementConnection,
        "postcode": "abc123",
        "electricityMalos": [MaLo],
        "gasMalos": [MaLo]
      }
    ]
  }
}

providerAuthDetails

Type:ProviderAuthDetailsType

Auth details (e.g. OAuth 2.0 URI) for the provider (if available).

Arguments

NameDescription

provider (ProviderChoices!)

The provider to get the auth details for.

deviceType (KrakenFlexDeviceTypes!)

The device type to get the auth details for (as providers may support multiple).

clientType (ClientType)

The client type the request originated from. Used when oauth_uri is different between web and app.

accountNumber (String)

The account number that will be associated with the device. Required for some providers.

propertyId (Int)

The ID of the property the device belongs to.

Query

query ProviderAuthDetails(
  $provider: ProviderChoices!,
  $deviceType: KrakenFlexDeviceTypes!,
  $clientType: ClientType,
  $accountNumber: String,
  $propertyId: Int
) {
  providerAuthDetails(
    provider: $provider,
    deviceType: $deviceType,
    clientType: $clientType,
    accountNumber: $accountNumber,
    propertyId: $propertyId
  ) {
    oauthUri
  }
}

Variables

{
  "provider": "DAIKIN",
  "deviceType": "BATTERIES",
  "clientType": "APP",
  "accountNumber": "abc123",
  "propertyId": 1
}

Response

{
  "data": {
    "providerAuthDetails": {
      "oauthUri": "abc123"
    }
  }
}

providerVirtualKeyDetails

Type:ProviderVirtualKeyDetailsType

Virtual key details (e.g. certificate public key) for the provider (if available).

Arguments

NameDescription

provider (ProviderChoices!)

The provider to get the virtual key details for.

deviceType (KrakenFlexDeviceTypes!)

The device type to get the virtual key details for (as providers may support multiple).

Query

query ProviderVirtualKeyDetails(
  $provider: ProviderChoices!,
  $deviceType: KrakenFlexDeviceTypes!
) {
  providerVirtualKeyDetails(
    provider: $provider,
    deviceType: $deviceType
  ) {
    virtualKeyName
    virtualKeyUri
  }
}

Variables

{
  "provider": "DAIKIN",
  "deviceType": "BATTERIES"
}

Response

{
  "data": {
    "providerVirtualKeyDetails": {
      "virtualKeyName": "abc123",
      "virtualKeyUri": "abc123"
    }
  }
}

question

Type:String

Get the customer feedback survey question.

Arguments

NameDescription

formId (Int!)

Query

query Question($formId: Int!) {
  question(formId: $formId)
}

Variables

{
  "formId": 1
}

Response

{
  "data": {
    "question": "abc123"
  }
}

quoteinputparams

Type:[QuoteInputParams]

Returns the input parameters required to generate a quote.

Arguments

NameDescription

postcode (String!)

city (String)

longCity (String)

street (String)

houseNumber (String)

validFrom (DateTime)

Query

query Quoteinputparams(
  $postcode: String!,
  $city: String,
  $longCity: String,
  $street: String,
  $houseNumber: String,
  $validFrom: DateTime
) {
  quoteinputparams(
    postcode: $postcode,
    city: $city,
    longCity: $longCity,
    street: $street,
    houseNumber: $houseNumber,
    validFrom: $validFrom
  ) {
    postcode
    city
    street
    houseNumber
    gasNetworkOperatorNumber
    gasNetworkOperatorId
    gasNetworkOperatorName
    electricityNetworkOperatorNumber
    electricityNetworkOperatorId
    electricityNetworkOperatorName
    supplierId
    tariffId
  }
}

Variables

{
  "postcode": "abc123",
  "city": "abc123",
  "longCity": "abc123",
  "street": "abc123",
  "houseNumber": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z"
}

Response

{
  "data": {
    "quoteinputparams": [
      {
        "postcode": "abc123",
        "city": "abc123",
        "street": "abc123",
        "houseNumber": "abc123",
        "gasNetworkOperatorNumber": "abc123",
        "gasNetworkOperatorId": "abc123",
        "gasNetworkOperatorName": "abc123",
        "electricityNetworkOperatorNumber": "abc123",
        "electricityNetworkOperatorId": "abc123",
        "electricityNetworkOperatorName": "abc123",
        "supplierId": "abc123",
        "tariffId": "abc123"
      }
    ]
  }
}

rateLimit

Type:RateLimitInformation

Information about rate limit for viewer.

Deprecated

The 'rateLimit' field is deprecated.

`rateLimit` has been replaced by 'rateLimitInfo', which contains more detailed info about rate limit than the former one

- Marked as deprecated on 2024-07-17.
- Will be removed on 2025-01-01.

Query

query RateLimit {
  rateLimit {
    limit
    remainingPoints
    usedPoints
  }
}

Response

{
  "data": {
    "rateLimit": {
      "limit": 1,
      "remainingPoints": 1,
      "usedPoints": 1
    }
  }
}

rateLimitInfo

Type:CombinedRateLimitInformation

Combined information about points-allowance rate limiting and request-specific rate limiting.

Query

query RateLimitInfo {
  rateLimitInfo {
    pointsAllowanceRateLimit {
      ...PointsAllowanceRateLimitInformationFragment
    }
    fieldSpecificRateLimits {
      ...FieldSpecificRateLimitInformationConnectionTypeConnectionFragment
    }
  }
}

Response

{
  "data": {
    "rateLimitInfo": {
      "pointsAllowanceRateLimit": PointsAllowanceRateLimitInformation,
      "fieldSpecificRateLimits": FieldSpecificRateLimitInformationConnectionTypeConnection
    }
  }
}

registeredKrakenflexDevice

Type:KrakenFlexDeviceType

A device registered with KrakenFlex for a given account.

Deprecated

The 'registeredKrakenflexDevice' field is deprecated.

Please use 'devices' instead.

- Marked as deprecated on 2024-04-23.
- Will be removed on 2024-11-01.

Arguments

NameDescription

accountNumber (String!)

Query

query RegisteredKrakenflexDevice($accountNumber: String!) {
  registeredKrakenflexDevice(accountNumber: $accountNumber) {
    krakenflexDeviceId
    provider
    vehicleMake
    vehicleModel
    vehicleBatterySizeInKwh
    chargePointMake
    chargePointModel
    chargePointPowerInKw
    status
    suspended
    hasToken
    createdAt
    stateOfChargeLimit {
      ...StateOfChargeLimitFragment
    }
    testDispatchFailureReason
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "registeredKrakenflexDevice": {
      "krakenflexDeviceId": "abc123",
      "provider": "DAIKIN",
      "vehicleMake": "abc123",
      "vehicleModel": "abc123",
      "vehicleBatterySizeInKwh": 1.0,
      "chargePointMake": "abc123",
      "chargePointModel": "abc123",
      "chargePointPowerInKw": 1.0,
      "status": "abc123",
      "suspended": true,
      "hasToken": true,
      "createdAt": "2020-01-01T00:00:00.000Z",
      "stateOfChargeLimit": StateOfChargeLimit,
      "testDispatchFailureReason": "NONE"
    }
  }
}

smartFlexOnboardingWizards

Type:[SmartFlexOnboardingWizard!]

A list of wizards for onboarding devices for an account and property.

Arguments

NameDescription

accountNumber (String!)

The account number, e.g. A-12345678.

propertyId (Int)

Only list wizards for this property.

Query

query SmartFlexOnboardingWizards(
  $accountNumber: String!,
  $propertyId: Int
) {
  smartFlexOnboardingWizards(
    accountNumber: $accountNumber,
    propertyId: $propertyId
  ) {
    id
    backendScreen {
      ... on ComponentListType {
        ...ComponentListTypeFragment
      }
      ... on GenericBackendScreen {
        ...GenericBackendScreenFragment
      }
      ... on Dashboard {
        ...DashboardFragment
      }
    }
    currentStep {
      ...SmartFlexOnboardingStepInterfaceFragment
    }
    completedSteps {
      ...SmartFlexOnboardingStepInterfaceFragment
    }
  }
}

Variables

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

Response

{
  "data": {
    "smartFlexOnboardingWizards": [
      {
        "id": "abc123",
        "backendScreen": ComponentListType,
        "currentStep": SmartFlexOnboardingStepInterface,
        "completedSteps": SmartFlexOnboardingStepInterface
      }
    ]
  }
}

taskResult

Type:TaskResult

Get the status of a background task.

Arguments

NameDescription

taskId (String!)

accountNumber (String!)

Query

query TaskResult(
  $taskId: String!,
  $accountNumber: String!
) {
  taskResult(
    taskId: $taskId,
    accountNumber: $accountNumber
  ) {
    status
    result
    error
  }
}

Variables

{
  "taskId": "abc123",
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "taskResult": {
      "status": "STARTED",
      "result": {"key": "value"},
      "error": "abc123"
    }
  }
}

termsAndConditionsForProduct

Type:TermsAndConditionsType

Get the active terms and conditions for a product.

Arguments

NameDescription

productCode (String!)

Query

query TermsAndConditionsForProduct($productCode: String!) {
  termsAndConditionsForProduct(productCode: $productCode) {
    name
    pdfUrl
    brandCode
    markdown
    html
    version
    effectiveFrom
  }
}

Variables

{
  "productCode": "abc123"
}

Response

{
  "data": {
    "termsAndConditionsForProduct": {
      "name": "abc123",
      "pdfUrl": "abc123",
      "brandCode": "abc123",
      "markdown": "abc123",
      "html": "abc123",
      "version": "abc123",
      "effectiveFrom": "2020-01-01T00:00:00.000Z"
    }
  }
}

termsandconditions

Type:OEDETermsAndConditionsType

Returns the terms and conditions based on the code and version. If a brand code is provided without version numbers, the latest terms and conditions are returned.

Arguments

NameDescription

brandCode (String)

versionMajor (Int)

versionMinor (Int)

Query

query Termsandconditions(
  $brandCode: String,
  $versionMajor: Int,
  $versionMinor: Int
) {
  termsandconditions(
    brandCode: $brandCode,
    versionMajor: $versionMajor,
    versionMinor: $versionMinor
  ) {
    text
    createdAt
    name
    pdfUrl
    brandCode
    markdown
    html
    version
    effectiveFrom
  }
}

Variables

{
  "brandCode": "abc123",
  "versionMajor": 1,
  "versionMinor": 1
}

Response

{
  "data": {
    "termsandconditions": {
      "text": "abc123",
      "createdAt": "2020-01-01T00:00:00.000Z",
      "name": "abc123",
      "pdfUrl": "abc123",
      "brandCode": "abc123",
      "markdown": "abc123",
      "html": "abc123",
      "version": "abc123",
      "effectiveFrom": "2020-01-01T00:00:00.000Z"
    }
  }
}

termsandconditionsforproduct

Type:[OEDETermsAndConditionsType]

Returns a list of the active terms and conditions for a product.

Arguments

NameDescription

productCode (String!)

The code of the product we are interested in.

Query

query Termsandconditionsforproduct($productCode: String!) {
  termsandconditionsforproduct(productCode: $productCode) {
    text
    createdAt
    name
    pdfUrl
    brandCode
    markdown
    html
    version
    effectiveFrom
  }
}

Variables

{
  "productCode": "abc123"
}

Response

{
  "data": {
    "termsandconditionsforproduct": [
      {
        "text": "abc123",
        "createdAt": "2020-01-01T00:00:00.000Z",
        "name": "abc123",
        "pdfUrl": "abc123",
        "brandCode": "abc123",
        "markdown": "abc123",
        "html": "abc123",
        "version": "abc123",
        "effectiveFrom": "2020-01-01T00:00:00.000Z"
      }
    ]
  }
}

userVehicles

Type:[UserVehiclesType]

A list of vehicles available to the user.

Arguments

NameDescription

accountNumber (String)

supportedProvider (ProviderChoices)

The provider used to authenticate the device (default Enode).

authentication (AuthenticationInput)

The authentication details required given the chosen provider.

Query

query UserVehicles(
  $accountNumber: String,
  $supportedProvider: ProviderChoices,
  $authentication: AuthenticationInput
) {
  userVehicles(
    accountNumber: $accountNumber,
    supportedProvider: $supportedProvider,
    authentication: $authentication
  ) {
    vehicleId
    information {
      ...VehicleInformationTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "supportedProvider": "DAIKIN",
  "authentication": AuthenticationInput
}

Response

{
  "data": {
    "userVehicles": [
      {
        "vehicleId": "abc123",
        "information": VehicleInformationType
      }
    ]
  }
}

vehicleChargingPreferences

Type:VehicleChargingPreferencesType

Vehicle charging preference details.

Deprecated

The 'vehicleChargingPreferences' field is deprecated.

Please use 'devices.chargingPreferences' instead.

- Marked as deprecated on 2024-04-23.
- Will be removed on 2024-11-01.

Arguments

NameDescription

accountNumber (String!)

Query

query VehicleChargingPreferences($accountNumber: String!) {
  vehicleChargingPreferences(accountNumber: $accountNumber) {
    weekdayTargetTime
    weekdayTargetSoc
    weekendTargetTime
    weekendTargetSoc
    minimumSocPercentage
    maximumSocPercentage
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "vehicleChargingPreferences": {
      "weekdayTargetTime": "abc123",
      "weekdayTargetSoc": 1,
      "weekendTargetTime": "abc123",
      "weekendTargetSoc": 1,
      "minimumSocPercentage": 1,
      "maximumSocPercentage": 1
    }
  }
}

viewer

Type:AccountUserType

The currently authenticated user.

This field requires the Authorization header to be set.

Query

query Viewer {
  viewer {
    id
    accounts {
      ...AccountInterfaceFragment
    }
    givenName
    familyName
    email
    mobile
    landline
    title
    pronouns
    isDeceased
    liveSecretKey
    displayName
    firstName
    lastName
    fullName
    preferredName
    portfolioId
    portfolioIds
    portfolios {
      ...PortfolioConnectionTypeConnectionFragment
    }
    specialCircumstances {
      ...SpecialCircumstancesTypeFragment
    }
    preferences {
      ...AccountUserCommsPreferencesFragment
    }
    dateOfBirth
    landlinePhoneNumber
    alternativePhoneNumbers
    hasFamilyIssues
    isInHardship
    accountUserRoles {
      ...AccountUserRoleTypeFragment
    }
    portfolioUserRoles {
      ...PortfolioUserRoleTypeFragment
    }
    details {
      ...AccountUserDetailTypeFragment
    }
    consents {
      ...ConsentTypeFragment
    }
  }
}

Response

{
  "data": {
    "viewer": {
      "id": "abc123",
      "accounts": AccountInterface,
      "givenName": "abc123",
      "familyName": "abc123",
      "email": "abc123",
      "mobile": "abc123",
      "landline": "abc123",
      "title": "abc123",
      "pronouns": "abc123",
      "isDeceased": true,
      "liveSecretKey": "abc123",
      "displayName": "abc123",
      "firstName": "abc123",
      "lastName": "abc123",
      "fullName": "abc123",
      "preferredName": "abc123",
      "portfolioId": "abc123",
      "portfolioIds": ["abc123"],
      "portfolios": PortfolioConnectionTypeConnection,
      "specialCircumstances": SpecialCircumstancesType,
      "preferences": AccountUserCommsPreferences,
      "dateOfBirth": "2020-01-01",
      "landlinePhoneNumber": "abc123",
      "alternativePhoneNumbers": ["abc123"],
      "hasFamilyIssues": true,
      "isInHardship": true,
      "accountUserRoles": [AccountUserRoleType],
      "portfolioUserRoles": [PortfolioUserRoleType],
      "details": [AccountUserDetailType],
      "consents": ConsentType
    }
  }
}

wheelOfFortuneSegments

Type:WheelSegmentsType!

Retrieve the segments to be displayed on the Wheel of Fortune.

This field requires the Authorization header to be set.

Query

query WheelOfFortuneSegments {
  wheelOfFortuneSegments {
    segments
  }
}

Response

{
  "data": {
    "wheelOfFortuneSegments": {
      "segments": [1]
    }
  }
}

wheelOfFortuneSpins

Type:AvailableSpinsType!

Retrieve the number of available Wheel of Fortune spins, per energy type, of an account by the account number.

This field requires the Authorization header to be set.

Arguments

NameDescription

accountNumber (String!)

The account number for which the available spins are gathered.

Query

query WheelOfFortuneSpins($accountNumber: String!) {
  wheelOfFortuneSpins(accountNumber: $accountNumber) {
    electricity {
      ...SupplyTypeSpecificSpinsTypeFragment
    }
    gas {
      ...SupplyTypeSpecificSpinsTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "wheelOfFortuneSpins": {
      "electricity": SupplyTypeSpecificSpinsType,
      "gas": SupplyTypeSpecificSpinsType
    }
  }
}