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.
API Site
account
Type:AccountType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about an account.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query Account($accountNumber: String!) {
account(accountNumber: $accountNumber) {
id
number
status
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
users {
...AccountUserTypeFragment
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
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
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
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
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
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
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
projectedBalance
shouldReviewPayments
recommendedBalanceAdjustment
electricityAgreements {
...ElectricityAgreementTypeFragment
}
gasAgreements {
...GasAgreementTypeFragment
}
warmHomeDiscount {
...WarmHomeDiscountFragment
}
eligibilityForWarmHomeDiscount {
...WarmHomeDiscountEligibilityFragment
}
billingPostcode
canRenewTariff
trackerTariffDailyPricing {
...TrackerTariffDailyPricingFragment
}
paymentAdequacy {
...PaymentAdequacyTypeFragment
}
smets2Interest
smets2RefusalReason
greenAccomplishments {
...GreenAccomplishmentsTypeFragment
}
canChangePayments
cotReadingWindowDays
canBeWithdrawn
currentEstimatedSsd
earliestPossibleSsd
latestPossibleSsd
operationsTeam {
...OperationsTeamTypeFragment
}
canInputMeterReadingsViaIvr
hasActiveDunningProcess
hasActiveCollectionsProceedings
isEligibleForElectricityReadingIncentive
isEligibleForGasReadingIncentive
isInBlockingMigration
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"account": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"complaints": ComplaintConnectionTypeConnection,
"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,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"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,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"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,
"reminders": AccountReminderConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"projectedBalance": 1,
"shouldReviewPayments": true,
"recommendedBalanceAdjustment": 1,
"electricityAgreements": [ElectricityAgreementType],
"gasAgreements": [GasAgreementType],
"warmHomeDiscount": WarmHomeDiscount,
"eligibilityForWarmHomeDiscount": WarmHomeDiscountEligibility,
"billingPostcode": "abc123",
"canRenewTariff": true,
"trackerTariffDailyPricing": TrackerTariffDailyPricing,
"paymentAdequacy": PaymentAdequacyType,
"smets2Interest": "PRIORITY",
"smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME",
"greenAccomplishments": GreenAccomplishmentsType,
"canChangePayments": true,
"cotReadingWindowDays": 1,
"canBeWithdrawn": true,
"currentEstimatedSsd": "2020-01-01",
"earliestPossibleSsd": "2020-01-01",
"latestPossibleSsd": "2020-01-01",
"operationsTeam": OperationsTeamType,
"canInputMeterReadingsViaIvr": true,
"hasActiveDunningProcess": true,
"hasActiveCollectionsProceedings": true,
"isEligibleForElectricityReadingIncentive": true,
"isEligibleForGasReadingIncentive": true,
"isInBlockingMigration": true
}
}
}accountChargeReasons
Type:[ChargeReasonType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
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"
}
]
}
}accountContract
Type:Contract
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about an account contract.
The possible errors that can be raised are:
- KT-CT-10003: Contract not found.
- KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
- KT-CT-10006: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the contract. |
| The account number to find the contract for. |
| The version of the contract. |
Query
query AccountContract(
$identifier: String,
$accountNumber: String,
$version: Int
) {
accountContract(
identifier: $identifier,
accountNumber: $accountNumber,
version: $version
) {
identifier
title
party {
... on AccountType {
...AccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}Response
{
"data": {
"accountContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": AccountType,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}
}
}accountCreditReasons
Type:[CreditReasonType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
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
URL:https://api.edfgb-kraken.energy/v1/graphql/
Determines whether an account is eligible to register devices with SmartFlex.
Arguments
| Name | Description |
|---|---|
| Account number. |
| |
Query
query AccountIoEligibility(
$accountNumber: String!,
$propertyId: Int
) {
accountIoEligibility(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
isEligibleForIo
}
}Variables
{
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"accountIoEligibility": {
"isEligibleForIo": true
}
}
}accountReference
URL:https://api.edfgb-kraken.energy/v1/graphql/
List of matching account references.
The possible errors that can be raised are:
- KT-CT-8310: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Filter account references by this value. |
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]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about multiple accounts.
Arguments
| Name | Description |
|---|---|
| A phone number to find accounts associated with. |
| 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
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
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
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
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
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
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
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
projectedBalance
shouldReviewPayments
recommendedBalanceAdjustment
electricityAgreements {
...ElectricityAgreementTypeFragment
}
gasAgreements {
...GasAgreementTypeFragment
}
warmHomeDiscount {
...WarmHomeDiscountFragment
}
eligibilityForWarmHomeDiscount {
...WarmHomeDiscountEligibilityFragment
}
billingPostcode
canRenewTariff
trackerTariffDailyPricing {
...TrackerTariffDailyPricingFragment
}
paymentAdequacy {
...PaymentAdequacyTypeFragment
}
smets2Interest
smets2RefusalReason
greenAccomplishments {
...GreenAccomplishmentsTypeFragment
}
canChangePayments
cotReadingWindowDays
canBeWithdrawn
currentEstimatedSsd
earliestPossibleSsd
latestPossibleSsd
operationsTeam {
...OperationsTeamTypeFragment
}
canInputMeterReadingsViaIvr
hasActiveDunningProcess
hasActiveCollectionsProceedings
isEligibleForElectricityReadingIncentive
isEligibleForGasReadingIncentive
isInBlockingMigration
}
}Variables
{
"phoneNumber": "abc123",
"portfolioNumber": "abc123"
}Response
{
"data": {
"accounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"complaints": ComplaintConnectionTypeConnection,
"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,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"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,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"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,
"reminders": AccountReminderConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"projectedBalance": 1,
"shouldReviewPayments": true,
"recommendedBalanceAdjustment": 1,
"electricityAgreements": [ElectricityAgreementType],
"gasAgreements": [GasAgreementType],
"warmHomeDiscount": WarmHomeDiscount,
"eligibilityForWarmHomeDiscount": WarmHomeDiscountEligibility,
"billingPostcode": "abc123",
"canRenewTariff": true,
"trackerTariffDailyPricing": TrackerTariffDailyPricing,
"paymentAdequacy": PaymentAdequacyType,
"smets2Interest": "PRIORITY",
"smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME",
"greenAccomplishments": GreenAccomplishmentsType,
"canChangePayments": true,
"cotReadingWindowDays": 1,
"canBeWithdrawn": true,
"currentEstimatedSsd": "2020-01-01",
"earliestPossibleSsd": "2020-01-01",
"latestPossibleSsd": "2020-01-01",
"operationsTeam": OperationsTeamType,
"canInputMeterReadingsViaIvr": true,
"hasActiveDunningProcess": true,
"hasActiveCollectionsProceedings": true,
"isEligibleForElectricityReadingIncentive": true,
"isEligibleForGasReadingIncentive": true,
"isInBlockingMigration": true
}
]
}
}activeAffiliateReferralScheme
Type:ReferralSchemeType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Return the current active referral reward scheme of a given affiliate organisation, if any exists.
Arguments
| Name | Description |
|---|---|
| The affiliate link subdomain. |
| The account type for which to get the referral scheme. |
Query
query ActiveAffiliateReferralScheme(
$subdomain: String!,
$accountType: ReferralSchemeAccountTypeOptions
) {
activeAffiliateReferralScheme(
subdomain: $subdomain,
accountType: $accountType
) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}Variables
{
"subdomain": "abc123",
"accountType": "DOMESTIC"
}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",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}activeCampaignOffers
Type:[CampaignType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
All active campaigns with offers for the given account.
Arguments
| Name | Description |
|---|---|
|
Query
query ActiveCampaignOffers($accountNumber: String!) {
activeCampaignOffers(accountNumber: $accountNumber) {
name
slug
expiryDate
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"activeCampaignOffers": [
{
"name": "abc123",
"slug": "abc123",
"expiryDate": "2020-01-01"
}
]
}
}activeDomesticSignupRewardScheme
Type:ReferralSchemeType
URL:https://api.edfgb-kraken.energy/v1/graphql/
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
maxRecurrence
isUsageAtCapacity
}
}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",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}addressMeterpoints
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for all energised meterpoint's belonging to the given UPRN using ECOES & Xoserve APIs.
The possible errors that can be raised are:
- KT-GB-6620: Invalid data.
- KT-GB-6631: Invalid data.
- KT-GB-6630: We can't communicate with our address database right now to look up your address. Please try again.
- KT-GB-6632: UPRN not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The UPRN of the property to search for meterpoints. |
| The postcode of the property to search for meterpoints. |
Query
query AddressMeterpoints(
$uprn: String!,
$postcode: String!
) {
addressMeterpoints(
uprn: $uprn,
postcode: $postcode
) {
electricityMeterPoints {
...ElectricMeterTechnicalDetailsFragment
}
gasMeterPoints {
...GasMeterTechnicalDetailsFragment
}
}
}Variables
{
"uprn": "abc123",
"postcode": "abc123"
}Response
{
"data": {
"addressMeterpoints": {
"electricityMeterPoints": [ElectricMeterTechnicalDetails],
"gasMeterPoints": [GasMeterTechnicalDetails]
}
}
}addressUprns
Type:AddressUPRNTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for addresses belonging to the given postcode using ECOES & Xoserve APIs, with the results grouped by UPRN.
Arguments
| Name | Description |
|---|---|
| The postcode to search for. |
| If it should only return addresses from the ECOES EES data source. |
| |
| |
| |
|
Query
query AddressUprns(
$postcode: String!,
$electricityOnly: Boolean,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
addressUprns(
postcode: $postcode,
electricityOnly: $electricityOnly,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AddressUPRNTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"postcode": "abc123",
"electricityOnly": true,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"addressUprns": {
"pageInfo": PageInfo,
"edges": AddressUPRNTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}Arguments
| Name | Description |
|---|---|
| |
| |
| |
| |
| |
| |
| |
|
Query
query Addresses(
$postcode: String!,
$searchDomesticOnly: Boolean,
$useDes: Boolean,
$dataSource: DataSource,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
addresses(
postcode: $postcode,
searchDomesticOnly: $searchDomesticOnly,
useDes: $useDes,
dataSource: $dataSource,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AddressConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"postcode": "abc123",
"searchDomesticOnly": true,
"useDes": true,
"dataSource": "CACHE",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"addresses": {
"pageInfo": PageInfo,
"edges": AddressConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}allowedSupplyStartDates
Type:[Date]
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of dates on which quoted products can start supply.
Arguments
| Name | Description |
|---|---|
| Whether the quote is for a domestic or business account. Defaults to domestic. |
Query
query AllowedSupplyStartDates($isDomestic: Boolean) {
allowedSupplyStartDates(isDomestic: $isDomestic)
}Variables
{
"isDomestic": true
}Response
{
"data": {
"allowedSupplyStartDates": ["2020-01-01"]
}
}Arguments
| Name | Description |
|---|---|
| |
| |
| |
| |
| |
| |
| |
|
Query
query ApplicableRates(
$accountNumber: String!,
$mpxn: String!,
$startAt: DateTime!,
$endAt: DateTime!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
applicableRates(
accountNumber: $accountNumber,
mpxn: $mpxn,
startAt: $startAt,
endAt: $endAt,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...ApplicableRateConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"mpxn": "abc123",
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"applicableRates": {
"pageInfo": PageInfo,
"edges": ApplicableRateConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}authorizedApplications
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all the confidential-client applications the current user has authorized.
Query
query AuthorizedApplications {
authorizedApplications {
name
clientId
}
}Response
{
"data": {
"authorizedApplications": [
{
"name": "abc123",
"clientId": "abc123"
}
]
}
}autoTopupConfigs
Type:AutoTopupConfigConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the auto top-up configs for a device. Ordered by effective from date, latest first.
Arguments
| Name | Description |
|---|---|
| Target device ID, e.g. 'A1-BC-D2-00-01-23-EF-4G'. |
| Target account number, e.g. 'A-A1B2C3D4'. |
| The datetime from which the auto top-up is effective, e.g. '2024-01-01T00:00:00+00:00'. |
| |
| |
| |
|
Query
query AutoTopupConfigs(
$deviceId: String!,
$accountNumber: String!,
$effectiveFrom: DateTime,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
autoTopupConfigs(
deviceId: $deviceId,
accountNumber: $accountNumber,
effectiveFrom: $effectiveFrom,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AutoTopupConfigConnectionTypeEdgeFragment
}
}
}Variables
{
"deviceId": "abc123",
"accountNumber": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"autoTopupConfigs": {
"pageInfo": PageInfo,
"edges": AutoTopupConfigConnectionTypeEdge
}
}
}autoTopupTriggers
Type:AutoTopupTriggerConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get auto top-up trigger events for an auto topup config. Ordered by triggered_at datetime, latest first.
Arguments
| Name | Description |
|---|---|
| Target auto top-up config ID, e.g. '123'. |
| Filter by datetime (inclusive) from which trigger events have occurred, e.g. '2024-01-01T00:00:00+00:00'. |
| Filter by status of the auto top-up trigger event. |
| Filter by source of the auto top-up trigger event. |
| Filter by failure reason of the auto top-up trigger event. |
| |
| |
| |
|
Query
query AutoTopupTriggers(
$autoTopupConfigId: ID!,
$triggersFrom: DateTime,
$status: SmartDeviceAutoTopupTriggerStatus,
$source: SmartDeviceAutoTopupTriggerSources,
$failureReason: SmartDeviceAutoTopupTriggerFailureReasons,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
autoTopupTriggers(
autoTopupConfigId: $autoTopupConfigId,
triggersFrom: $triggersFrom,
status: $status,
source: $source,
failureReason: $failureReason,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AutoTopupTriggerConnectionTypeEdgeFragment
}
}
}Variables
{
"autoTopupConfigId": "abc123",
"triggersFrom": "2020-01-01T00:00:00.000Z",
"status": "INITIATED",
"source": "LOW_CREDIT_BALANCE",
"failureReason": "NO_IMPORT_METER",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"autoTopupTriggers": {
"pageInfo": PageInfo,
"edges": AutoTopupTriggerConnectionTypeEdge
}
}
}availableProductFromDisplayName
Type:EnergyProductType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Available energy product, whose display name has the given prefix.
The possible errors that can be raised are:
- KT-GB-9514: No available product found.
- KT-GB-9515: Multiple available products found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Display name of the product. |
Query
query AvailableProductFromDisplayName($displayName: String!) {
availableProductFromDisplayName(displayName: $displayName) {
id
fullName
displayName
description
availableFrom
availableTo
isHidden
code
direction
notes
isVariable
isGreen
isBusiness
isChargedHalfHourly
isPrepay
isDefault
isOccupier
term
endsAt
tariffs {
...EnergyTariffConnectionTypeConnectionFragment
}
isAvailable
isUnavailable
isFixed
isDomestic
includesEpgReduction
exitFees
exitFeesType
tags
}
}Variables
{
"displayName": "abc123"
}Response
{
"data": {
"availableProductFromDisplayName": {
"id": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"isHidden": true,
"code": "abc123",
"direction": "IMPORT",
"notes": "abc123",
"isVariable": true,
"isGreen": true,
"isBusiness": true,
"isChargedHalfHourly": true,
"isPrepay": true,
"isDefault": true,
"isOccupier": true,
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"tariffs": EnergyTariffConnectionTypeConnection,
"isAvailable": true,
"isUnavailable": true,
"isFixed": true,
"isDomestic": true,
"includesEpgReduction": true,
"exitFees": 1,
"exitFeesType": "abc123",
"tags": ["abc123"]
}
}
}availableProductSwitchDates
Type:[Date]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get available dates for product switch.
The possible errors that can be raised are:
- KT-CT-1501: Agreement not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Agreement ID. |
| The maximum number of days to look for available dates. |
Query
query AvailableProductSwitchDates(
$agreementId: Int!,
$maxRange: Int
) {
availableProductSwitchDates(
agreementId: $agreementId,
maxRange: $maxRange
)
}Variables
{
"agreementId": 1,
"maxRange": 1
}Response
{
"data": {
"availableProductSwitchDates": ["2020-01-01"]
}
}availableProducts
Type:[SupplyProductType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get available products for the given market.
The possible errors that can be raised are:
- KT-CT-4930: Unsupported market.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Products available for the target market. |
Query
query AvailableProducts($marketName: String!) {
availableProducts(marketName: $marketName) {
id
code
notes
fullName
displayName
description
availableFrom
availableTo
isHidden
term
endsAt
brandCode
marketName
availabilityStatus
termsContractType
termsAndConditionsTypes {
...TermsAndConditionsTypeFragment
}
params
tags {
...SupplyProductTagTypeFragment
}
}
}Variables
{
"marketName": "abc123"
}Response
{
"data": {
"availableProducts": [
{
"id": "abc123",
"code": "abc123",
"notes": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"isHidden": true,
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"brandCode": "abc123",
"marketName": "abc123",
"availabilityStatus": "EVERYONE",
"termsContractType": "abc123",
"termsAndConditionsTypes": TermsAndConditionsType,
"params": {"key": "value"},
"tags": SupplyProductTagType
}
]
}
}availableProductsForMeterPoint
Type:[MPxNProductType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of product codes that are the currently available products for a meter point.
Arguments
| Name | Description |
|---|---|
| Kraken account number. |
| A list of MPxNs. |
| |
| Include products with a restricted availability in the results. |
Query
query AvailableProductsForMeterPoint(
$accountNumber: String!,
$mpxns: [String]!,
$availableAt: DateTime!,
$includeRestrictedProducts: Boolean
) {
availableProductsForMeterPoint(
accountNumber: $accountNumber,
mpxns: $mpxns,
availableAt: $availableAt,
includeRestrictedProducts: $includeRestrictedProducts
) {
mpxn
products {
...EnergyProductTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"mpxns": "abc123",
"availableAt": "2020-01-01T00:00:00.000Z",
"includeRestrictedProducts": true
}Response
{
"data": {
"availableProductsForMeterPoint": [
{
"mpxn": "abc123",
"products": [EnergyProductType]
}
]
}
}backendScreen
Type:BackendScreenType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get mobile screen details to render.
The possible errors that can be raised are:
- KT-CT-8001: No backend screen available.
- KT-CT-8005: Backend screen does not support parameters.
- KT-CT-8008: Incorrect or missing data necessary to build the screen.
- KT-CT-8006: Error applying parameters to backend screen.
- KT-CT-8009: Error translating screen content.
- KT-CT-8010: Invalid step ID.
- KT-CT-8011: Cannot rewind past a previous irreversible step.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ID of the screen to return. |
| List of key-value pairs (strings) to pass as parameters to the screen. |
| 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]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all registered backend screen event IDs.
Query
query BackendScreenEventIds {
backendScreenEventIds
}Response
{
"data": {
"backendScreenEventIds": ["abc123"]
}
}backendScreenIds
Type:[String]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}bankDetailsValidation
Type:BankDetailsValidationResult
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
| The IBAN of the bank account. |
Query
query BankDetailsValidation($iban: NonEmptyString!) {
bankDetailsValidation(iban: $iban) {
areValid
message
}
}Variables
{
"iban": NonEmptyString
}Response
{
"data": {
"bankDetailsValidation": {
"areValid": true,
"message": "abc123"
}
}
}batteryDevice
Type:BatteryDeviceType
URL:https://api.edfgb-kraken.energy/v1/graphql/
The currently active battery device.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'batteryDevice' field is deprecated.
Use `SmartFlexInverter` on `devices` query instead.
- Marked as deprecated on 2025-09-08.
- Scheduled for removal on or after 2025-12-08.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/401/
Query
query BatteryDevice(
$accountNumber: String!,
$propertyId: Int!
) {
batteryDevice(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
krakenflexDeviceId
deviceType
provider
params {
...BatteryParamsTypeFragment
}
deviceStatus {
...DeviceStatusTypeFragment
}
chargingPreferences {
...BatteryChargingPreferencesTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"batteryDevice": {
"krakenflexDeviceId": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"params": BatteryParamsType,
"deviceStatus": DeviceStatusType,
"chargingPreferences": BatteryChargingPreferencesType
}
}
}batteryVariants
URL:https://api.edfgb-kraken.energy/v1/graphql/
All supported batteries and their details.
Arguments
| Name | Description |
|---|---|
| Only return batteries of a specific make. |
Query
query BatteryVariants($make: String) {
batteryVariants(make: $make) {
make
models {
...BatteryVariantModelsTypeFragment
}
}
}Variables
{
"make": "abc123"
}Response
{
"data": {
"batteryVariants": [
{
"make": "abc123",
"models": [BatteryVariantModelsType]
}
]
}
}bulkProductEligibility
Type:[ProductEnrolmentCandidateEligibilityType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Define product eligibility for enrolment candidates in bulk.
The possible errors that can be raised are:
- KT-GB-4135: Unauthorized.
- KT-CT-4910: No product exists with the given input.
- KT-CT-4623: Unauthorized.
- KT-CT-4190: Error while defining product eligibility for product enrolment candidate.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account to which meter point belongs. |
| Product code for which verify eligibility to. |
| List of candidates to verify eligibility for. |
Query
query BulkProductEligibility(
$accountNumber: String!,
$productCode: String!,
$candidates: [ProductEnrolmentCandidateInputType]!
) {
bulkProductEligibility(
accountNumber: $accountNumber,
productCode: $productCode,
candidates: $candidates
) {
candidate {
...ProductEnrolmentCandidateTypeFragment
}
eligibility {
...ProductEligibilityTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"productCode": "abc123",
"candidates": ProductEnrolmentCandidateInputType
}Response
{
"data": {
"bulkProductEligibility": [
{
"candidate": ProductEnrolmentCandidateType,
"eligibility": ProductEligibilityType
}
]
}
}business
Type:BusinessType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about a business.
The possible errors that can be raised are:
- KT-CT-11101: The viewer is not authorized to execute the query/mutation. Check the ownership/permissions of provided data.
- KT-CT-11107: Unauthorized.
- KT-CT-1605: Invalid input.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The business ID. |
| List of business detail key-value pairs to filter by. |
Query
query Business(
$id: ID,
$details: [BusinessDetailInput]
) {
business(
id: $id,
details: $details
) {
id
name
number
businessType
sectors
details {
...BusinessDetailTypeFragment
}
billingAddress {
...RichAddressTypeFragment
}
legalAddress {
...RichAddressTypeFragment
}
linkedAccountNumber
linkedAccountNumbers
segmentName
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}Variables
{
"id": "abc123",
"details": BusinessDetailInput
}Response
{
"data": {
"business": {
"id": "abc123",
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"sectors": BusinessSectorString,
"details": [BusinessDetailType],
"billingAddress": RichAddressType,
"legalAddress": RichAddressType,
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}businessAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Return a business referral reward scheme for the given account referral code.
Arguments
| Name | Description |
|---|---|
| Friend referral code. |
Query
query BusinessAccountReferralRewardScheme($code: String!) {
businessAccountReferralRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}Variables
{
"code": "abc123"
}Response
{
"data": {
"businessAccountReferralRewardScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}businessContract
Type:Contract
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about an account contract.
The possible errors that can be raised are:
- KT-CT-10003: Contract not found.
- KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
- KT-CT-10006: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the contract. |
| The account number to find the business contract for. |
| The version of the contract. |
Query
query BusinessContract(
$identifier: String,
$accountNumber: String,
$version: Int
) {
businessContract(
identifier: $identifier,
accountNumber: $accountNumber,
version: $version
) {
identifier
title
party {
... on AccountType {
...AccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}Response
{
"data": {
"businessContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": AccountType,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}
}
}call
Type:CallInterface!
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get a call for a given ID.
The possible errors that can be raised are:
- KT-CT-11802: Call not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The call ID. |
Query
query Call($id: ID!) {
call(id: $id) {
id
account {
...AccountTypeFragment
}
metadata {
...CallMetadataItemTypeFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"call": {
"id": "abc123",
"account": AccountType,
"metadata": CallMetadataItemType
}
}
}campaigns
Type:AccountCampaignConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
The campaigns associated with this account.
Arguments
| Name | Description |
|---|---|
| The account number. |
| |
| |
| |
|
Query
query Campaigns(
$accountNumber: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
campaigns(
accountNumber: $accountNumber,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AccountCampaignConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"campaigns": {
"pageInfo": PageInfo,
"edges": AccountCampaignConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}Query
query ChargePointVariants {
chargePointVariants {
make
models {
...ChargePointVariantModelTypeFragment
}
}
}Response
{
"data": {
"chargePointVariants": [
{
"make": "abc123",
"models": [ChargePointVariantModelType]
}
]
}
}complaint
Type:ComplaintType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get a complaint.
The possible errors that can be raised are:
- KT-CT-12301: Complaint not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query Complaint($complaintId: Int!) {
complaint(complaintId: $complaintId) {
id
contacts {
...ComplaintContactConnectionTypeConnectionFragment
}
type
subtype
creationDate
resolutionDate
assigneeId
}
}Variables
{
"complaintId": 1
}Response
{
"data": {
"complaint": {
"id": "abc123",
"contacts": ComplaintContactConnectionTypeConnection,
"type": "abc123",
"subtype": "abc123",
"creationDate": "2020-01-01",
"resolutionDate": "2020-01-01",
"assigneeId": "abc123"
}
}
}completedDispatches
Type:[UpsideDispatchType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
All completed device dispatches 12 hours behind, in reverse time order.
Arguments
| Name | Description |
|---|---|
|
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
}
]
}
}consentTypes
Type:[ConsentTypeType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of the consent types available.
Query
query ConsentTypes {
consentTypes {
code
description
name
defaultValue
}
}Response
{
"data": {
"consentTypes": [
{
"code": "abc123",
"description": "abc123",
"name": "abc123",
"defaultValue": "ACCEPTED"
}
]
}
}consumptionEstimates
Type:ConsumptionEstimates
URL:https://api.edfgb-kraken.energy/v1/graphql/
Consumption estimates based on ofgem statistics.
Query
query ConsumptionEstimates {
consumptionEstimates {
low {
...ConsumptionEstimateFragment
}
medium {
...ConsumptionEstimateFragment
}
high {
...ConsumptionEstimateFragment
}
}
}Response
{
"data": {
"consumptionEstimates": {
"low": ConsumptionEstimate,
"medium": ConsumptionEstimate,
"high": ConsumptionEstimate
}
}
}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]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Aggregated cost of charge for an EV device.
Deprecated
The 'costOfCharge' field is deprecated.
Use `cost` field on `SmartFlexChargingSession` instead.
- Marked as deprecated on 2025-05-13.
- Scheduled for removal on or after 2026-01-16.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/605/
Arguments
| Name | Description |
|---|---|
| |
| Frequency by day, week, month or year. |
| The date up to which data should be relative to. |
| 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
}
]
}
}costOfUsage
Type:CostOfUsageType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Cost of usage recorded by the meter.
The possible errors that can be raised are:
- KT-GB-4011: No SMETS consumption found.
- KT-GB-6312: Unable to query unit rates.
- KT-GB-3810: Unable to get cost of usage.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'costOfUsage' field is deprecated.
Please measurements statistics node instead.
- Marked as deprecated on 2024-09-02.
- Scheduled for removal on or after 2024-12-01.
Arguments
| Name | Description |
|---|---|
| Account number. |
| The electricity or gas meter ID. |
| The energy type, i.e. ELECTRICITY or GAS. |
| Datetime the data should be queried from. |
| Aggregate cost according to this grouping. |
| Timezone to use for grouping. |
Query
query CostOfUsage(
$accountNumber: String,
$meterId: String,
$fuelType: FuelType,
$startAt: DateTime,
$grouping: ConsumptionGroupings!,
$timezone: String
) {
costOfUsage(
accountNumber: $accountNumber,
meterId: $meterId,
fuelType: $fuelType,
startAt: $startAt,
grouping: $grouping,
timezone: $timezone
) {
costEnabled
direction
details {
...CostOfUsageConnectionTypeConnectionFragment
}
}
}Variables
{
"accountNumber": "abc123",
"meterId": "abc123",
"fuelType": "ELECTRICITY",
"startAt": "2020-01-01T00:00:00.000Z",
"grouping": "QUARTER_HOUR",
"timezone": "abc123"
}Response
{
"data": {
"costOfUsage": {
"costEnabled": true,
"direction": "abc123",
"details": CostOfUsageConnectionTypeConnection
}
}
}customerFeedbackForms
Type:CustomerFeedbackFormConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Returns all active customer feedback forms for the account's brand.
Arguments
| Name | Description |
|---|---|
| The account number. |
| Feedback sources currently supported. |
| |
| |
| |
|
Query
query CustomerFeedbackForms(
$accountNumber: String!,
$feedbackSource: CustomerFeedbackSourceChoices,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
customerFeedbackForms(
accountNumber: $accountNumber,
feedbackSource: $feedbackSource,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CustomerFeedbackFormConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"feedbackSource": "FEEDBACK_SOURCE_PHONE_CALL_FOLLOW_UP",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"customerFeedbackForms": {
"pageInfo": PageInfo,
"edges": CustomerFeedbackFormConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}dashboardScreen
Type:Dashboard
URL:https://api.edfgb-kraken.energy/v1/graphql/
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.
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-8001: No backend screen available.
- KT-CT-8005: Backend screen does not support parameters.
- KT-CT-8008: Incorrect or missing data necessary to build the screen.
- KT-CT-8006: Error applying parameters to backend screen.
- KT-CT-8009: Error translating screen content.
- KT-CT-8010: Invalid step ID.
- KT-CT-8011: Cannot rewind past a previous irreversible step.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ID of the dashboard type screen to return. |
| The account number of the user. |
| The maximum version of dahshboard type screens supported by the client. |
| The ledger id associated to the account. |
| The ledger number associated to the account. |
| The property id associated to the account. |
| List of key-value pairs (strings) to pass as parameters to the screen. |
Query
query DashboardScreen(
$dashboardId: ID!,
$accountNumber: String!,
$maxVersionSupported: Int!,
$ledgerId: String,
$ledgerNumber: String,
$propertyId: String,
$params: [BackendScreenParamInputType]
) {
dashboardScreen(
dashboardId: $dashboardId,
accountNumber: $accountNumber,
maxVersionSupported: $maxVersionSupported,
ledgerId: $ledgerId,
ledgerNumber: $ledgerNumber,
propertyId: $propertyId,
params: $params
) {
id
typename
dashboardItems {
...SectionTypeFragment
}
serialisedDashboardItems
}
}Variables
{
"dashboardId": "abc123",
"accountNumber": "abc123",
"maxVersionSupported": 1,
"ledgerId": "abc123",
"ledgerNumber": "abc123",
"propertyId": "abc123",
"params": BackendScreenParamInputType
}Response
{
"data": {
"dashboardScreen": {
"id": "abc123",
"typename": "abc123",
"dashboardItems": SectionType,
"serialisedDashboardItems": "abc123"
}
}
}defaultPaymentInstruction
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the default payment instruction for the account's main ledger.
Arguments
| Name | Description |
|---|---|
| The account number. |
| 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
supplementaryLedger {
...SupplementaryLedgerTypeFragment
}
bankCode
accountType
validFrom
vendor
cardNumber
cardType
maskedAccountIdentifier
owners {
...PaymentInstructionOwnerTypeFragment
}
}
}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,
"supplementaryLedger": SupplementaryLedgerType,
"bankCode": "abc123",
"accountType": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"vendor": "abc123",
"cardNumber": "abc123",
"cardType": "abc123",
"maskedAccountIdentifier": "abc123",
"owners": [PaymentInstructionOwnerType]
}
}
}defaultRawScore
Type:Int
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get default raw score for a customer feedback form.
The possible errors that can be raised are:
- KT-CT-5513: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query DefaultRawScore($formId: Int!) {
defaultRawScore(formId: $formId)
}Variables
{
"formId": 1
}Response
{
"data": {
"defaultRawScore": 1
}
}devices
Type:[SmartFlexDeviceInterface!]
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of devices registered to an account.
Arguments
| Name | Description |
|---|---|
| The account number, e.g. A-12345678. |
| Only list devices registered to this property. |
| Only list the device with this ID. |
| Only list the device with this integration device ID. |
Query
query Devices(
$accountNumber: String!,
$propertyId: ID,
$deviceId: String,
$integrationDeviceId: String
) {
devices(
accountNumber: $accountNumber,
propertyId: $propertyId,
deviceId: $deviceId,
integrationDeviceId: $integrationDeviceId
) {
id
name
deviceType
provider
integrationDeviceId
status {
...SmartFlexDeviceStatusInterfaceFragment
}
propertyId
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
preferenceSetting {
...FlexDevicePreferenceSettingInterfaceFragment
}
reAuthenticationState {
...DeviceReAuthenticationInterfaceFragment
}
}
}Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"deviceId": "abc123",
"integrationDeviceId": "abc123"
}Response
{
"data": {
"devices": [
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface
}
]
}
}domesticAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Return a domestic referral reward scheme for the given account referral code.
Arguments
| Name | Description |
|---|---|
| Friend referral code. |
Query
query DomesticAccountReferralRewardScheme($code: String!) {
domesticAccountReferralRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}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",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}domesticJoiningRewardScheme
Type:ReferralSchemeType
URL:https://api.edfgb-kraken.energy/v1/graphql/
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
| Name | Description |
|---|---|
| Reward code for the scheme. |
Query
query DomesticJoiningRewardScheme($code: String!) {
domesticJoiningRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}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",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}domesticSignupRewardScheme
Type:ReferralSchemeType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Return a signup referral reward scheme with the given code, if it's active.
Arguments
| Name | Description |
|---|---|
| Reward code for the scheme. |
Query
query DomesticSignupRewardScheme($code: String!) {
domesticSignupRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}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",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}earliestPossibleDirectDebitPaymentDate
Type:EarliestPossibleDirectDebitPaymentDate
URL:https://api.edfgb-kraken.energy/v1/graphql/
Earliest possible payment date from today for which the first direct debit payment can be made.
The possible errors that can be raised are:
- KT-GB-3914: Unable to get earliest ssd payment date.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query EarliestPossibleDirectDebitPaymentDate {
earliestPossibleDirectDebitPaymentDate {
earliestPossibleDirectDebitPaymentDate
}
}Response
{
"data": {
"earliestPossibleDirectDebitPaymentDate": {
"earliestPossibleDirectDebitPaymentDate": "2020-01-01"
}
}
}electricVehicles
URL:https://api.edfgb-kraken.energy/v1/graphql/
All electric vehicle types and their details.
Arguments
| Name | Description |
|---|---|
| Only return vehicle types for the specified make. |
| Only return vehicle types supported by the specified provider, e.g. Tesla. |
| 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": "BYD",
"isIntegrationLive": true
}Response
{
"data": {
"electricVehicles": [
{
"make": "abc123",
"models": [ElectricVehicleModelType]
}
]
}
}electricityAgreement
Type:AgreementInterface
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get an electricity agreement.
This field requires the Authorization header to be set.
Arguments
| Name | Description |
|---|---|
|
Query
query ElectricityAgreement($id: ID!) {
electricityAgreement(id: $id) {
id
validFrom
validTo
agreedFrom
agreedTo
isRevoked
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"electricityAgreement": {
"id": 1,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true
}
}
}electricityMeterPointDetails
Type:ElectricityMeterPointDetails
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for the meter point details with given MPAN using ECOES switching API.
The possible errors that can be raised are:
- KT-GB-6634: The provided MPAN is not valid.
- KT-GB-6630: We can't communicate with our address database right now to look up your address. Please try again.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The MPAN of the meter point. |
Query
query ElectricityMeterPointDetails($mpan: String!) {
electricityMeterPointDetails(mpan: $mpan) {
technicalDetails {
...ElectricMeterTechnicalDetailsFragment
}
relAddress {
...UniqueRELAddressTypeFragment
}
}
}Variables
{
"mpan": "abc123"
}Response
{
"data": {
"electricityMeterPointDetails": {
"technicalDetails": ElectricMeterTechnicalDetails,
"relAddress": UniqueRELAddressType
}
}
}electricityMeterReadings
Type:ElectricityMeterReadingConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
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
| Name | Description |
|---|---|
| |
| |
| |
| Only fetch meter readings made since this date |
| Only fetch meter readings made until this date |
| |
| |
| |
|
Query
query ElectricityMeterReadings(
$accountNumber: String!,
$meterId: String!,
$eventTypes: [MeterReadingEventType],
$readFrom: DateTime,
$readTo: DateTime,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
electricityMeterReadings(
accountNumber: $accountNumber,
meterId: $meterId,
eventTypes: $eventTypes,
readFrom: $readFrom,
readTo: $readTo,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...ElectricityMeterReadingConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"meterId": "abc123",
"eventTypes": "CUSTOMER",
"readFrom": "2020-01-01T00:00:00.000Z",
"readTo": "2020-01-01T00:00:00.000Z",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"electricityMeterReadings": {
"pageInfo": PageInfo,
"edges": ElectricityMeterReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}electricityMeterpoint
Type:ElectricMeterTechnicalDetails
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for the meterpoint with given MPAN using ECOES switching API.
The possible errors that can be raised are:
- KT-GB-6634: The provided MPAN is not valid.
- KT-GB-6630: We can't communicate with our address database right now to look up your address. Please try again.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The MPAN of the meterpoint. |
Query
query ElectricityMeterpoint($mpan: String!) {
electricityMeterpoint(mpan: $mpan) {
mpan
distributorMpid
tradingStatus
tradingStatusEfd
gspGroupId
gspGroupEfd
lineLossFactor
lineLossFactorEfd
dccServiceFlag
dccServiceFlagEfd
greenDealInEffect
supplierMpid
supplierEfd
energisationStatus
energisationStatusEfd
profileClass
profileClassEfd
standardSettlementConfiguration
standardSettlementConfigurationEfd
meterTimeswitchClass
meterTimeswitchClassEfd
measurementClass
measurementClassEfd
dataAggregatorMpid
dataAggregatorEfd
dataCollectorMpid
dataCollectorEfd
meterOperatorMpid
meterOperatorEfd
smsoMpid
smsoEfd
ihdStatus
ihdStatusEfd
smetsVersion
meteredIndicator
meteredIndicatorEfd
meteredIndicatorEtd
consumerType
domesticConsumerIndicator
domesticPremisesIndicator
relationshipStatusIndicator
rmpState
rmpStateEfd
cssSupplierMpid
cssSupplyStartDate
energyDirection
energyDirectionEfd
energyDirectionEtd
connectionType
connectionTypeEfd
connectionTypeEtd
meters {
...ElectricMeterTechnicalSubDetailsFragment
}
mhhsIndicator
mhhsIndicatorEfd
distributorDipId
disconnectionEfd
supplierDipId
meteringServiceMpid
meteringServiceDipId
meteringServiceEfd
meteringServiceEtd
annualConsumption
annualConsumptionEfd
annualConsumptionQualityIndicator
assignedMdrMpid
assignedMdrEfd
customerDirectContractDsExists
customerDirectContractDsMpid
customerDirectContractDsDipId
customerDirectContractMsExists
customerDirectContractMsMpid
customerDirectContractMsDipId
dataServiceMpid
dataServiceEfd
dataServiceDipId
duosTariffId
duosTariffIdEfd
marketSegmentIndicator
marketSegmentIndicatorEfd
}
}Variables
{
"mpan": "abc123"
}Response
{
"data": {
"electricityMeterpoint": {
"mpan": "abc123",
"distributorMpid": "abc123",
"tradingStatus": "abc123",
"tradingStatusEfd": "2020-01-01",
"gspGroupId": "abc123",
"gspGroupEfd": "2020-01-01",
"lineLossFactor": "abc123",
"lineLossFactorEfd": "2020-01-01",
"dccServiceFlag": "abc123",
"dccServiceFlagEfd": "2020-01-01",
"greenDealInEffect": "abc123",
"supplierMpid": "abc123",
"supplierEfd": "2020-01-01",
"energisationStatus": "abc123",
"energisationStatusEfd": "2020-01-01",
"profileClass": 1,
"profileClassEfd": "2020-01-01",
"standardSettlementConfiguration": "abc123",
"standardSettlementConfigurationEfd": "2020-01-01",
"meterTimeswitchClass": 1,
"meterTimeswitchClassEfd": "2020-01-01",
"measurementClass": "abc123",
"measurementClassEfd": "2020-01-01",
"dataAggregatorMpid": "abc123",
"dataAggregatorEfd": "2020-01-01",
"dataCollectorMpid": "abc123",
"dataCollectorEfd": "2020-01-01",
"meterOperatorMpid": "abc123",
"meterOperatorEfd": "2020-01-01",
"smsoMpid": "abc123",
"smsoEfd": "2020-01-01",
"ihdStatus": "abc123",
"ihdStatusEfd": "2020-01-01",
"smetsVersion": "abc123",
"meteredIndicator": true,
"meteredIndicatorEfd": "2020-01-01",
"meteredIndicatorEtd": "2020-01-01",
"consumerType": "abc123",
"domesticConsumerIndicator": true,
"domesticPremisesIndicator": true,
"relationshipStatusIndicator": "abc123",
"rmpState": "abc123",
"rmpStateEfd": "2020-01-01",
"cssSupplierMpid": "abc123",
"cssSupplyStartDate": "2020-01-01",
"energyDirection": "abc123",
"energyDirectionEfd": "2020-01-01",
"energyDirectionEtd": "2020-01-01",
"connectionType": "abc123",
"connectionTypeEfd": "2020-01-01",
"connectionTypeEtd": "2020-01-01",
"meters": [ElectricMeterTechnicalSubDetails],
"mhhsIndicator": "abc123",
"mhhsIndicatorEfd": "2020-01-01",
"distributorDipId": "abc123",
"disconnectionEfd": "2020-01-01",
"supplierDipId": "abc123",
"meteringServiceMpid": "abc123",
"meteringServiceDipId": "abc123",
"meteringServiceEfd": "2020-01-01",
"meteringServiceEtd": "2020-01-01",
"annualConsumption": "1.0",
"annualConsumptionEfd": "2020-01-01",
"annualConsumptionQualityIndicator": "abc123",
"assignedMdrMpid": "abc123",
"assignedMdrEfd": "2020-01-01",
"customerDirectContractDsExists": true,
"customerDirectContractDsMpid": "abc123",
"customerDirectContractDsDipId": "abc123",
"customerDirectContractMsExists": true,
"customerDirectContractMsMpid": "abc123",
"customerDirectContractMsDipId": "abc123",
"dataServiceMpid": "abc123",
"dataServiceEfd": "2020-01-01",
"dataServiceDipId": "abc123",
"duosTariffId": "abc123",
"duosTariffIdEfd": "2020-01-01",
"marketSegmentIndicator": "abc123",
"marketSegmentIndicatorEfd": "2020-01-01"
}
}
}electricityPrepayLedgers
Type:PrepayLedgersType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-GB-6211: Account does not exist.
- KT-GB-6212: Meter does not exist.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query ElectricityPrepayLedgers(
$accountNumber: String!,
$mpan: String!,
$serialNumber: String!
) {
electricityPrepayLedgers(
accountNumber: $accountNumber,
mpan: $mpan,
serialNumber: $serialNumber
) {
creditLedger {
...SupplementaryLedgerTypeFragment
}
debtLedger {
...SupplementaryLedgerTypeFragment
}
paymentLedger {
...PrepayPaymentLedgerTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"mpan": "abc123",
"serialNumber": "abc123"
}Response
{
"data": {
"electricityPrepayLedgers": {
"creditLedger": SupplementaryLedgerType,
"debtLedger": SupplementaryLedgerType,
"paymentLedger": PrepayPaymentLedgerType
}
}
}eligibilityToJoinLoyaltyPointsProgram
Type:LoyaltyPointsProgramEligibilityType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Check if an account is eligible to join the loyalty points program.
The possible errors that can be raised are:
- KT-CT-9202: Loyalty Points adapter not configured.
- KT-CT-9218: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
Query
query EligibilityToJoinLoyaltyPointsProgram($input: LoyaltyPointsProgramEligibilityInput!) {
eligibilityToJoinLoyaltyPointsProgram(input: $input) {
isEligible
primaryIneligibilityReason
}
}Variables
{
"input": LoyaltyPointsProgramEligibilityInput
}Response
{
"data": {
"eligibilityToJoinLoyaltyPointsProgram": {
"isEligible": true,
"primaryIneligibilityReason": "abc123"
}
}
}eligibleDeviceTypes
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of device types that are eligible for registration.
Arguments
| Name | Description |
|---|---|
| The account number, e.g. A-12345678. |
| |
Query
query EligibleDeviceTypes(
$accountNumber: String!,
$propertyId: Int
) {
eligibleDeviceTypes(
accountNumber: $accountNumber,
propertyId: $propertyId
)
}Variables
{
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"eligibleDeviceTypes": "BATTERIES"
}
}embeddedNetwork
Type:EmbeddedNetworkType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about an embedded network.
Arguments
| Name | Description |
|---|---|
|
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
URL:https://api.edfgb-kraken.energy/v1/graphql/
The current energy generation mix.
Query
query EnergyMixData {
energyMixData {
carbonIntensityIndex
}
}Response
{
"data": {
"energyMixData": {
"carbonIntensityIndex": "abc123"
}
}
}energyProduct
Type:EnergyProductType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get an energy product that matches the given code.
Arguments
| Name | Description |
|---|---|
| Code for the energy product. |
Query
query EnergyProduct($code: String!) {
energyProduct(code: $code) {
id
fullName
displayName
description
availableFrom
availableTo
isHidden
code
direction
notes
isVariable
isGreen
isBusiness
isChargedHalfHourly
isPrepay
isDefault
isOccupier
term
endsAt
tariffs {
...EnergyTariffConnectionTypeConnectionFragment
}
isAvailable
isUnavailable
isFixed
isDomestic
includesEpgReduction
exitFees
exitFeesType
tags
}
}Variables
{
"code": "abc123"
}Response
{
"data": {
"energyProduct": {
"id": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"isHidden": true,
"code": "abc123",
"direction": "IMPORT",
"notes": "abc123",
"isVariable": true,
"isGreen": true,
"isBusiness": true,
"isChargedHalfHourly": true,
"isPrepay": true,
"isDefault": true,
"isOccupier": true,
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"tariffs": EnergyTariffConnectionTypeConnection,
"isAvailable": true,
"isUnavailable": true,
"isFixed": true,
"isDomestic": true,
"includesEpgReduction": true,
"exitFees": 1,
"exitFeesType": "abc123",
"tags": ["abc123"]
}
}
}energyProducts
Type:EnergyProductConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all products for a given brand and postcode. The supplied postcode will ensure that there are tariffs available on the product for the GSP.
Arguments
| Name | Description |
|---|---|
| Postcode to search energy products for. |
| Filter by specific tags which are attached to the product. |
| Exclude products with these tag codes. |
| Filter by a specific energy brand. |
| Filter by these brands. |
| Filter for available or unavailable products only. |
| Filter by the type of energy product. |
| Energy product direction to filter products by. |
| |
| |
| |
|
Query
query EnergyProducts(
$postcode: String!,
$tags: [String],
$excludeTags: [String],
$brand: String,
$brands: [String],
$availability: EnergyProductAvailability,
$filterBy: [EnergyProductFilters],
$direction: EnergyProductDirection,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
energyProducts(
postcode: $postcode,
tags: $tags,
excludeTags: $excludeTags,
brand: $brand,
brands: $brands,
availability: $availability,
filterBy: $filterBy,
direction: $direction,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...EnergyProductConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"postcode": "abc123",
"tags": ["abc123"],
"excludeTags": ["abc123"],
"brand": "abc123",
"brands": ["abc123"],
"availability": "AVAILABLE",
"filterBy": "PREPAY",
"direction": "IMPORT",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"energyProducts": {
"pageInfo": PageInfo,
"edges": EnergyProductConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}enodeLinkSession
Type:EnodeLinkSessionType
URL:https://api.edfgb-kraken.energy/v1/graphql/
The user specific Enode link session details.
The possible errors that can be raised are:
- KT-CT-4328: Invalid data.
- KT-CT-1111: Unauthorized.
- KT-CT-4319: Unable to get Enode link session.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'enodeLinkSession' field is deprecated.
Please use 'startSmartFlexOnboarding' instead.
- Marked as deprecated on 2025-10-30.
- Scheduled for removal on or after 2026-04-30.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/608/
Arguments
| Name | Description |
|---|---|
| |
|
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"
}
}
}fitInstallations
Type:[InstallationType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about FIT installations attached to an account, including any meters and previous readings.
Arguments
| Name | Description |
|---|---|
| Account to query for FIT installations. |
Query
query FitInstallations($accountNumber: String!) {
fitInstallations(accountNumber: $accountNumber) {
fitId
fitTermsAgreedAt
inspectionAt
meters {
...FitMeterTypeFragment
}
propertyAddress {
...PropertyAddressTypeFragment
}
technologyType
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"fitInstallations": [
{
"fitId": "abc123",
"fitTermsAgreedAt": "2020-01-01T00:00:00.000Z",
"inspectionAt": "2020-01-01T00:00:00.000Z",
"meters": [FitMeterType],
"propertyAddress": PropertyAddressType,
"technologyType": "ANAEROBIC_DIGESTION"
}
]
}
}fitSchedule
Type:FitScheduleType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about a FIT schedule attached to an account.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The number of the account responsible for this FIT schedule. |
| Unique identifier for the schedule. |
Query
query FitSchedule(
$accountNumber: String!,
$scheduleId: String!
) {
fitSchedule(
accountNumber: $accountNumber,
scheduleId: $scheduleId
) {
scheduleId
sentAt
acceptedAt
temporaryDownloadUrls
}
}Variables
{
"accountNumber": "abc123",
"scheduleId": "abc123"
}Response
{
"data": {
"fitSchedule": {
"scheduleId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"sentAt": "2020-01-01T00:00:00.000Z",
"acceptedAt": "2020-01-01T00:00:00.000Z",
"temporaryDownloadUrls": ["abc123"]
}
}
}flexPlannedDispatches
Type:[SmartFlexDispatch]
URL:https://api.edfgb-kraken.energy/v1/graphql/
All planned device dispatches in time order.
Arguments
| Name | Description |
|---|---|
| The SmartFlex device ID to get the planned dispatches for. |
Query
query FlexPlannedDispatches($deviceId: String!) {
flexPlannedDispatches(deviceId: $deviceId) {
start
end
type
energyAddedKwh
}
}Variables
{
"deviceId": "abc123"
}Response
{
"data": {
"flexPlannedDispatches": [
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"type": "SMART",
"energyAddedKwh": "1.0"
}
]
}
}flexSupportedDevices
Type:FlexSupportedDevices
URL:https://api.edfgb-kraken.energy/v1/graphql/
Devices capable of being registered with SmartFlex.
Arguments
| Name | Description |
|---|---|
| The device type to get the supported devices for. |
Query
query FlexSupportedDevices($deviceType: KrakenFlexDeviceTypes!) {
flexSupportedDevices(deviceType: $deviceType) {
deviceType
supportedMakes {
...FlexSupportedMakeFragment
}
}
}Variables
{
"deviceType": "BATTERIES"
}Response
{
"data": {
"flexSupportedDevices": {
"deviceType": "BATTERIES",
"supportedMakes": FlexSupportedMake
}
}
}followOnProduct
Type:FollowOnProductType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Follow on product.
The possible errors that can be raised are:
- KT-GB-9510: At least one agreement ID is required.
- KT-GB-9511: Please, provide either electricityagreementid or gasagreementid. Both are not accepted.
- KT-GB-9512: No agreement found.
- KT-GB-9513: No follow on product found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Kraken account number. |
| Electricity agreement Kraken ID. |
| Gas agreement Kraken ID. |
|
Query
query FollowOnProduct(
$accountNumber: String!,
$electricityAgreementId: ID,
$gasAgreementId: ID,
$validAt: DateTime!
) {
followOnProduct(
accountNumber: $accountNumber,
electricityAgreementId: $electricityAgreementId,
gasAgreementId: $gasAgreementId,
validAt: $validAt
) {
activeFrom
activeTo
accountType
paymentMethod
renewalProducts {
...RenewalProductTypeFragment
}
createdAt
}
}Variables
{
"accountNumber": "abc123",
"electricityAgreementId": "abc123",
"gasAgreementId": "abc123",
"validAt": "2020-01-01T00:00:00.000Z"
}Response
{
"data": {
"followOnProduct": {
"activeFrom": "2020-01-01T00:00:00.000Z",
"activeTo": "2020-01-01T00:00:00.000Z",
"accountType": "BUSINESS",
"paymentMethod": "DIRECT_DEBIT",
"renewalProducts": [RenewalProductType],
"createdAt": "2020-01-01T00:00:00.000Z"
}
}
}gasAgreement
Type:AgreementInterface
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get an gas agreement.
This field requires the Authorization header to be set.
Arguments
| Name | Description |
|---|---|
|
Query
query GasAgreement($id: ID!) {
gasAgreement(id: $id) {
id
validFrom
validTo
agreedFrom
agreedTo
isRevoked
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"gasAgreement": {
"id": 1,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true
}
}
}gasMeterPointDetails
Type:GasMeterPointDetails
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for the meter point details with given MPRN using Xoserve switching API.
The possible errors that can be raised are:
- KT-GB-6635: The provided MPRN is not valid.
- KT-GB-6630: We can't communicate with our address database right now to look up your address. Please try again.
- KT-GB-6636: The provided MPRN is linked to an extinct meterpoint.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The MPRN of the meterpoint. |
Query
query GasMeterPointDetails($mprn: String!) {
gasMeterPointDetails(mprn: $mprn) {
technicalDetails {
...GasMeterTechnicalDetailsFragment
}
relAddress {
...UniqueRELAddressTypeFragment
}
}
}Variables
{
"mprn": "abc123"
}Response
{
"data": {
"gasMeterPointDetails": {
"technicalDetails": GasMeterTechnicalDetails,
"relAddress": UniqueRELAddressType
}
}
}gasMeterReadings
Type:GasMeterReadingConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
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
| Name | Description |
|---|---|
| |
| |
| |
| Only fetch meter readings made since this date |
| Only fetch meter readings made until this date |
| |
| |
| |
|
Query
query GasMeterReadings(
$accountNumber: String!,
$meterId: String!,
$eventTypes: [MeterReadingEventType],
$readFrom: DateTime,
$readTo: DateTime,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
gasMeterReadings(
accountNumber: $accountNumber,
meterId: $meterId,
eventTypes: $eventTypes,
readFrom: $readFrom,
readTo: $readTo,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...GasMeterReadingConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"meterId": "abc123",
"eventTypes": "CUSTOMER",
"readFrom": "2020-01-01T00:00:00.000Z",
"readTo": "2020-01-01T00:00:00.000Z",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"gasMeterReadings": {
"pageInfo": PageInfo,
"edges": GasMeterReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}gasMeterpoint
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for the meterpoint with given MPRN using Xoserve switching API.
The possible errors that can be raised are:
- KT-GB-6635: The provided MPRN is not valid.
- KT-GB-6630: We can't communicate with our address database right now to look up your address. Please try again.
- KT-GB-6636: The provided MPRN is linked to an extinct meterpoint.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The MPRN of the meterpoint. |
Query
query GasMeterpoint($mprn: String!) {
gasMeterpoint(mprn: $mprn) {
mprn
currentSupplierId
currentSupplierRegEffectiveDate
pendingSupplierRegEffectiveDate
dmq
gasTransportId
ldzId
meterCapacity
meterMechanismCode
meterNumberOfDials
meterSerialNumber
mpaq
marketSectorCode
ndmq
smartEquipmentTechnicalCode
}
}Variables
{
"mprn": "abc123"
}Response
{
"data": {
"gasMeterpoint": {
"mprn": "abc123",
"currentSupplierId": "abc123",
"currentSupplierRegEffectiveDate": "abc123",
"pendingSupplierRegEffectiveDate": "abc123",
"dmq": "1.0",
"gasTransportId": "abc123",
"ldzId": "abc123",
"meterCapacity": "abc123",
"meterMechanismCode": "abc123",
"meterNumberOfDials": "abc123",
"meterSerialNumber": "abc123",
"mpaq": "1.0",
"marketSectorCode": "abc123",
"ndmq": "1.0",
"smartEquipmentTechnicalCode": "abc123"
}
}
}gasPrepayLedgers
Type:PrepayLedgersType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-GB-6211: Account does not exist.
- KT-GB-6212: Meter does not exist.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query GasPrepayLedgers(
$accountNumber: String!,
$mprn: String!,
$serialNumber: String!
) {
gasPrepayLedgers(
accountNumber: $accountNumber,
mprn: $mprn,
serialNumber: $serialNumber
) {
creditLedger {
...SupplementaryLedgerTypeFragment
}
debtLedger {
...SupplementaryLedgerTypeFragment
}
paymentLedger {
...PrepayPaymentLedgerTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"mprn": "abc123",
"serialNumber": "abc123"
}Response
{
"data": {
"gasPrepayLedgers": {
"creditLedger": SupplementaryLedgerType,
"debtLedger": SupplementaryLedgerType,
"paymentLedger": PrepayPaymentLedgerType
}
}
}getOnSiteJobsJobTypes
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get available job types for an on-site jobs request.
Arguments
| Name | Description |
|---|---|
| The ID of the request for which to fetch available job types. |
| Work category to filter job types by. If it's left as blank, all job types will be returned. |
Query
query GetOnSiteJobsJobTypes(
$requestId: UUID!,
$workCategory: OnSiteJobsWorkCategory
) {
getOnSiteJobsJobTypes(
requestId: $requestId,
workCategory: $workCategory
) {
id
name
}
}Variables
{
"requestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"workCategory": "EXCHANGE"
}Response
{
"data": {
"getOnSiteJobsJobTypes": [
{
"id": "abc123",
"name": "abc123"
}
]
}
}goodsProducts
Type:GoodsProductConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
List Goods products given a market.
Arguments
| Name | Description |
|---|---|
| Market name of the products to list. |
| Types of the products to filter by. |
| Code of the products to filter by. |
| |
| |
| |
|
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]
URL:https://api.edfgb-kraken.energy/v1/graphql/
List purchases for an account.
Arguments
| Name | Description |
|---|---|
| The account number. |
Query
query GoodsPurchases($accountNumber: String!) {
goodsPurchases(accountNumber: $accountNumber) {
code
ledgerId
ledgerNumber
goodsSaleItems {
...GoodsSaleItemFragment
}
goodsGrants {
...GoodsGrantFragment
}
marketName
marketParams
clientParams
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"goodsPurchases": [
{
"code": "abc123",
"ledgerId": "abc123",
"ledgerNumber": "abc123",
"goodsSaleItems": [GoodsSaleItem],
"goodsGrants": [GoodsGrant],
"marketName": "abc123",
"marketParams": {"key": "value"},
"clientParams": {"key": "value"}
}
]
}
}goodsQuotes
Type:[GoodsQuote]
URL:https://api.edfgb-kraken.energy/v1/graphql/
List quotes given an account number or retrieve a Goods quote given a quote code.
Arguments
| Name | Description |
|---|---|
| The account number. |
| 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": "abc123",
"code": "abc123",
"totalNetAmount": 1,
"quotedAt": "2020-01-01T00:00:00.000Z",
"goodsQuotedProducts": [GoodsQuotedProduct],
"hasQuoteExpired": true
}
]
}
}inkCommsTemplate
Type:String!
URL:https://api.edfgb-kraken.energy/v1/graphql/
Fetch the content of a given comms template name.
The possible errors that can be raised are:
- KT-CT-7648: The comms template was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the comms template. |
Query
query InkCommsTemplate($templateIdentifier: String!) {
inkCommsTemplate(templateIdentifier: $templateIdentifier)
}Variables
{
"templateIdentifier": "abc123"
}Response
{
"data": {
"inkCommsTemplate": "abc123"
}
}inkConversation
Type:InkConversation!
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the Ink conversation for a given account.
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-4177: Unauthorized.
- KT-CT-7610: No Ink conversation for account.
- KT-CT-7617: Must supply account number or relay id to get a conversation.
- KT-CT-7638: Invalid conversation ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
| 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!
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the content for a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-7638: Invalid conversation ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| 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 InkTwilioWhatsApp {
...InkTwilioWhatsAppFragment
}
... on InkPost {
...InkPostFragment
}
... on InkGenericMessage {
...InkGenericMessageFragment
}
... on InkLiveChatMessage {
...InkLiveChatMessageFragment
}
}
}Variables
{
"messageRelayId": "abc123"
}Response
{
"data": {
"inkMessage": InkEmail
}
}inkMessageTextContent
Type:String!
URL:https://api.edfgb-kraken.energy/v1/graphql/
Fetch the text content of a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The message's id or relay id. |
Query
query InkMessageTextContent($messageId: ID!) {
inkMessageTextContent(messageId: $messageId)
}Variables
{
"messageId": "abc123"
}Response
{
"data": {
"inkMessageTextContent": "abc123"
}
}isCustomerEligibleToGiveFeedbackFollowingCall
Type:Boolean
URL:https://api.edfgb-kraken.energy/v1/graphql/
Check if customer is eligible to give feedback following a phone call.
The possible errors that can be raised are:
- KT-CT-5519: Voice call not found.
- KT-CT-5521: Eligibility configuration not found.
- KT-CT-5522: Invalid eligibility configuration.
- KT-CT-5523: Invalid account or account user.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Number of the account. |
| Number of the account user. |
| ID of the voice call. |
Query
query IsCustomerEligibleToGiveFeedbackFollowingCall(
$accountNumber: String!,
$accountUserNumber: String!,
$callId: Int!
) {
isCustomerEligibleToGiveFeedbackFollowingCall(
accountNumber: $accountNumber,
accountUserNumber: $accountUserNumber,
callId: $callId
)
}Variables
{
"accountNumber": "abc123",
"accountUserNumber": "abc123",
"callId": 1
}Response
{
"data": {
"isCustomerEligibleToGiveFeedbackFollowingCall": true
}
}isCustomerEligibleToGiveFeedbackFollowingEmail
Type:Boolean
URL:https://api.edfgb-kraken.energy/v1/graphql/
Check if customer is eligible to give feedback following an email conversation.
The possible errors that can be raised are:
- KT-CT-5520: Ink conversation not found.
- KT-CT-5521: Eligibility configuration not found.
- KT-CT-5522: Invalid eligibility configuration.
- KT-CT-5523: Invalid account or account user.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Number of the account. |
| Number of the account user. |
| ID of the Ink conversation. |
| Datetime when the conversation was closed. |
Query
query IsCustomerEligibleToGiveFeedbackFollowingEmail(
$accountNumber: String!,
$accountUserNumber: String!,
$inkConversationId: Int!,
$conversationClosedAt: DateTime!
) {
isCustomerEligibleToGiveFeedbackFollowingEmail(
accountNumber: $accountNumber,
accountUserNumber: $accountUserNumber,
inkConversationId: $inkConversationId,
conversationClosedAt: $conversationClosedAt
)
}Variables
{
"accountNumber": "abc123",
"accountUserNumber": "abc123",
"inkConversationId": 1,
"conversationClosedAt": "2020-01-01T00:00:00.000Z"
}Response
{
"data": {
"isCustomerEligibleToGiveFeedbackFollowingEmail": true
}
}isPasswordResetTokenValid
Type:Boolean
URL:https://api.edfgb-kraken.energy/v1/graphql/
Check validity of a password reset token.
Arguments
| Name | Description |
|---|---|
| Base64 encoded user id. |
| 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
}
}joinSupplierProcess
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-10332: Join supplier process not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The join supplier process number, e.g. JS-12345678. |
Query
query JoinSupplierProcess($number: String!) {
joinSupplierProcess(number: $number) {
id
status
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
number
currentProcessData {
...JoinSupplierProcessDataTypeFragment
}
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"joinSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection,
"number": "abc123",
"currentProcessData": JoinSupplierProcessDataType
}
}
}krakenVersion
Type:KrakenVersionType
URL:https://api.edfgb-kraken.energy/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
}
}Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123"
}
}
}leadBlocklistValidations
Type:LeadBlockListValidationOutput
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
| List of client-configured black list entry types. |
Query
query LeadBlocklistValidations($blockListEntries: LeadBlockListValidationInput) {
leadBlocklistValidations(blockListEntries: $blockListEntries) {
valid
blockListHits
}
}Variables
{
"blockListEntries": LeadBlockListValidationInput
}Response
{
"data": {
"leadBlocklistValidations": {
"valid": true,
"blockListHits": ["abc123"]
}
}
}leaveSupplierProcess
URL:https://api.edfgb-kraken.energy/v1/graphql/
Details associated with a LeaveSupplier process.
The possible errors that can be raised are:
- KT-CT-10302: Invalid data.
- KT-CT-10333: Missing either number of leave supplier process id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The leave supplier process number, e.g. LS-12345678. |
| The leave supplier process ID. |
Query
query LeaveSupplierProcess(
$number: String,
$leaveSupplierProcessId: ID
) {
leaveSupplierProcess(
number: $number,
leaveSupplierProcessId: $leaveSupplierProcessId
) {
id
status
number
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
}
}Variables
{
"number": "abc123",
"leaveSupplierProcessId": "abc123"
}Response
{
"data": {
"leaveSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"number": "abc123",
"supplyPoints": SupplyPointConnectionTypeConnection
}
}
}lifecycleProcesses
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all lifecycle processes associated with an account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| A flag to filter out only active/current processes. |
| The chronological order in which the lifecycle processes are sorted. |
| The account number, e.g. A-12345678. |
Query
query LifecycleProcesses(
$onlyActive: Boolean,
$sortOrder: LifecycleProcessesSortOrder,
$accountNumber: String!
) {
lifecycleProcesses(
onlyActive: $onlyActive,
sortOrder: $sortOrder,
accountNumber: $accountNumber
) {
leaveSupplierProcesses {
...LeaveSupplierProcessConnectionTypeConnectionFragment
}
joinSupplierProcesses {
...JoinSupplierProcessConnectionTypeConnectionFragment
}
occupyPropertyProcesses {
...OccupyPropertyProcessConnectionTypeConnectionFragment
}
leavePropertyProcesses {
...LeavePropertyProcessConnectionTypeConnectionFragment
}
}
}Variables
{
"onlyActive": true,
"sortOrder": "ASC",
"accountNumber": "abc123"
}Response
{
"data": {
"lifecycleProcesses": {
"leaveSupplierProcesses": LeaveSupplierProcessConnectionTypeConnection,
"joinSupplierProcesses": JoinSupplierProcessConnectionTypeConnection,
"occupyPropertyProcesses": OccupyPropertyProcessConnectionTypeConnection,
"leavePropertyProcesses": LeavePropertyProcessConnectionTypeConnection
}
}
}livePaymentAdequacy
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get up to date payment adequacy data.
The possible errors that can be raised are:
- KT-CT-3923: Unauthorized.
- KT-GB-3916: No statement in last 60 days.
- KT-GB-3915: Could not calculate current PA data.
- KT-CT-3822: Unauthorized.
- KT-CT-3922: Ledger not found for the account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Kraken account number. |
| Ledger number. |
| Payment adequacy policy ID. If this argument is |
Query
query LivePaymentAdequacy(
$accountNumber: String!,
$ledgerNumber: String,
$policyId: String
) {
livePaymentAdequacy(
accountNumber: $accountNumber,
ledgerNumber: $ledgerNumber,
policyId: $policyId
) {
recommendedPayment {
...PaymentBreakdownFragment
}
currentBalance
targetBalance
estimatedConsumption {
...ConsumptionBreakdownFragment
}
reviewedOn
}
}Variables
{
"accountNumber": "abc123",
"ledgerNumber": "abc123",
"policyId": "abc123"
}Response
{
"data": {
"livePaymentAdequacy": {
"recommendedPayment": PaymentBreakdown,
"currentBalance": 1,
"targetBalance": 1,
"estimatedConsumption": [ConsumptionBreakdown],
"reviewedOn": "2020-01-01"
}
}
}livePaymentAdequacyCalculation
Type:LivePaymentAdequacyCalculation
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get payment adequacy data with an up to date calculation.
The possible errors that can be raised are:
- KT-CT-3963: Could not calculate live PA data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Kraken ledger number. |
Query
query LivePaymentAdequacyCalculation($ledgerNumber: String!) {
livePaymentAdequacyCalculation(ledgerNumber: $ledgerNumber) {
suggestedNewMonthlyAmount
consumption {
...ConsumptionBreakdownConnectionTypeConnectionFragment
}
averageMonthlyCharge
existingMonthlyAmount
balanceAdjustment
currentBalance
targetBalance
reviewedOn
}
}Variables
{
"ledgerNumber": "abc123"
}Response
{
"data": {
"livePaymentAdequacyCalculation": {
"suggestedNewMonthlyAmount": 1,
"consumption": ConsumptionBreakdownConnectionTypeConnection,
"averageMonthlyCharge": 1,
"existingMonthlyAmount": 1,
"balanceAdjustment": 1,
"currentBalance": 1,
"targetBalance": 1,
"reviewedOn": "2020-01-01"
}
}
}loyaltyPointLedgerEntry
Type:LoyaltyPointLedgerEntryType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Resolve a loyalty point ledger entry.
The possible errors that can be raised are:
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9223: Loyalty points ledger entry not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query LoyaltyPointLedgerEntry($input: LoyaltyPointLedgerEntryInput!) {
loyaltyPointLedgerEntry(input: $input) {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
idempotencyKey
postedAt
accountNumber
}
}Variables
{
"input": LoyaltyPointLedgerEntryInput
}Response
{
"data": {
"loyaltyPointLedgerEntry": {
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
}
}loyaltyPointLedgers
Type:[LoyaltyPointLedgerEntryType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the Loyalty Point ledger entries for the passed user.
Arguments
| Name | Description |
|---|---|
| The input object for retrieving a loyalty point ledger entry. |
Query
query LoyaltyPointLedgers($input: LoyaltyPointLedgersInput) {
loyaltyPointLedgers(input: $input) {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
idempotencyKey
postedAt
accountNumber
}
}Variables
{
"input": LoyaltyPointLedgersInput
}Response
{
"data": {
"loyaltyPointLedgers": [
{
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
]
}
}loyaltyPointsBalance
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the loyalty points balance for an account.
The possible errors that can be raised are:
- KT-CT-9218: Unauthorized.
- KT-CT-9217: Unauthorized.
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9216: Unauthorized.
- KT-CT-9222: Loyalty points balance query requires either accountNumber field (deprecated) or input object (preferred) with account number and optional account user id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
|
Query
query LoyaltyPointsBalance(
$accountNumber: String,
$input: LoyaltyPointsBalanceInput
) {
loyaltyPointsBalance(
accountNumber: $accountNumber,
input: $input
) {
loyaltyPoints
totalMonetaryAmount
}
}Variables
{
"accountNumber": "abc123",
"input": LoyaltyPointsBalanceInput
}Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}
}
}Arguments
| Name | Description |
|---|---|
| |
|
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
URL:https://api.edfgb-kraken.energy/v1/graphql/
Metadata for a linked object with key.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4124: Unauthorized.
- KT-CT-8411: Invalid data.
- KT-CT-4179: No metadata found with given key.
- KT-CT-4155: Invalid data.
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| |
| |
|
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"}
}
}
}meterPoints
Type:MeterPointInterface
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get a meter point via it's associated mpan or mprn.
The possible errors that can be raised are:
- KT-GB-5601: One of either MPAN or MPRN must be provided.
- KT-CT-4011: No meter points found with the given ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The MPAN for the electricity meterpoint to return. |
| The MPRN for the gas meterpoint to return. |
Query
query MeterPoints(
$mpan: ID,
$mprn: ID
) {
meterPoints(
mpan: $mpan,
mprn: $mprn
) {
status
meters {
...MeterFragment
}
enrolment {
...EnrolmentTypeFragment
}
}
}Variables
{
"mpan": "abc123",
"mprn": "abc123"
}Response
{
"data": {
"meterPoints": {
"status": "abc123",
"meters": Meter,
"enrolment": EnrolmentType
}
}
}mfaDevices
Type:[MfaDevice]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}multipleElectricityMeterPointsForAddress
Type:ElectricityMeterPointForAddressType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-GB-6612: We couldn't find a match for this address. Please verify it and try again.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| |
| |
|
Query
query MultipleElectricityMeterPointsForAddress(
$address: AddressSearchType,
$searchDomesticOnly: Boolean,
$useDes: Boolean
) {
multipleElectricityMeterPointsForAddress(
address: $address,
searchDomesticOnly: $searchDomesticOnly,
useDes: $useDes
) {
addressHasMoreThanOneElectricityMeterPoint
electricityMeterPoints
addressLine1
addressLine2
postcode
}
}Variables
{
"address": AddressSearchType,
"searchDomesticOnly": true,
"useDes": true
}Response
{
"data": {
"multipleElectricityMeterPointsForAddress": {
"addressHasMoreThanOneElectricityMeterPoint": true,
"electricityMeterPoints": ["abc123"],
"addressLine1": "abc123",
"addressLine2": "abc123",
"postcode": "abc123"
}
}
}Arguments
| Name | Description |
|---|---|
| The ID of the object |
Query
query Node($id: ID!) {
node(id: $id) {
id
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"node": {
"id": "abc123"
}
}
}occupierAccount
Type:OccupierAccount
URL:https://api.edfgb-kraken.energy/v1/graphql/
Looks up an occupier account based on postcode and optionally their last 4 digits of the account number.
Arguments
| Name | Description |
|---|---|
| The postcode to search for. |
| Optional - the last 4 digits of the account number. |
Query
query OccupierAccount(
$postcode: String!,
$shortcode: String
) {
occupierAccount(
postcode: $postcode,
shortcode: $shortcode
) {
account
address
date
propertyId
occupyToken
}
}Variables
{
"postcode": "abc123",
"shortcode": "abc123"
}Response
{
"data": {
"occupierAccount": {
"account": "abc123",
"address": "abc123",
"date": "abc123",
"propertyId": 1,
"occupyToken": "abc123"
}
}
}occupierAccounts
Type:[OccupierAccount]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Looks up all occupier accounts for a postcode and optionally their last 4 digits of the account number.
Arguments
| Name | Description |
|---|---|
| The postcode to search for. |
| Optional - the last 4 digits of the account number. |
Query
query OccupierAccounts(
$postcode: String!,
$shortcode: String
) {
occupierAccounts(
postcode: $postcode,
shortcode: $shortcode
) {
account
address
date
propertyId
occupyToken
}
}Variables
{
"postcode": "abc123",
"shortcode": "abc123"
}Response
{
"data": {
"occupierAccounts": [
{
"account": "abc123",
"address": "abc123",
"date": "abc123",
"propertyId": 1,
"occupyToken": "abc123"
}
]
}
}ocppConnection
Type:OCPPConnectionType
URL:https://api.edfgb-kraken.energy/v1/graphql/
To confirm whether a device is connected to OCPP.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4311: Unable to confirm OCPP connection.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query OcppConnection($accountNumber: String!) {
ocppConnection(accountNumber: $accountNumber) {
isConnected
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"ocppConnection": {
"isConnected": true
}
}
}ocppDetails
Type:OCPPDetailsType
URL:https://api.edfgb-kraken.energy/v1/graphql/
The user specific generated OCPP details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query OcppDetails($accountNumber: String!) {
ocppDetails(accountNumber: $accountNumber) {
url
username
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"ocppDetails": {
"url": "abc123",
"username": "abc123"
}
}
}offerForQuoting
Type:OfferType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
| The identifier of the offer to query. |
Query
query OfferForQuoting($identifier: ID) {
offerForQuoting(identifier: $identifier) {
identifier
quote {
...QuoteType_Fragment
}
description
validFrom
validTo
acceptedAt
rejectedAt
createdBy {
...ActorTypeFragment
}
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"offerForQuoting": {
"identifier": "abc123",
"quote": QuoteType_,
"description": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"acceptedAt": "2020-01-01T00:00:00.000Z",
"rejectedAt": "2020-01-01T00:00:00.000Z",
"createdBy": ActorType
}
}
}offerGroupForQuoting
Type:OfferGroupType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
| The identifier of the offer group to query. |
Query
query OfferGroupForQuoting($identifier: ID) {
offerGroupForQuoting(identifier: $identifier) {
identifier
offers {
...OfferTypeFragment
}
createdAt
createdBy {
...ActorTypeFragment
}
}
}Variables
{
"identifier": "abc123"
}offering
Type:OfferingType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about a product offering.
The possible errors that can be raised are:
- KT-CT-12001: Product catalogue offering with given identifier not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the offering to query. |
Query
query Offering($identifier: String) {
offering(identifier: $identifier) {
identifier
internalName
customerName
customerDescription
isSellable
lifecycle {
...LifecycleTypeFragment
}
tags {
...TagTypeFragment
}
productComponents {
...ProductComponentTypeFragment
}
offeringComponents {
...OfferingComponentTypeFragment
}
termTemplateComponents {
...TermTemplateComponentTypeFragment
}
groups {
...GroupTypeFragment
}
isAmendable
isExpired
isActive
isDraft
isLatestVersion
isFirstDraft
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"offering": {
"identifier": "abc123",
"internalName": "abc123",
"customerName": "abc123",
"customerDescription": "abc123",
"isSellable": true,
"lifecycle": LifecycleType,
"tags": [TagType],
"productComponents": [ProductComponentType],
"offeringComponents": [OfferingComponentType],
"termTemplateComponents": [TermTemplateComponentType],
"groups": [GroupType],
"isAmendable": true,
"isExpired": true,
"isActive": true,
"isDraft": true,
"isLatestVersion": true,
"isFirstDraft": true
}
}
}opportunityByNumber
Type:OpportunityOutput
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8906: Opportunity not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Opportunity number identifier. |
Query
query OpportunityByNumber($number: String) {
opportunityByNumber(number: $number) {
opportunityId
leadNumber
leadType
name
email
phoneNumber
number
funnel {
...SalesFunnelFragment
}
stage
extraDetails
opportunityAddress {
...AddressOutputFragment
}
opportunityRichAddress {
...RichAddressTypeFragment
}
salesChannel
assignedToTeam
assignedToUser
productOfferingId
offerGroupId
consents {
...ConsentOutputFragment
}
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"opportunityByNumber": {
"opportunityId": "abc123",
"leadNumber": "abc123",
"leadType": "abc123",
"name": "abc123",
"email": "abc123",
"phoneNumber": "abc123",
"number": "abc123",
"funnel": SalesFunnel,
"stage": "abc123",
"extraDetails": {"key": "value"},
"opportunityAddress": AddressOutput,
"opportunityRichAddress": RichAddressType,
"salesChannel": "abc123",
"assignedToTeam": "abc123",
"assignedToUser": "abc123",
"productOfferingId": "abc123",
"offerGroupId": "abc123",
"consents": [ConsentOutput]
}
}
}opportunityValueByKey
Type:String
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8903: Unable to update opportunity.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the opportunity to query. |
| The key the a funnel-specific value you wish to obtain. |
Query
query OpportunityValueByKey(
$opportunityId: ID,
$key: String
) {
opportunityValueByKey(
opportunityId: $opportunityId,
key: $key
)
}Variables
{
"opportunityId": "abc123",
"key": "abc123"
}Response
{
"data": {
"opportunityValueByKey": "abc123"
}
}orderDetails
Type:OrderDetailsType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-13101: Order not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Order identifier. |
Query
query OrderDetails($identifier: String!) {
orderDetails(identifier: $identifier) {
order {
...OrderTypeFragment
}
status
resources {
...OrderResourceFragment
}
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"orderDetails": {
"order": OrderType,
"status": "PENDING",
"resources": [OrderResource]
}
}
}passwordValidatorHelpTexts
Type:[String]
URL:https://api.edfgb-kraken.energy/v1/graphql/
The help text of all configured password validators as plain-text or html. Defaults to plain-text.
Arguments
| Name | Description |
|---|---|
| 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"]
}
}paymentPlanDetails
Type:[PaymentPlanDetails]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Payment plan details for a given account number.
The possible errors that can be raised are:
- KT-CT-3921: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number to retrieve payment plan details for. |
Query
query PaymentPlanDetails($accountNumber: String!) {
paymentPlanDetails(accountNumber: $accountNumber) {
paymentPlanId
paymentPlanStatus
totalPlanValue
totalAmountRemaining
totalAmountPaid
paymentFrequency
paymentFrequencyMultiplier
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"paymentPlanDetails": [
{
"paymentPlanId": "abc123",
"paymentPlanStatus": "abc123",
"totalPlanValue": 1,
"totalAmountRemaining": 1,
"totalAmountPaid": 1,
"paymentFrequency": "abc123",
"paymentFrequencyMultiplier": 1
}
]
}
}paymentRequests
Type:PaymentRequestsType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all payment requests for the given ledger.
Arguments
| Name | Description |
|---|---|
| Kraken ledger number. |
Query
query PaymentRequests($ledgerNumber: String!) {
paymentRequests(ledgerNumber: $ledgerNumber) {
paymentRequest {
...PaymentRequestConnectionTypeConnectionFragment
}
}
}Variables
{
"ledgerNumber": "abc123"
}Response
{
"data": {
"paymentRequests": {
"paymentRequest": PaymentRequestConnectionTypeConnection
}
}
}plannedDispatches
Type:[UpsideDispatchType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
All planned device dispatches 24 hours ahead, (usually) in time order.
Deprecated
The 'plannedDispatches' field is deprecated.
Please use 'flexPlannedDispatches' instead.
- Marked as deprecated on 2025-05-27.
- Scheduled for removal on or after 2026-01-16.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/604/
Arguments
| Name | Description |
|---|---|
|
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
}
]
}
}portfolio
Type:PortfolioType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about a portfolio, using its portfolio number.
The possible errors that can be raised are:
- KT-CT-9403: Received an invalid portfolioId.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Portfolio number to be retrieved. |
Query
query Portfolio($portfolioNumber: String!) {
portfolio(portfolioNumber: $portfolioNumber) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}Variables
{
"portfolioNumber": "abc123"
}Response
{
"data": {
"portfolio": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}portfolioByReference
Type:PortfolioType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get details about a portfolio, using its reference.
The possible errors that can be raised are:
- KT-CT-9409: Invalid portfolio reference.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Portfolio reference namespace-value pair to filter by. |
Query
query PortfolioByReference($portfolioReference: PortfolioReferenceInput!) {
portfolioByReference(portfolioReference: $portfolioReference) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}Variables
{
"portfolioReference": PortfolioReferenceInput
}Response
{
"data": {
"portfolioByReference": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}possibleErrors
URL:https://api.edfgb-kraken.energy/v1/graphql/
Possible errors of the requested query/mutation.
The possible errors that can be raised are:
- KT-CT-1606: Query/Mutation not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Query or Mutation for which to get the possible errors list. |
Query
query PossibleErrors($input: PossibleErrorsInputType!) {
possibleErrors(input: $input) {
name
type
authErrors
possibleErrors {
...PossibleErrorTypeFragment
}
}
}Variables
{
"input": PossibleErrorsInputType
}Response
{
"data": {
"possibleErrors": {
"name": "abc123",
"type": "query",
"authErrors": true,
"possibleErrors": [PossibleErrorType]
}
}
}prepayBalanceSnapshot
Type:PrepayBalanceSnapshotType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Retrieve a snapshot of a prepay device balance at a moment in time.
The possible errors that can be raised are:
- KT-GB-4048: Device not in prepayment mode.
- KT-GB-4049: Balance snapshot not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ESME or GSME's EUI64 ID, e.g. '12-34-5A-FF-FF-6B-C7-89'. |
Query
query PrepayBalanceSnapshot($deviceId: String!) {
prepayBalanceSnapshot(deviceId: $deviceId) {
asAt
timeDebtRegisterOneInMillipence
timeDebtRegisterTwoInMillipence
paymentDebtRegisterInMillipence
emergencyCreditBalanceInMillipence
accumulatedDebtRegisterInMillipence
meterBalanceInMillipence
creditInPence
debtInPence
emergencyCreditInPence
}
}Variables
{
"deviceId": "abc123"
}Response
{
"data": {
"prepayBalanceSnapshot": {
"asAt": "2020-01-01T00:00:00.000Z",
"timeDebtRegisterOneInMillipence": 1,
"timeDebtRegisterTwoInMillipence": 1,
"paymentDebtRegisterInMillipence": 1,
"emergencyCreditBalanceInMillipence": 1,
"accumulatedDebtRegisterInMillipence": 1,
"meterBalanceInMillipence": 1,
"creditInPence": 1,
"debtInPence": 1,
"emergencyCreditInPence": 1
}
}
}prepayPayments
Type:PrepayPaymentConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Payments made to add credit to the account's smart prepay meters.
Arguments
| Name | Description |
|---|---|
| |
| |
| |
| |
|
Query
query PrepayPayments(
$accountNumber: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
prepayPayments(
accountNumber: $accountNumber,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...PrepayPaymentConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"prepayPayments": {
"pageInfo": PageInfo,
"edges": PrepayPaymentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}productEligibility
URL:https://api.edfgb-kraken.energy/v1/graphql/
Define product eligibility.
The possible errors that can be raised are:
- KT-GB-4135: Unauthorized.
- KT-CT-4910: No product exists with the given input.
- KT-CT-4623: Unauthorized.
- KT-CT-4190: Error while defining product eligibility for product enrolment candidate.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account to which meter point belongs. |
| Meter point reference/administration number. |
| Product code for which verify eligibility to. |
Query
query ProductEligibility(
$accountNumber: String!,
$mpxn: String!,
$productCode: String!
) {
productEligibility(
accountNumber: $accountNumber,
mpxn: $mpxn,
productCode: $productCode
) {
isEligible
ineligibilityReasons {
...ProductIneligibilityReasonDetailsFragment
}
}
}Variables
{
"accountNumber": "abc123",
"mpxn": "abc123",
"productCode": "abc123"
}Response
{
"data": {
"productEligibility": {
"isEligible": true,
"ineligibilityReasons": [ProductIneligibilityReasonDetails]
}
}
}productEnrolment
Type:ProductEnrolmentType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the details of a product enrolment.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account to which the enrolment belongs. |
| The ID for the enrolment. |
Query
query ProductEnrolment(
$accountNumber: String!,
$enrolmentId: ID!
) {
productEnrolment(
accountNumber: $accountNumber,
enrolmentId: $enrolmentId
) {
id
account {
...AccountTypeFragment
}
status
product {
...EnergyProductTypeFragment
}
electricityMeterPoint {
...ElectricityMeterPointTypeFragment
}
gasMeterPoint {
...GasMeterPointTypeFragment
}
stages {
...ProductEnrolmentStageTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"enrolmentId": "abc123"
}Response
{
"data": {
"productEnrolment": {
"id": "abc123",
"account": AccountType,
"status": "NOT_STARTED",
"product": EnergyProductType,
"electricityMeterPoint": ElectricityMeterPointType,
"gasMeterPoint": GasMeterPointType,
"stages": [ProductEnrolmentStageType]
}
}
}productEnrolments
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get all of the enrolments for an account.
Arguments
| Name | Description |
|---|---|
| The account to find all the enrolments for. |
Query
query ProductEnrolments($accountNumber: String!) {
productEnrolments(accountNumber: $accountNumber) {
id
account {
...AccountTypeFragment
}
status
product {
...EnergyProductTypeFragment
}
electricityMeterPoint {
...ElectricityMeterPointTypeFragment
}
gasMeterPoint {
...GasMeterPointTypeFragment
}
stages {
...ProductEnrolmentStageTypeFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"productEnrolments": [
{
"id": "abc123",
"account": AccountType,
"status": "NOT_STARTED",
"product": EnergyProductType,
"electricityMeterPoint": ElectricityMeterPointType,
"gasMeterPoint": GasMeterPointType,
"stages": [ProductEnrolmentStageType]
}
]
}
}properties
Type:[PropertyType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
The properties attached to the given account.
This field requires the Authorization header to be set.
Query
query Properties(
$accountNumber: String!,
$active: Boolean
) {
properties(
accountNumber: $accountNumber,
active: $active
) {
id
postcode
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
smartDeviceNetworks {
...SmartMeterDeviceNetworkTypeFragment
}
isChangeOfTenancyOngoing
isSmets2InstallationAllowed
electricityMeterPoints {
...ElectricityMeterPointTypeFragment
}
gasMeterPoints {
...GasMeterPointTypeFragment
}
wanCoverage
availableSmets2InstallationTimeslots {
...Smets2InstallationTimeslotTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"active": true
}Response
{
"data": {
"properties": [
{
"id": "abc123",
"postcode": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"smartDeviceNetworks": [SmartMeterDeviceNetworkType],
"isChangeOfTenancyOngoing": true,
"isSmets2InstallationAllowed": true,
"electricityMeterPoints": [ElectricityMeterPointType],
"gasMeterPoints": [GasMeterPointType],
"wanCoverage": "HIGH",
"availableSmets2InstallationTimeslots": [Smets2InstallationTimeslotType]
}
]
}
}propertiesSearch
URL:https://api.edfgb-kraken.energy/v1/graphql/
Search for properties that are already in Kraken and match the search term.
Arguments
| Name | Description |
|---|---|
| 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
URL:https://api.edfgb-kraken.energy/v1/graphql/
A property with the given ID. Usually associated with supply points.
This field requires the Authorization header to be set.
Arguments
| Name | Description |
|---|---|
| The ID of the property. |
Query
query Property($id: ID!) {
property(id: $id) {
id
postcode
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
smartDeviceNetworks {
...SmartMeterDeviceNetworkTypeFragment
}
isChangeOfTenancyOngoing
isSmets2InstallationAllowed
electricityMeterPoints {
...ElectricityMeterPointTypeFragment
}
gasMeterPoints {
...GasMeterPointTypeFragment
}
wanCoverage
availableSmets2InstallationTimeslots {
...Smets2InstallationTimeslotTypeFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"property": {
"id": "abc123",
"postcode": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"smartDeviceNetworks": [SmartMeterDeviceNetworkType],
"isChangeOfTenancyOngoing": true,
"isSmets2InstallationAllowed": true,
"electricityMeterPoints": [ElectricityMeterPointType],
"gasMeterPoints": [GasMeterPointType],
"wanCoverage": "HIGH",
"availableSmets2InstallationTimeslots": [Smets2InstallationTimeslotType]
}
}
}propertySearch
Type:[PropertyType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
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.
- Scheduled for removal on or after 2024-01-01.
Arguments
| Name | Description |
|---|---|
| The search term. It can be an address or a meter point identifier. |
Query
query PropertySearch($searchTerm: String!) {
propertySearch(searchTerm: $searchTerm) {
id
postcode
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
smartDeviceNetworks {
...SmartMeterDeviceNetworkTypeFragment
}
isChangeOfTenancyOngoing
isSmets2InstallationAllowed
electricityMeterPoints {
...ElectricityMeterPointTypeFragment
}
gasMeterPoints {
...GasMeterPointTypeFragment
}
wanCoverage
availableSmets2InstallationTimeslots {
...Smets2InstallationTimeslotTypeFragment
}
}
}Variables
{
"searchTerm": "abc123"
}Response
{
"data": {
"propertySearch": [
{
"id": "abc123",
"postcode": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"smartDeviceNetworks": [SmartMeterDeviceNetworkType],
"isChangeOfTenancyOngoing": true,
"isSmets2InstallationAllowed": true,
"electricityMeterPoints": [ElectricityMeterPointType],
"gasMeterPoints": [GasMeterPointType],
"wanCoverage": "HIGH",
"availableSmets2InstallationTimeslots": [Smets2InstallationTimeslotType]
}
]
}
}providerAuthDetails
URL:https://api.edfgb-kraken.energy/v1/graphql/
Auth details (e.g. OAuth 2.0 URI) for the provider (if available).
Deprecated
The 'providerAuthDetails' field is deprecated.
Please use 'startSmartFlexOnboarding' instead.
- Marked as deprecated on 2025-10-30.
- Scheduled for removal on or after 2026-04-30.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/608/
Arguments
| Name | Description |
|---|---|
| The provider to get the auth details for. |
| The device type to get the auth details for (as providers may support multiple). |
| The client type the request originated from. Used when oauth_uri is different between web and app. |
| The account number that will be associated with the device. Required for some providers. |
| 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": "BYD",
"deviceType": "BATTERIES",
"clientType": "APP",
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"providerAuthDetails": {
"oauthUri": "abc123"
}
}
}providerVirtualKeyDetails
Type:ProviderVirtualKeyDetailsType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Virtual key details (e.g. certificate public key) for the provider (if available).
Arguments
| Name | Description |
|---|---|
| The provider to get the virtual key details for. |
| 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": "BYD",
"deviceType": "BATTERIES"
}Response
{
"data": {
"providerVirtualKeyDetails": {
"virtualKeyName": "abc123",
"virtualKeyUri": "abc123"
}
}
}question
Type:String
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the customer feedback survey question.
The possible errors that can be raised are:
- KT-CT-5513: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query Question($formId: Int!) {
question(formId: $formId)
}Variables
{
"formId": 1
}Response
{
"data": {
"question": "abc123"
}
}quote
Type:QuoteType
URL:https://api.edfgb-kraken.energy/v1/graphql/
This returns the quote with the given code.
If the code was not provided, this query used to return an empty quote, but this usage is no longer supported, as the dedicated consumptionEstimates query serves that purpose.
Arguments
| Name | Description |
|---|---|
| Unique identifying code of the quote to retrieve. This argument is optional, but leaving it empty is not supported anymore. |
Query
query Quote($code: String) {
quote(code: $code) {
code
postcode
gspGroupId
includesElectricity
includesGas
isBusiness
meterType
mpan
paymentMethod
elecAnnualConsumptionStandard
elecAnnualConsumptionDay
elecAnnualConsumptionNight
elecEstimate
gasAnnualConsumption
gasEstimate
partnerProductId
latitude
longitude
address {
...QuoteAddressTypeFragment
}
consumptionEstimates {
...ConsumptionEstimatesFragment
}
quotedProducts {
...QuotedProductTypeFragment
}
termsAndConditions {
...TermsAndConditionsTypeFragment
}
mprn
}
}Variables
{
"code": "abc123"
}Response
{
"data": {
"quote": {
"code": "abc123",
"postcode": "abc123",
"gspGroupId": "abc123",
"includesElectricity": true,
"includesGas": true,
"isBusiness": true,
"meterType": "NO_METER",
"mpan": "abc123",
"paymentMethod": "DIRECTDEBIT",
"elecAnnualConsumptionStandard": 1,
"elecAnnualConsumptionDay": 1,
"elecAnnualConsumptionNight": 1,
"elecEstimate": true,
"gasAnnualConsumption": 1,
"gasEstimate": true,
"partnerProductId": 1,
"latitude": 1.0,
"longitude": 1.0,
"address": QuoteAddressType,
"consumptionEstimates": ConsumptionEstimates,
"quotedProducts": [QuotedProductType],
"termsAndConditions": TermsAndConditionsType,
"mprn": "abc123"
}
}
}quoteRequest
Type:QuoteRequest
URL:https://api.edfgb-kraken.energy/v1/graphql/
Retrieve a quote request by its code.
The possible errors that can be raised are:
- KT-GB-4618: Quote request not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Code of the quote request. |
Query
query QuoteRequest($quoteCode: String!) {
quoteRequest(quoteCode: $quoteCode) {
electricitySupplyPoints {
...ElectricitySupplyPointFragment
}
gasSupplyPoints {
...GasSupplyPointFragment
}
createdAt
termsAndConditions {
...TermsAndConditionsFragment
}
code
}
}Variables
{
"quoteCode": "abc123"
}Response
{
"data": {
"quoteRequest": {
"electricitySupplyPoints": [ElectricitySupplyPoint],
"gasSupplyPoints": [GasSupplyPoint],
"createdAt": "2020-01-01T00:00:00.000Z",
"termsAndConditions": [TermsAndConditions],
"code": "abc123"
}
}
}quotingParamDefinitionsForProductOffering
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-12403: Product offering not found.
- KT-CT-12404: Product offering has expired.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the product offering. |
Query
query QuotingParamDefinitionsForProductOffering($productOfferingIdentifier: ID) {
quotingParamDefinitionsForProductOffering(productOfferingIdentifier: $productOfferingIdentifier) {
offeringIdentifier
productComponents {
...QuotedProductComponentTypeFragment
}
offeringComponents {
...QuotedOfferingParamsTypeFragment
}
}
}Variables
{
"productOfferingIdentifier": "abc123"
}Response
{
"data": {
"quotingParamDefinitionsForProductOffering": {
"offeringIdentifier": "abc123",
"productComponents": [QuotedProductComponentType],
"offeringComponents": [QuotedOfferingParamsType]
}
}
}rateLimitInfo
Type:CombinedRateLimitInformation
URL:https://api.edfgb-kraken.energy/v1/graphql/
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
}
}
}readingConsentGranularity
Type:ReadingConsentGranularityType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the current reading consent granularity for a meter point.
Arguments
| Name | Description |
|---|---|
| The MPAN of the meter point. |
Query
query ReadingConsentGranularity($mpan: String!) {
readingConsentGranularity(mpan: $mpan) {
granularityValue
}
}Variables
{
"mpan": "abc123"
}Response
{
"data": {
"readingConsentGranularity": {
"granularityValue": "abc123"
}
}
}registeredKrakenflexDevice
Type:KrakenFlexDeviceType
URL:https://api.edfgb-kraken.energy/v1/graphql/
A device registered with KrakenFlex for a given account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'registeredKrakenflexDevice' field is deprecated.
Please use 'devices' instead.
- Marked as deprecated on 2024-04-23.
- Scheduled for removal on or after 2025-12-10.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/434/
Arguments
| Name | Description |
|---|---|
|
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": "BYD",
"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"
}
}
}searchLead
Type:LeadIdType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8920: Search filters are invalid.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Filters to search for leads. All passed filters will be checked against the lead. |
Query
query SearchLead($filters: SearchLeadFilters) {
searchLead(filters: $filters) {
leadId
number
}
}Variables
{
"filters": SearchLeadFilters
}Response
{
"data": {
"searchLead": {
"leadId": "abc123",
"number": "abc123"
}
}
}segInstallation
Type:SEGInstallationType!
URL:https://api.edfgb-kraken.energy/v1/graphql/
The validity of a SEG installation via the MCS installation database.
Arguments
| Name | Description |
|---|---|
| The MCS certificate number. |
Query
query SegInstallation($mcsCertificateNumber: String!) {
segInstallation(mcsCertificateNumber: $mcsCertificateNumber) {
isValid
}
}Variables
{
"mcsCertificateNumber": "abc123"
}Response
{
"data": {
"segInstallation": {
"isValid": true
}
}
}siteworksKrakenFieldAppointmentPollDelay
Type:Int
URL:https://api.edfgb-kraken.energy/v1/graphql/
Setting to determine delay in first poll when fetching async timeslots (in ms).
Query
query SiteworksKrakenFieldAppointmentPollDelay {
siteworksKrakenFieldAppointmentPollDelay
}Response
{
"data": {
"siteworksKrakenFieldAppointmentPollDelay": 1
}
}siteworksKrakenFieldAppointmentPollInterval
Type:Int
URL:https://api.edfgb-kraken.energy/v1/graphql/
Setting to determine interval when fetching async timeslots (in ms).
Query
query SiteworksKrakenFieldAppointmentPollInterval {
siteworksKrakenFieldAppointmentPollInterval
}Response
{
"data": {
"siteworksKrakenFieldAppointmentPollInterval": 1
}
}siteworksKrakenFieldAppointmentPollMaxCount
Type:Int
URL:https://api.edfgb-kraken.energy/v1/graphql/
Setting to determine how many times at most to fetch async timeslots.
Query
query SiteworksKrakenFieldAppointmentPollMaxCount {
siteworksKrakenFieldAppointmentPollMaxCount
}Response
{
"data": {
"siteworksKrakenFieldAppointmentPollMaxCount": 1
}
}smartDeviceNetwork
Type:SmartMeterDeviceNetworkType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Retrieve smartmeter devices connected to the same Home Area Network.
Arguments
| Name | Description |
|---|---|
| The deviceId of one of the devices on the Home Area Network. |
Query
query SmartDeviceNetwork($deviceId: String!) {
smartDeviceNetwork(deviceId: $deviceId) {
id
smartDevices {
...SmartMeterDeviceTypeFragment
}
}
}Variables
{
"deviceId": "abc123"
}Response
{
"data": {
"smartDeviceNetwork": {
"id": "abc123",
"smartDevices": [SmartMeterDeviceType]
}
}
}smartFlexDeviceSupplyPoint
Type:SmartFlexDeviceSupplyPointType
URL:https://api.edfgb-kraken.energy/v1/graphql/
The supply point linked to the SmartFlex device.
Arguments
| Name | Description |
|---|---|
| The SmartFlex device ID to get the supply point details for. |
Query
query SmartFlexDeviceSupplyPoint($smartFlexDeviceId: String) {
smartFlexDeviceSupplyPoint(smartFlexDeviceId: $smartFlexDeviceId) {
importSupplyPointId
smartFlexDeviceId
}
}Variables
{
"smartFlexDeviceId": "abc123"
}Response
{
"data": {
"smartFlexDeviceSupplyPoint": {
"importSupplyPointId": "abc123",
"smartFlexDeviceId": "abc123"
}
}
}smartFlexOnboardingWizards
Type:[SmartFlexOnboardingWizard!]
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of wizards for onboarding devices for an account and property.
Arguments
| Name | Description |
|---|---|
| The account number, e.g. A-12345678. |
| Only list wizards for this property. |
| To get a specific wizard by ID, if it exists. |
| Include cancelled wizards. |
| Include completed wizards. |
| Filters for onboarding wizards that can be resumed. List limits to one resumable wizard. |
Query
query SmartFlexOnboardingWizards(
$accountNumber: String!,
$propertyId: Int,
$wizardId: ID,
$includeCancelled: Boolean,
$includeCompleted: Boolean,
$isResumable: Boolean
) {
smartFlexOnboardingWizards(
accountNumber: $accountNumber,
propertyId: $propertyId,
wizardId: $wizardId,
includeCancelled: $includeCancelled,
includeCompleted: $includeCompleted,
isResumable: $isResumable
) {
id
resumable {
...SmartFlexResumableFragment
}
deviceType
displayName
backendScreen {
... on ComponentListType {
...ComponentListTypeFragment
}
... on GenericBackendScreen {
...GenericBackendScreenFragment
}
... on Dashboard {
...DashboardFragment
}
}
currentStep {
...SmartFlexOnboardingStepInterfaceFragment
}
completedSteps {
...SmartFlexOnboardingStepInterfaceFragment
}
}
}Variables
{
"accountNumber": "abc123",
"propertyId": 1,
"wizardId": "abc123",
"includeCancelled": true,
"includeCompleted": true,
"isResumable": true
}Response
{
"data": {
"smartFlexOnboardingWizards": [
{
"id": "abc123",
"resumable": SmartFlexResumable,
"deviceType": "BATTERIES",
"displayName": "abc123",
"backendScreen": ComponentListType,
"currentStep": SmartFlexOnboardingStepInterface,
"completedSteps": SmartFlexOnboardingStepInterface
}
]
}
}smartMeterDataPreferences
Type:SmartMeterDataPreferencesType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-4023: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query SmartMeterDataPreferences($accountNumber: String!) {
smartMeterDataPreferences(accountNumber: $accountNumber) {
readingFrequency
readingsAnalysisConsentProvided
readingsAnalysisConsentUpdatedDatetime
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"smartMeterDataPreferences": {
"readingFrequency": "DAILY",
"readingsAnalysisConsentProvided": true,
"readingsAnalysisConsentUpdatedDatetime": "2020-01-01T00:00:00.000Z"
}
}
}smartMeterTelemetry
Type:[SmartMeterTelemetryType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Query telemetry data collected by the CAD associated with the provided ESME or GSME device ID.
If only the smart meter device ID is provided, the latest data available will be returned.
Additionally including the range options (start, end, and grouping) will return the data for that time period, at the desired granularity.
The possible errors that can be raised are:
- KT-GB-4039: Unable to query smart meter telemetry data.
- KT-GB-4050: Smart meter not found.
- KT-GB-4040: 'start', 'end', and 'grouping' must all be provided.
- KT-GB-4041: 'end' should be later than 'start'.
- KT-GB-4051: The start of the range is too far in the past.
- KT-GB-4042: Too many requests. Please wait before trying again.
- KT-GB-4043: A network error occurred. Please try again.
- KT-GB-4056: No Device Network (HAN) record found for the device.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ESME or GSME's EUI64 ID, e.g. '12-34-5A-FF-FF-6B-C7-89' |
| The start time of the range of readings (inclusive), e.g. '2022-01-28T16:33:22+00:00'. If no UTC timezone offset is included, UTC (+00:00) will be assumed. |
| The end time of the range of readings (exclusive), e.g. '2022-01-28T16:34:42+00:00'. If no UTC timezone offset is included, UTC (+00:00) will be assumed. |
| The granularity of the returned data. The representative data item (e.g. consumption) for each group (e.g. every 5 minutes) will be the mean value over that period. |
Query
query SmartMeterTelemetry(
$deviceId: String!,
$start: DateTime,
$end: DateTime,
$grouping: TelemetryGrouping
) {
smartMeterTelemetry(
deviceId: $deviceId,
start: $start,
end: $end,
grouping: $grouping
) {
readAt
consumption
export
demand
consumptionDelta
costDelta
costDeltaWithTax
}
}Variables
{
"deviceId": "abc123",
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"grouping": "TEN_SECONDS"
}Response
{
"data": {
"smartMeterTelemetry": [
{
"readAt": "2020-01-01T00:00:00.000Z",
"consumption": "1.0",
"export": "1.0",
"demand": "1.0",
"consumptionDelta": "1.0",
"costDelta": "1.0",
"costDeltaWithTax": "1.0"
}
]
}
}supplyPoint
Type:SupplyPointType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get a supply point by its market specific id.
Arguments
| Name | Description |
|---|---|
| The market specific supply point id. |
| The name of the market in which this supply point exists. |
Query
query SupplyPoint(
$externalIdentifier: String!,
$marketName: String!
) {
supplyPoint(
externalIdentifier: $externalIdentifier,
marketName: $marketName
) {
id
marketName
externalIdentifier
readings {
...ReadingsFragment
}
property {
...PropertyTypeFragment
}
devices {
...DevicesConnectionFragment
}
meterPoint {
... on ElectricityMeterPointType {
...ElectricityMeterPointTypeFragment
}
... on GasMeterPointType {
...GasMeterPointTypeFragment
}
}
}
}Variables
{
"externalIdentifier": "abc123",
"marketName": "abc123"
}Response
{
"data": {
"supplyPoint": {
"id": "abc123",
"marketName": "abc123",
"externalIdentifier": "abc123",
"readings": Readings,
"property": PropertyType,
"devices": DevicesConnection,
"meterPoint": ElectricityMeterPointType
}
}
}supplyPoints
Type:SupplyPointConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get list of supply points.
Arguments
| Name | Description |
|---|---|
| Filter meter points by account. |
| Filter meter points by portfolio. |
| |
| |
| |
|
Query
query SupplyPoints(
$accountNumber: String,
$portfolioNumber: String,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
supplyPoints(
accountNumber: $accountNumber,
portfolioNumber: $portfolioNumber,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...SupplyPointConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"portfolioNumber": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"supplyPoints": {
"pageInfo": PageInfo,
"edges": SupplyPointConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}taskResult
Type:TaskResult
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the status of a background task.
The possible errors that can be raised are:
- KT-CT-10401: Task not found.
- KT-CT-1113: Disabled GraphQL field requested.
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:GbrTermsAndConditionsType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Get the active terms and conditions for a product.
The possible errors that can be raised are:
- KT-CT-8501: No active terms and conditions found for product.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
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"
}
}
}useSmartPearForInstalls
Type:Boolean
URL:https://api.edfgb-kraken.energy/v1/graphql/
Retrieve a boolean which is True if the meter device is on SmartPear, False if on uSmart.
The possible errors that can be raised are:
- KT-GB-4050: Smart meter not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The deviceId of one of the meters on the Home Area Network. |
Query
query UseSmartPearForInstalls($deviceId: String!) {
useSmartPearForInstalls(deviceId: $deviceId)
}Variables
{
"deviceId": "abc123"
}Response
{
"data": {
"useSmartPearForInstalls": true
}
}userVehicles
Type:[UserVehiclesType]
URL:https://api.edfgb-kraken.energy/v1/graphql/
A list of vehicles available to the user.
Note: If the API returns an empty list, there might be a delay between the vehicle being registered in the provider's system, and data being fetched from the vehicle's manufacturer. In such cases, the query should be retried after a few seconds.
Deprecated
The 'userVehicles' field is deprecated.
Please use 'startSmartFlexOnboarding' instead.
- Marked as deprecated on 2025-10-30.
- Scheduled for removal on or after 2026-04-30.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/608/
Arguments
| Name | Description |
|---|---|
| |
| The provider used to authenticate the device (default Enode). |
| 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": "BYD",
"authentication": AuthenticationInput
}Response
{
"data": {
"userVehicles": [
{
"vehicleId": "abc123",
"information": VehicleInformationType
}
]
}
}Arguments
| Name | Description |
|---|---|
| Referral claim code value. |
Query
query ValidateReferralCode($value: String!) {
validateReferralCode(value: $value) {
id
value
referralScheme {
...ReferralSchemeTypeFragment
}
accountReferral {
...ReferralTypeFragment
}
isValid
createdAt
}
}Variables
{
"value": "abc123"
}Response
{
"data": {
"validateReferralCode": {
"id": 1,
"value": "abc123",
"referralScheme": ReferralSchemeType,
"accountReferral": ReferralType,
"isValid": true,
"createdAt": "2020-01-01T00:00:00.000Z"
}
}
}vehicleChargingPreferences
Type:VehicleChargingPreferencesType
URL:https://api.edfgb-kraken.energy/v1/graphql/
Vehicle charging preference details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4339: Your device charging preferences could not be fetched.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'vehicleChargingPreferences' field is deprecated.
Please use 'devices.preferences' instead.
- Marked as deprecated on 2024-04-23.
- Scheduled for removal on or after 2025-12-10.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/435/
Arguments
| Name | Description |
|---|---|
|
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
URL:https://api.edfgb-kraken.energy/v1/graphql/
The currently authenticated user.
This field requires the Authorization header to be set.
Query
query Viewer {
viewer {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
createdAt
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
address {
...RichAddressTypeFragment
}
dateOfBirth
label
isActive
details {
...AccountUserDetailTypeFragment
}
permissions {
...AccountUserPermissionFragment
}
displayName
firstName
lastName
fullName
preferredName
portfolioId
portfolioIds
businesses {
...BusinessConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
holdMusicChoices {
...TrackOptionTypeFragment
}
isOptedInToWof
}
}Response
{
"data": {
"viewer": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"portfolios": PortfolioConnectionTypeConnection,
"address": RichAddressType,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"isActive": true,
"details": [AccountUserDetailType],
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"businesses": BusinessConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"holdMusicChoices": [TrackOptionType],
"isOptedInToWof": true
}
}
}vouchersBalanceDetail
URL:https://api.edfgb-kraken.energy/v1/graphql/
Query the detail of vouchers balance for an account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4178: No account found with given account number.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
Query
query VouchersBalanceDetail($accountNumber: ID!) {
vouchersBalanceDetail(accountNumber: $accountNumber) {
redeemableToday
redeemableInFuture
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"vouchersBalanceDetail": {
"redeemableToday": 1,
"redeemableInFuture": 1
}
}
}vouchersForAccount
Type:VoucherPurchaseConnectionTypeConnection
URL:https://api.edfgb-kraken.energy/v1/graphql/
Query the voucher purchases for an account.
Arguments
| Name | Description |
|---|---|
| The account number. |
| Whether to only return vouchers that can be redeemable. |
| An optional date to limit the response to vouchers that have been purchased from the particular date (inclusive) onwards. |
| An optional date to limit the response to vouchers that have been purchased before the particular date (exclusive). |
| An optional date to limit the response to vouchers that are available from the particular date (inclusive) onwards. |
| An optional date to limit the response to vouchers that are available before the particular date (exclusive). |
| |
| |
| |
|
Query
query VouchersForAccount(
$accountNumber: ID!,
$redeemableOnly: Boolean!,
$purchasedFromDate: Date,
$purchasedBeforeDate: Date,
$availableFromDate: Date,
$availableBeforeDate: Date,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
vouchersForAccount(
accountNumber: $accountNumber,
redeemableOnly: $redeemableOnly,
purchasedFromDate: $purchasedFromDate,
purchasedBeforeDate: $purchasedBeforeDate,
availableFromDate: $availableFromDate,
availableBeforeDate: $availableBeforeDate,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...VoucherPurchaseConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"redeemableOnly": true,
"purchasedFromDate": "2020-01-01",
"purchasedBeforeDate": "2020-01-01",
"availableFromDate": "2020-01-01",
"availableBeforeDate": "2020-01-01",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"vouchersForAccount": {
"pageInfo": PageInfo,
"edges": VoucherPurchaseConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}wanCoverage
Type:WANCoverageStrengths
URL:https://api.edfgb-kraken.energy/v1/graphql/
Likelihood that a smart meter at the given postcode and optional address identifier will get a stable network connection.
Arguments
| Name | Description |
|---|---|
| Postcode to search the coverage for |
| The address identifier to search for. |
| The property ID to search for. |
Query
query WanCoverage(
$postcode: String!,
$addressIdentifier: String,
$propertyId: ID
) {
wanCoverage(
postcode: $postcode,
addressIdentifier: $addressIdentifier,
propertyId: $propertyId
)
}Variables
{
"postcode": "abc123",
"addressIdentifier": "abc123",
"propertyId": "abc123"
}Response
{
"data": {
"wanCoverage": "HIGH"
}
}wanCoverageDetail
Type:[WanCoverageDetail]
URL:https://api.edfgb-kraken.energy/v1/graphql/
Detailed WAN coverage report for a given post code and optional address identifier.
Arguments
| Name | Description |
|---|---|
| The postcode to search for. |
| |
| The property ID to search for. |
Query
query WanCoverageDetail(
$postcode: String!,
$addressIdentifier: String,
$propertyId: ID
) {
wanCoverageDetail(
postcode: $postcode,
addressIdentifier: $addressIdentifier,
propertyId: $propertyId
) {
postcode
addressIdentifier
isCoverageAvailable
anticipatedCoverageAt
wanTechnology
auxiliaryEquipment
connectivityLikelihood
additionalInformation
}
}Variables
{
"postcode": "abc123",
"addressIdentifier": "abc123",
"propertyId": "abc123"
}Response
{
"data": {
"wanCoverageDetail": [
{
"postcode": "abc123",
"addressIdentifier": "abc123",
"isCoverageAvailable": true,
"anticipatedCoverageAt": "abc123",
"wanTechnology": "abc123",
"auxiliaryEquipment": "abc123",
"connectivityLikelihood": "abc123",
"additionalInformation": "abc123"
}
]
}
}