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.oeg-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
}
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
}
properties {
...PropertyTypeFragment
}
allProperties {
...PropertyTypeFragment
}
property {
...PropertyTypeFragment
}
electricityBalance
gasBalance
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"account": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"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,
"properties": [PropertyType],
"allProperties": [PropertyType],
"property": PropertyType,
"electricityBalance": "abc123",
"gasBalance": "abc123"
}
}
}
accountChargeReasons
Type:[ChargeReasonType]
URL:https://api.oeg-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.oeg-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
party {
... on AccountType {
...AccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountTypeFragment
}
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}
Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}
Response
{
"data": {
"accountContract": {
"identifier": NonEmptyString,
"party": AccountType,
"subject": [AccountType],
"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.oeg-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.oeg-kraken.energy/v1/graphql/
Determines whether an account is eligible to register devices with Intelligent Octopus.
Arguments
Name | Description |
---|---|
| Account number. |
Query
query AccountIoEligibility($accountNumber: String!) {
accountIoEligibility(accountNumber: $accountNumber) {
isEligibleForIo
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"accountIoEligibility": {
"isEligibleForIo": true
}
}
}
accountReference
URL:https://api.oeg-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 |
---|---|
|
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.oeg-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
}
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
}
properties {
...PropertyTypeFragment
}
allProperties {
...PropertyTypeFragment
}
property {
...PropertyTypeFragment
}
electricityBalance
gasBalance
}
}
Variables
{
"phoneNumber": "abc123",
"portfolioNumber": "abc123"
}
Response
{
"data": {
"accounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"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,
"properties": [PropertyType],
"allProperties": [PropertyType],
"property": PropertyType,
"electricityBalance": "abc123",
"gasBalance": "abc123"
}
]
}
}
activeAffiliateReferralScheme
Type:ReferralSchemeType
URL:https://api.oeg-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. |
Query
query ActiveAffiliateReferralScheme($subdomain: String!) {
activeAffiliateReferralScheme(subdomain: $subdomain) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
isUsageAtCapacity
}
}
Variables
{
"subdomain": "abc123"
}
Response
{
"data": {
"activeAffiliateReferralScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"isUsageAtCapacity": true
}
}
}
activeDomesticSignupRewardScheme
Type:ReferralSchemeType
URL:https://api.oeg-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
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",
"isUsageAtCapacity": true
}
}
}
Arguments
Name | Description |
---|---|
| The market brand code. |
| The date when product must be available. |
Query
query ActiveTariffs(
$brandCode: String,
$date: Date
) {
activeTariffs(
brandCode: $brandCode,
date: $date
) {
electricityTariffs {
...ProductFragment
}
gasTariffs {
...ProductFragment
}
}
}
Variables
{
"brandCode": "abc123",
"date": "2020-01-01"
}
Arguments
Name | Description |
---|---|
| The agreement Kraken ID. |
Query
query Agreement($id: ID!) {
agreement(id: $id) {
id
product {
...ProductFragment
}
monthlyStandingCharge
netMonthlyStandingCharge
standingChargeGrossRateInformation {
...GrossRateInformationFragment
}
unitRatePerKwh
unitRateGrossRateInformation {
...GrossRateInformationFragment
}
unitRateInformation {
... on SimpleProductUnitRateInformation {
...SimpleProductUnitRateInformationFragment
}
... on TimeOfUseProductUnitRateInformation {
...TimeOfUseProductUnitRateInformationFragment
}
}
estimatedMonthlyBillInEuros
estimatedAnnualConsumption
validFrom
validTo
agreedAt
isRevoked
isActive
isTerminated
isAffectedByPriceBrake
unitRateForecast {
...UnitRateForecastTypeFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"agreement": {
"id": 1,
"product": Product,
"monthlyStandingCharge": 1.0,
"netMonthlyStandingCharge": 1.0,
"standingChargeGrossRateInformation": [GrossRateInformation],
"unitRatePerKwh": 1.0,
"unitRateGrossRateInformation": [GrossRateInformation],
"unitRateInformation": SimpleProductUnitRateInformation,
"estimatedMonthlyBillInEuros": 1.0,
"estimatedAnnualConsumption": 1,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedAt": "2020-01-01T00:00:00.000Z",
"isRevoked": true,
"isActive": true,
"isTerminated": true,
"isAffectedByPriceBrake": true,
"unitRateForecast": [UnitRateForecastType]
}
}
}
availableProductSwitchDates
Type:[Date]
URL:https://api.oeg-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-4930: Unsupported market.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Agreement ID. |
Query
query AvailableProductSwitchDates($agreementId: Int!) {
availableProductSwitchDates(agreementId: $agreementId)
}
Variables
{
"agreementId": 1
}
Response
{
"data": {
"availableProductSwitchDates": ["2020-01-01"]
}
}
backendScreen
Type:BackendScreenType
URL:https://api.oeg-kraken.energy/v1/graphql/
Get mobile screen details to render.
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.oeg-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.oeg-kraken.energy/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}
Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}
bankHolidays
Type:[Date]
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns all German bank holidays for a specified year that are observed in one or more states.
Arguments
Name | Description |
---|---|
|
Query
query BankHolidays($year: Int!) {
bankHolidays(year: $year)
}
Variables
{
"year": 1
}
Response
{
"data": {
"bankHolidays": ["2020-01-01"]
}
}
bankTransferDetails
URL:https://api.oeg-kraken.energy/v1/graphql/
Get the bank transfer details for customers to send monies.
Query
query BankTransferDetails {
bankTransferDetails {
accountHolder
iban
bic
bankName
paymentReference {
...BankTransferReferenceFragment
}
}
}
Response
{
"data": {
"bankTransferDetails": {
"accountHolder": "abc123",
"iban": "abc123",
"bic": "abc123",
"bankName": "abc123",
"paymentReference": BankTransferReference
}
}
}
batteryDevice
Type:BatteryDeviceType
URL:https://api.oeg-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.
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": "DAIKIN",
"params": BatteryParamsType,
"deviceStatus": DeviceStatusType,
"chargingPreferences": BatteryChargingPreferencesType
}
}
}
batteryVariants
URL:https://api.oeg-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]
}
]
}
}
business
Type:BusinessType
URL:https://api.oeg-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-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The business ID. |
Query
query Business($id: ID!) {
business(id: $id) {
name
number
businessType
details {
...BusinessDetailTypeFragment
}
linkedAccountNumber
linkedAccountNumbers
segmentName
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"business": {
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"details": [BusinessDetailType],
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}
businessContract
Type:Contract
URL:https://api.oeg-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
party {
... on AccountType {
...AccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountTypeFragment
}
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}
Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}
Response
{
"data": {
"businessContract": {
"identifier": NonEmptyString,
"party": AccountType,
"subject": [AccountType],
"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.oeg-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.oeg-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
}
}
}
chargePointDevices
URL:https://api.oeg-kraken.energy/v1/graphql/
All charge point devices.
Deprecated
The 'chargePointDevices' field is deprecated.
Please use chargePointVariants instead of this query.
- Marked as deprecated on 2023-05-10.
- Scheduled for removal on or after 2024-01-01.
Query
query ChargePointDevices {
chargePointDevices {
make
models {
...ChargePointModelsTypeFragment
}
}
}
Response
{
"data": {
"chargePointDevices": [
{
"make": "abc123",
"models": [ChargePointModelsType]
}
]
}
}
Query
query ChargePointVariants {
chargePointVariants {
make
models {
...ChargePointVariantModelTypeFragment
}
}
}
Response
{
"data": {
"chargePointVariants": [
{
"make": "abc123",
"models": [ChargePointVariantModelType]
}
]
}
}
cityByPostcode
Type:String
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns the respective city of a given postcode. An invalid postcode will return an empty string.
Arguments
Name | Description |
---|---|
|
Query
query CityByPostcode($postcode: String!) {
cityByPostcode(postcode: $postcode)
}
Variables
{
"postcode": "abc123"
}
Response
{
"data": {
"cityByPostcode": "abc123"
}
}
collectiveWinterWorkout
Type:WinterWorkoutType
URL:https://api.oeg-kraken.energy/v1/graphql/
Statistics about the combined weekly and total gas savings of all Winter Workout participants.
Note that the targetSavingsRatio
will always be zero for these combined values.
The possible errors that can be raised are:
- KT-CT-3956: Temporary error occurred.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query CollectiveWinterWorkout {
collectiveWinterWorkout {
weeks {
...WinterWorkoutPeriodTypeFragment
}
total {
...WinterWorkoutPeriodTypeFragment
}
}
}
Response
{
"data": {
"collectiveWinterWorkout": {
"weeks": WinterWorkoutPeriodType,
"total": WinterWorkoutPeriodType
}
}
}
completedDispatches
Type:[UpsideDispatchType]
URL:https://api.oeg-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
}
]
}
}
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.oeg-kraken.energy/v1/graphql/
Aggregated cost of charge for an EV device.
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
}
]
}
}
dashboardScreen
Type:Dashboard
URL:https://api.oeg-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.
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"
}
}
}
defaultElectricitySuppliers
Type:[DefaultElectricitySupplierType!]
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns the default electricity suppliers and their tariffs for a given postcode from the getAG API.
Note that there is usually only one default supplier for a given postcode, but there may be multiple default suppliers for some postcodes.
Arguments
Name | Description |
---|---|
| The customer's postcode. |
| The customer's estimated annual electricity consumption in kWh. |
Query
query DefaultElectricitySuppliers(
$postcode: String!,
$annualConsumption: Int!
) {
defaultElectricitySuppliers(
postcode: $postcode,
annualConsumption: $annualConsumption
) {
supplierName
supplierNumber
tariffs {
...DefaultElectricitySupplierTariffTypeFragment
}
}
}
Variables
{
"postcode": "abc123",
"annualConsumption": 1
}
Response
{
"data": {
"defaultElectricitySuppliers": [
{
"supplierName": "abc123",
"supplierNumber": "abc123",
"tariffs": DefaultElectricitySupplierTariffType
}
]
}
}
defaultPaymentInstruction
URL:https://api.oeg-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.oeg-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.oeg-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
}
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"deviceId": "abc123",
"integrationDeviceId": "abc123"
}
Response
{
"data": {
"devices": [
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "DAIKIN",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface
}
]
}
}
domesticAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.oeg-kraken.energy/v1/graphql/
Return a 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
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",
"isUsageAtCapacity": true
}
}
}
domesticJoiningRewardScheme
Type:ReferralSchemeType
URL:https://api.oeg-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
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",
"isUsageAtCapacity": true
}
}
}
domesticSignupRewardScheme
Type:ReferralSchemeType
URL:https://api.oeg-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
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",
"isUsageAtCapacity": true
}
}
}
electricVehicles
URL:https://api.oeg-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": "DAIKIN",
"isIntegrationLive": true
}
Response
{
"data": {
"electricVehicles": [
{
"make": "abc123",
"models": [ElectricVehicleModelType]
}
]
}
}
electricityMeterReadings
Type:ElectricityMeterReadingConnectionTypeConnection
URL:https://api.oeg-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 |
---|---|
| |
| |
| |
| |
| |
| |
| |
|
Query
query ElectricityMeterReadings(
$accountNumber: String!,
$meterId: ID!,
$typesOfRead: [TypeOfRead],
$readingOrigins: [ReadingOrigin],
$before: String,
$after: String,
$first: Int,
$last: Int
) {
electricityMeterReadings(
accountNumber: $accountNumber,
meterId: $meterId,
typesOfRead: $typesOfRead,
readingOrigins: $readingOrigins,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...ElectricityMeterReadingConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"accountNumber": "abc123",
"meterId": "abc123",
"typesOfRead": "METER_INSTALLED",
"readingOrigins": "CUSTOMER",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"electricityMeterReadings": {
"pageInfo": PageInfo,
"edges": ElectricityMeterReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
electricityMeterReadingsByRegister
Type:ElectricityMeterForReadingType
URL:https://api.oeg-kraken.energy/v1/graphql/
Fetch electricity meter readings for a given account and meter, split up by register.
The possible errors that can be raised are:
- KT-CT-6420: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query ElectricityMeterReadingsByRegister(
$accountNumber: String!,
$meterId: ID!
) {
electricityMeterReadingsByRegister(
accountNumber: $accountNumber,
meterId: $meterId
) {
registers {
...ElectricityRegisterForReadingTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"meterId": "abc123"
}
Response
{
"data": {
"electricityMeterReadingsByRegister": {
"registers": [ElectricityRegisterForReadingType]
}
}
}
electricityMeters
Type:ElectricityMeterConnectionTypeConnection
URL:https://api.oeg-kraken.energy/v1/graphql/
Fetch electricity meters for a given account and MeLo.
This field is a connection type. Connections are used to implement cursor based pagination.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
| |
| |
| |
| |
| |
|
Query
query ElectricityMeters(
$accountNumber: String!,
$meloNumber: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
electricityMeters(
accountNumber: $accountNumber,
meloNumber: $meloNumber,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...ElectricityMeterConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"accountNumber": "abc123",
"meloNumber": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"electricityMeters": {
"pageInfo": PageInfo,
"edges": ElectricityMeterConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
electricitySuppliers
Type:[SupplierType]
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns all the electricity suppliers directly from the getAG API.
Query
query ElectricitySuppliers {
electricitySuppliers {
brandId
supplierId
supplierName
supplierNumber
}
}
Response
{
"data": {
"electricitySuppliers": [
{
"brandId": 1,
"supplierId": 1,
"supplierName": "abc123",
"supplierNumber": "abc123"
}
]
}
}
eligibleDeviceTypes
URL:https://api.oeg-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!) {
eligibleDeviceTypes(accountNumber: $accountNumber)
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"eligibleDeviceTypes": "BATTERIES"
}
}
embeddedNetwork
Type:EmbeddedNetworkType
URL:https://api.oeg-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.oeg-kraken.energy/v1/graphql/
The current energy generation mix.
Query
query EnergyMixData {
energyMixData {
carbonIntensityIndex
}
}
Response
{
"data": {
"energyMixData": {
"carbonIntensityIndex": "abc123"
}
}
}
enodeLinkSession
Type:EnodeLinkSessionType
URL:https://api.oeg-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.
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"
}
}
}
estimatedElectricityConsumption
Type:Decimal
URL:https://api.oeg-kraken.energy/v1/graphql/
Fetch the estimated electricity consumption for a given MeLo at a given time period in kWh.
The possible errors that can be raised are:
- KT-DE-4710: Estimated consumption calculation failed.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
| The MeLo number. |
| The start date for calculating the estimated electricity consumption. |
| The end date (inclusive) for calculating the estimated electricity consumption. |
Query
query EstimatedElectricityConsumption(
$accountNumber: String!,
$meloNumber: String!,
$startDate: Date!,
$endDate: Date!
) {
estimatedElectricityConsumption(
accountNumber: $accountNumber,
meloNumber: $meloNumber,
startDate: $startDate,
endDate: $endDate
)
}
Variables
{
"accountNumber": "abc123",
"meloNumber": "abc123",
"startDate": "2020-01-01",
"endDate": "2020-01-01"
}
Response
{
"data": {
"estimatedElectricityConsumption": 1.0
}
}
estimatedGasConsumption
Type:Decimal
URL:https://api.oeg-kraken.energy/v1/graphql/
Fetch the estimated gas consumption for a given MeLo at a given time period in kWh.
Arguments
Name | Description |
---|---|
| The account number. |
| The MeLo number. |
| The start date for calculating the estimated gas consumption. |
| The end date (inclusive) for calculating the estimated gas consumption. |
Query
query EstimatedGasConsumption(
$accountNumber: String!,
$meloNumber: String!,
$startDate: Date!,
$endDate: Date!
) {
estimatedGasConsumption(
accountNumber: $accountNumber,
meloNumber: $meloNumber,
startDate: $startDate,
endDate: $endDate
)
}
Variables
{
"accountNumber": "abc123",
"meloNumber": "abc123",
"startDate": "2020-01-01",
"endDate": "2020-01-01"
}
Response
{
"data": {
"estimatedGasConsumption": 1.0
}
}
fanClubStatus
Type:[FanClubStatus]
URL:https://api.oeg-kraken.energy/v1/graphql/
Get current status, historic discounts and future projections for a Fan Club source.
Arguments
Name | Description |
---|---|
| The account number. |
| The ID of the property. |
Query
query FanClubStatus(
$accountNumber: String,
$propertyId: Int
) {
fanClubStatus(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
discountSource
name
location
windFarm
accountNumbers
propertyIds
catchments
thresholds {
...ThresholdFragment
}
current {
...DiscountDataFragment
}
historic {
...DiscountDataFragment
}
forecast {
...DiscountForecastFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": 1
}
Response
{
"data": {
"fanClubStatus": [
{
"discountSource": "abc123",
"name": "abc123",
"location": "abc123",
"windFarm": "abc123",
"accountNumbers": "abc123",
"propertyIds": 1,
"catchments": "abc123",
"thresholds": Threshold,
"current": DiscountData,
"historic": DiscountData,
"forecast": DiscountForecast
}
]
}
}
gasMeterReadings
Type:GasMeterReadingConnectionTypeConnection
URL:https://api.oeg-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 |
---|---|
| |
| |
| |
| |
| |
| |
| |
|
Query
query GasMeterReadings(
$accountNumber: String!,
$meterId: ID!,
$typesOfRead: [TypeOfRead],
$readingOrigins: [ReadingOrigin],
$before: String,
$after: String,
$first: Int,
$last: Int
) {
gasMeterReadings(
accountNumber: $accountNumber,
meterId: $meterId,
typesOfRead: $typesOfRead,
readingOrigins: $readingOrigins,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...GasMeterReadingConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"accountNumber": "abc123",
"meterId": "abc123",
"typesOfRead": "METER_INSTALLED",
"readingOrigins": "CUSTOMER",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"gasMeterReadings": {
"pageInfo": PageInfo,
"edges": GasMeterReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
gasMeterReadingsByRegister
URL:https://api.oeg-kraken.energy/v1/graphql/
Fetch gas meter readings for a given account and meter, split up by register.
The possible errors that can be raised are:
- KT-CT-6421: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query GasMeterReadingsByRegister(
$accountNumber: String!,
$meterId: ID!
) {
gasMeterReadingsByRegister(
accountNumber: $accountNumber,
meterId: $meterId
) {
registers {
...GasRegisterForReadingTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"meterId": "abc123"
}
Response
{
"data": {
"gasMeterReadingsByRegister": {
"registers": [GasRegisterForReadingType]
}
}
}
gasMeters
Type:GasMeterConnectionTypeConnection
URL:https://api.oeg-kraken.energy/v1/graphql/
Fetch gas meters for a given account and MeLo.
This field is a connection type. Connections are used to implement cursor based pagination.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
| |
| |
| |
| |
| |
|
Query
query GasMeters(
$accountNumber: String!,
$meloNumber: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
gasMeters(
accountNumber: $accountNumber,
meloNumber: $meloNumber,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...GasMeterConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"accountNumber": "abc123",
"meloNumber": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"gasMeters": {
"pageInfo": PageInfo,
"edges": GasMeterConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
gasSuppliers
Type:[SupplierType]
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns all the gas suppliers directly from the getAG API.
Query
query GasSuppliers {
gasSuppliers {
brandId
supplierId
supplierName
supplierNumber
}
}
Response
{
"data": {
"gasSuppliers": [
{
"brandId": 1,
"supplierId": 1,
"supplierName": "abc123",
"supplierNumber": "abc123"
}
]
}
}
getQuoteByCode
Type:CreateQuoteOutput
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns the calculated quotes related to a quote request.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4627: No products are available for this quote.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The ID of the quote request. |
Query
query GetQuoteByCode($code: UUID!) {
getQuoteByCode(code: $code) {
code
requestedAt
affiliateSessionId
electricitySupplyPoint {
...QuotedSupplyPointTypeFragment
}
electricityQuote {
...ElectricityQuoteFragment
}
gasSupplyPoint {
...QuotedSupplyPointTypeFragment
}
gasQuote {
...GasQuoteFragment
}
}
}
Variables
{
"code": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}
Response
{
"data": {
"getQuoteByCode": {
"code": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"requestedAt": "2020-01-01T00:00:00.000Z",
"affiliateSessionId": "abc123",
"electricitySupplyPoint": QuotedSupplyPointType,
"electricityQuote": ElectricityQuote,
"gasSupplyPoint": QuotedSupplyPointType,
"gasQuote": GasQuote
}
}
}
getQuotedProductById
Type:QuotedProduct
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns a quoted product by id.
The possible errors that can be raised are:
- KT-DE-4601: No quoted product found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Query
query GetQuotedProductById($id: Int) {
getQuotedProductById(id: $id) {
id
product {
...ProductFragment
}
wasSelected
clientParams {
...QuotedProductClientParamsFragment
}
totalEstimatedAnnualBill
monthlyStandingCharge
netMonthlyStandingCharge
unitRateInformation {
... on SimpleProductUnitRateInformation {
...SimpleProductUnitRateInformationFragment
}
... on TimeOfUseProductUnitRateInformation {
...TimeOfUseProductUnitRateInformationFragment
}
}
retentionNumberOfValidDays
retentionOfferGenerationDate
isValidForRetentionProductSwitch
}
}
Variables
{
"id": 1
}
Response
{
"data": {
"getQuotedProductById": {
"id": 1,
"product": Product,
"wasSelected": true,
"clientParams": QuotedProductClientParams,
"totalEstimatedAnnualBill": 1.0,
"monthlyStandingCharge": 1.0,
"netMonthlyStandingCharge": 1.0,
"unitRateInformation": SimpleProductUnitRateInformation,
"retentionNumberOfValidDays": 1,
"retentionOfferGenerationDate": "2020-01-01",
"isValidForRetentionProductSwitch": true
}
}
}
goodsProducts
Type:GoodsProductConnectionTypeConnection
URL:https://api.oeg-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.oeg-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.oeg-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
}
]
}
}
inkConversation
Type:InkConversation!
URL:https://api.oeg-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.oeg-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
}
}
}
Variables
{
"messageRelayId": "abc123"
}
Response
{
"data": {
"inkMessage": InkEmail
}
}
isPasswordResetTokenValid
Type:Boolean
URL:https://api.oeg-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
}
}
krakenVersion
Type:KrakenVersionType
URL:https://api.oeg-kraken.energy/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
}
}
Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123"
}
}
}
leaveSupplierProcess
URL:https://api.oeg-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-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The leave supplier process ID. |
Query
query LeaveSupplierProcess($leaveSupplierProcessId: ID!) {
leaveSupplierProcess(leaveSupplierProcessId: $leaveSupplierProcessId) {
id
status
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
}
}
Variables
{
"leaveSupplierProcessId": "abc123"
}
Response
{
"data": {
"leaveSupplierProcess": {
"id": "abc123",
"status": "COMPLETED",
"supplyPoints": SupplyPointConnectionTypeConnection
}
}
}
lifecycleProcesses
URL:https://api.oeg-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
}
}
}
livePaymentAdequacyCalculation
Type:LivePaymentAdequacyCalculation
URL:https://api.oeg-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"
}
}
}
loyaltyPointLedgers
Type:[LoyaltyPointLedgerEntryType]
URL:https://api.oeg-kraken.energy/v1/graphql/
Get the Loyalty Point ledger entries for the passed user.
Query
query LoyaltyPointLedgers {
loyaltyPointLedgers {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
postedAt
accountNumber
}
}
Response
{
"data": {
"loyaltyPointLedgers": [
{
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
]
}
}
loyaltyPointsBalance
URL:https://api.oeg-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-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
Query
query LoyaltyPointsBalance($accountNumber: String!) {
loyaltyPointsBalance(accountNumber: $accountNumber) {
loyaltyPoints
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 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.oeg-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"}
}
}
}
node
Type:Node
URL:https://api.oeg-kraken.energy/v1/graphql/
Represents an individual object/resource in the API.
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"
}
}
}
ocppConnection
Type:OCPPConnectionType
URL:https://api.oeg-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.oeg-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"
}
}
}
opportunityValueByKey
Type:String
URL:https://api.oeg-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"
}
}
passwordValidatorHelpTexts
Type:[String]
URL:https://api.oeg-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"]
}
}
paymentInstructionByLedger
URL:https://api.oeg-kraken.energy/v1/graphql/
Get the payment instruction for the account's supplementary ledger.
The possible errors that can be raised are:
- KT-CT-3923: Unauthorized.
- KT-DE-3910: Invalid data.
- KT-DE-3911: Invalid/No payment instruction found for the given account.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query PaymentInstructionByLedger(
$accountNumber: String!,
$supplyType: String!
) {
paymentInstructionByLedger(
accountNumber: $accountNumber,
supplyType: $supplyType
) {
id
status
sortCode
iban
accountHolder
instructionType
cardPaymentNetwork
cardExpiryMonth
cardExpiryYear
supplementaryLedger {
...SupplementaryLedgerTypeFragment
}
bankCode
accountType
validFrom
vendor
cardNumber
cardType
maskedAccountIdentifier
owners {
...PaymentInstructionOwnerTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"supplyType": "abc123"
}
Response
{
"data": {
"paymentInstructionByLedger": {
"id": "abc123",
"status": "abc123",
"sortCode": "abc123",
"iban": "abc123",
"accountHolder": "abc123",
"instructionType": "abc123",
"cardPaymentNetwork": "abc123",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"supplementaryLedger": SupplementaryLedgerType,
"bankCode": "abc123",
"accountType": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"vendor": "abc123",
"cardNumber": "abc123",
"cardType": "abc123",
"maskedAccountIdentifier": "abc123",
"owners": [PaymentInstructionOwnerType]
}
}
}
paymentRequests
Type:PaymentRequestsType
URL:https://api.oeg-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
}
}
}
personalWinterWorkout
Type:WinterWorkoutType
URL:https://api.oeg-kraken.energy/v1/graphql/
Statistics about an account's weekly and total gas savings during the Winter Workout.
The possible errors that can be raised are:
- KT-CT-3823: Unauthorized.
- KT-CT-3956: Temporary error occurred.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number for which to get the Winter Workout data. |
Query
query PersonalWinterWorkout($accountNumber: String!) {
personalWinterWorkout(accountNumber: $accountNumber) {
weeks {
...WinterWorkoutPeriodTypeFragment
}
total {
...WinterWorkoutPeriodTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"personalWinterWorkout": {
"weeks": WinterWorkoutPeriodType,
"total": WinterWorkoutPeriodType
}
}
}
plannedDispatches
Type:[UpsideDispatchType]
URL:https://api.oeg-kraken.energy/v1/graphql/
All planned device dispatches 24 hours ahead, (usually) in time order.
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.oeg-kraken.energy/v1/graphql/
Get details about a portfolio.
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
}
}
}
possibleErrors
URL:https://api.oeg-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]
}
}
}
propertiesSearch
URL:https://api.oeg-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.oeg-kraken.energy/v1/graphql/
A property with the given ID. Usually associated with supply points.
Arguments
Name | Description |
---|---|
| The property ID. |
Query
query Property($id: ID!) {
property(id: $id) {
id
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
postcode
electricityMalos {
...MaLoFragment
}
gasMalos {
...MaLoFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"property": {
"id": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"postcode": "abc123",
"electricityMalos": [MaLo],
"gasMalos": [MaLo]
}
}
}
propertySearch
Type:[PropertyType]
URL:https://api.oeg-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
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
postcode
electricityMalos {
...MaLoFragment
}
gasMalos {
...MaLoFragment
}
}
}
Variables
{
"searchTerm": "abc123"
}
Response
{
"data": {
"propertySearch": [
{
"id": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"postcode": "abc123",
"electricityMalos": [MaLo],
"gasMalos": [MaLo]
}
]
}
}
providerAuthDetails
URL:https://api.oeg-kraken.energy/v1/graphql/
Auth details (e.g. OAuth 2.0 URI) for the provider (if available).
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": "DAIKIN",
"deviceType": "BATTERIES",
"clientType": "APP",
"accountNumber": "abc123",
"propertyId": 1
}
Response
{
"data": {
"providerAuthDetails": {
"oauthUri": "abc123"
}
}
}
providerVirtualKeyDetails
Type:ProviderVirtualKeyDetailsType
URL:https://api.oeg-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": "DAIKIN",
"deviceType": "BATTERIES"
}
Response
{
"data": {
"providerVirtualKeyDetails": {
"virtualKeyName": "abc123",
"virtualKeyUri": "abc123"
}
}
}
question
Type:String
URL:https://api.oeg-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"
}
}
quoteinputparams
Type:[QuoteInputParams]
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns the input parameters required to generate a quote.
Arguments
Name | Description |
---|---|
| |
| |
| |
| |
| |
|
Query
query Quoteinputparams(
$postcode: String!,
$city: String,
$longCity: String,
$street: String,
$houseNumber: String,
$validFrom: DateTime
) {
quoteinputparams(
postcode: $postcode,
city: $city,
longCity: $longCity,
street: $street,
houseNumber: $houseNumber,
validFrom: $validFrom
) {
postcode
city
street
houseNumber
gasNetworkOperatorNumber
gasNetworkOperatorId
gasNetworkOperatorName
electricityNetworkOperatorNumber
electricityNetworkOperatorId
electricityNetworkOperatorName
supplierId
tariffId
}
}
Variables
{
"postcode": "abc123",
"city": "abc123",
"longCity": "abc123",
"street": "abc123",
"houseNumber": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z"
}
Response
{
"data": {
"quoteinputparams": [
{
"postcode": "abc123",
"city": "abc123",
"street": "abc123",
"houseNumber": "abc123",
"gasNetworkOperatorNumber": "abc123",
"gasNetworkOperatorId": "abc123",
"gasNetworkOperatorName": "abc123",
"electricityNetworkOperatorNumber": "abc123",
"electricityNetworkOperatorId": "abc123",
"electricityNetworkOperatorName": "abc123",
"supplierId": "abc123",
"tariffId": "abc123"
}
]
}
}
rateLimitInfo
Type:CombinedRateLimitInformation
URL:https://api.oeg-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
}
}
}
registeredKrakenflexDevice
Type:KrakenFlexDeviceType
URL:https://api.oeg-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 2024-11-01.
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": "DAIKIN",
"vehicleMake": "abc123",
"vehicleModel": "abc123",
"vehicleBatterySizeInKwh": 1.0,
"chargePointMake": "abc123",
"chargePointModel": "abc123",
"chargePointPowerInKw": 1.0,
"status": "abc123",
"suspended": true,
"hasToken": true,
"createdAt": "2020-01-01T00:00:00.000Z",
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}
}
}
retentionQuote
Type:RetentionQuoteType
URL:https://api.oeg-kraken.energy/v1/graphql/
The quoted products already offered to the customer for retention.
The possible errors that can be raised are:
- KT-CT-3823: Unauthorized.
- KT-CT-4719: No supply point found for identifier provided.
- KT-DE-4603: Required field missing from quote retention message.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Query
query RetentionQuote($input: RetentionQuoteInput!) {
retentionQuote(input: $input) {
quotedProductIds
quotedProductSwitchUrl
quotedProductSwitchExpiryDate
}
}
Variables
{
"input": RetentionQuoteInput
}
Response
{
"data": {
"retentionQuote": {
"quotedProductIds": ["abc123"],
"quotedProductSwitchUrl": "abc123",
"quotedProductSwitchExpiryDate": "abc123"
}
}
}
smartFlexOnboardingWizards
Type:[SmartFlexOnboardingWizard!]
URL:https://api.oeg-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. |
Query
query SmartFlexOnboardingWizards(
$accountNumber: String!,
$propertyId: Int,
$wizardId: ID,
$includeCancelled: Boolean,
$includeCompleted: Boolean
) {
smartFlexOnboardingWizards(
accountNumber: $accountNumber,
propertyId: $propertyId,
wizardId: $wizardId,
includeCancelled: $includeCancelled,
includeCompleted: $includeCompleted
) {
id
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
}
Response
{
"data": {
"smartFlexOnboardingWizards": [
{
"id": "abc123",
"backendScreen": ComponentListType,
"currentStep": SmartFlexOnboardingStepInterface,
"completedSteps": SmartFlexOnboardingStepInterface
}
]
}
}
supplyPoints
Type:SupplyPointConnectionTypeConnection
URL:https://api.oeg-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.oeg-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
URL:https://api.oeg-kraken.energy/v1/graphql/
Get the active terms and conditions for a market supply product.
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"
}
]
}
}
termsandconditions
Type:OEDETermsAndConditionsType
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns the terms and conditions based on the code and version. If a brand code is provided without version numbers, the latest terms and conditions are returned.
Query
query Termsandconditions(
$brandCode: String,
$versionMajor: Int,
$versionMinor: Int
) {
termsandconditions(
brandCode: $brandCode,
versionMajor: $versionMajor,
versionMinor: $versionMinor
) {
text
createdAt
name
pdfUrl
brandCode
markdown
html
version
effectiveFrom
}
}
Variables
{
"brandCode": "abc123",
"versionMajor": 1,
"versionMinor": 1
}
Response
{
"data": {
"termsandconditions": {
"text": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"name": "abc123",
"pdfUrl": "abc123",
"brandCode": "abc123",
"markdown": "abc123",
"html": "abc123",
"version": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}
}
}
termsandconditionsforproduct
Type:[OEDETermsAndConditionsType]
URL:https://api.oeg-kraken.energy/v1/graphql/
Returns a list of the active terms and conditions for a product.
Arguments
Name | Description |
---|---|
| The code of the product we are interested in. |
Query
query Termsandconditionsforproduct($productCode: String!) {
termsandconditionsforproduct(productCode: $productCode) {
text
createdAt
name
pdfUrl
brandCode
markdown
html
version
effectiveFrom
}
}
Variables
{
"productCode": "abc123"
}
Response
{
"data": {
"termsandconditionsforproduct": [
{
"text": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"name": "abc123",
"pdfUrl": "abc123",
"brandCode": "abc123",
"markdown": "abc123",
"html": "abc123",
"version": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}
]
}
}
userVehicles
Type:[UserVehiclesType]
URL:https://api.oeg-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.
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": "DAIKIN",
"authentication": AuthenticationInput
}
Response
{
"data": {
"userVehicles": [
{
"vehicleId": "abc123",
"information": VehicleInformationType
}
]
}
}
vehicleChargingPreferences
Type:VehicleChargingPreferencesType
URL:https://api.oeg-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 2024-11-01.
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.oeg-kraken.energy/v1/graphql/
The currently authenticated user.
This field requires the Authorization
header to be set.
Query
query Viewer {
viewer {
id
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
displayName
firstName
lastName
fullName
preferredName
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}
Response
{
"data": {
"viewer": {
"id": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}
wheelOfFortuneSegments
Type:WheelSegmentsType!
URL:https://api.oeg-kraken.energy/v1/graphql/
Retrieve the segments to be displayed on the Wheel of Fortune.
This field requires the Authorization
header to be set.
Query
query WheelOfFortuneSegments {
wheelOfFortuneSegments {
segments
}
}
Response
{
"data": {
"wheelOfFortuneSegments": {
"segments": [1]
}
}
}
wheelOfFortuneSpins
Type:AvailableSpinsType!
URL:https://api.oeg-kraken.energy/v1/graphql/
Retrieve the number of available Wheel of Fortune spins, per energy type, of an account by the account number.
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-CT-7023: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number for which the available spins are gathered. |
Query
query WheelOfFortuneSpins($accountNumber: String!) {
wheelOfFortuneSpins(accountNumber: $accountNumber) {
electricity {
...SupplyTypeSpecificSpinsTypeFragment
}
gas {
...SupplyTypeSpecificSpinsTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"wheelOfFortuneSpins": {
"electricity": SupplyTypeSpecificSpinsType,
"gas": SupplyTypeSpecificSpinsType
}
}
}
Authentication Server
authorizedApplications
URL:https://auth.oeg-kraken.energy/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"
}
]
}
}
krakenVersion
Type:KrakenVersionType
URL:https://auth.oeg-kraken.energy/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
}
}
Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123"
}
}
}
mfaDevices
Type:[MfaDevice]
URL:https://auth.oeg-kraken.energy/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}
Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}