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.maingau-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.maingau-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.maingau-kraken.energy/v1/graphql/
Get details about an account contract.
The possible errors that can be raised are:
- KT-CT-10003: Contract not found.
- KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
- KT-CT-10006: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
The identifier of the contract. |
|
The account number to find the contract for. |
|
The version of the contract. |
Query
query AccountContract(
$identifier: String,
$accountNumber: String,
$version: Int
) {
accountContract(
identifier: $identifier,
accountNumber: $accountNumber,
version: $version
) {
identifier
title
party
subject {
...AccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}
Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}
Response
{
"data": {
"accountContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": ContractParty,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}
}
}
accountCreditReasons
Type: [CreditReasonType]
URL: https://api.maingau-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.maingau-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
Type: [AccountReferenceType]
URL: https://api.maingau-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.maingau-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.maingau-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.maingau-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
}
}
}
activeTariffs
Type: TariffType
URL: https://api.maingau-kraken.energy/v1/graphql/
Get products list.
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
estimatedMonthlyBillInEuros
estimatedAnnualConsumption
validFrom
validTo
agreedAt
isRevoked
isActive
isTerminated
isAffectedByPriceBrake
earliestCancellationDate
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"agreement": {
"id": 1,
"product": Product,
"monthlyStandingCharge": 1.0,
"netMonthlyStandingCharge": 1.0,
"standingChargeGrossRateInformation": [GrossRateInformation],
"unitRatePerKwh": 1.0,
"unitRateGrossRateInformation": [GrossRateInformation],
"unitRateInformation": UnitRateInformation,
"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,
"earliestCancellationDate": "2020-01-01"
}
}
}
availableProductSwitchDates
Type: [Date]
URL: https://api.maingau-kraken.energy/v1/graphql/
Get available dates for product switch.
The possible errors that can be raised are:
- KT-CT-1501: Agreement not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Agreement ID. |
|
The maximum number of days to look for available dates. |
Query
query AvailableProductSwitchDates(
$agreementId: Int!,
$maxRange: Int
) {
availableProductSwitchDates(
agreementId: $agreementId,
maxRange: $maxRange
)
}
Variables
{
"agreementId": 1,
"maxRange": 1
}
Response
{
"data": {
"availableProductSwitchDates": ["2020-01-01"]
}
}
backendScreen
Type: BackendScreenType
URL: https://api.maingau-kraken.energy/v1/graphql/
Get mobile screen details to render.
The possible errors that can be raised are:
- KT-CT-8001: No backend screen available.
- KT-CT-8005: Backend screen does not support parameters.
- KT-CT-8008: Incorrect or missing data necessary to build the screen.
- KT-CT-8006: Error applying parameters to backend screen.
- KT-CT-8009: Error translating screen content.
- KT-CT-8010: Invalid step ID.
- KT-CT-8011: Cannot rewind past a previous irreversible step.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
The ID of the screen to return. |
|
List of key-value pairs (strings) to pass as parameters to the screen. |
|
The maximum version of backend screens supported by the client. |
Query
query BackendScreen(
$screenId: ID!,
$params: [BackendScreenParamInputType],
$maxVersionSupported: Int
) {
backendScreen(
screenId: $screenId,
params: $params,
maxVersionSupported: $maxVersionSupported
)
}
Variables
{
"screenId": "abc123",
"params": BackendScreenParamInputType,
"maxVersionSupported": 1
}
Response
{
"data": {
"backendScreen": BackendScreenType
}
}
backendScreenEventIds
Type: [String]
URL: https://api.maingau-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.maingau-kraken.energy/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}
Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}
bankHolidays
Type: [Date]
URL: https://api.maingau-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
Type: BankTransferDetailsType
URL: https://api.maingau-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
}
}
}
business
Type: BusinessType
URL: https://api.maingau-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
}
billingAddress {
...RichAddressTypeFragment
}
linkedAccountNumber
linkedAccountNumbers
segmentName
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"business": {
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"details": [BusinessDetailType],
"billingAddress": RichAddressType,
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}
businessContract
Type: Contract
URL: https://api.maingau-kraken.energy/v1/graphql/
Get details about an account contract.
The possible errors that can be raised are:
- KT-CT-10003: Contract not found.
- KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
- KT-CT-10006: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
The identifier of the contract. |
|
The account number to find the business contract for. |
|
The version of the contract. |
Query
query BusinessContract(
$identifier: String,
$accountNumber: String,
$version: Int
) {
businessContract(
identifier: $identifier,
accountNumber: $accountNumber,
version: $version
) {
identifier
title
party
subject {
...AccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}
Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}
Response
{
"data": {
"businessContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": ContractParty,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}
}
}
call
Type: CallInterface!
URL: https://api.maingau-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.maingau-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
Type: [ChargePointDevicesType]
URL: https://api.maingau-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]
}
]
}
}
chargePointVariants
Type: [ChargePointVariantType]
URL: https://api.maingau-kraken.energy/v1/graphql/
All charge points variants.
Query
query ChargePointVariants {
chargePointVariants {
make
models {
...ChargePointVariantModelTypeFragment
}
}
}
Response
{
"data": {
"chargePointVariants": [
{
"make": "abc123",
"models": [ChargePointVariantModelType]
}
]
}
}
cityByPostcode
Type: String
URL: https://api.maingau-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"
}
}
completedDispatches
Type: [UpsideDispatchType]
URL: https://api.maingau-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
}
]
}
}
contributionSchemes
Type: [ContributionSchemeType]
URL: https://api.maingau-kraken.energy/v1/graphql/
Get contribution schemes.
Query
query ContributionSchemes {
contributionSchemes {
id
code
displayName
taxable
acceptingContributions
}
}
Response
{
"data": {
"contributionSchemes": [
{
"id": "abc123",
"code": "abc123",
"displayName": "abc123",
"taxable": true,
"acceptingContributions": true
}
]
}
}
costOfCharge
Type: [CostOfChargeType]
URL: https://api.maingau-kraken.energy/v1/graphql/
Aggregated cost of charge for an EV device.
Deprecated
The 'costOfCharge' field is deprecated.
Use `cost` field on `SmartFlexChargingSession` instead.
- Marked as deprecated on 2025-05-13.
- Scheduled for removal on or after 2025-08-13.
Arguments
Name | Description |
---|---|
|
|
|
Frequency by day, week, month or year. |
|
The start date of the results required. Overrides report date (end date) if provided. |
Query
query CostOfCharge(
$accountNumber: String!,
$frequency: DataFrequency!,
$startDate: Date
) {
costOfCharge(
accountNumber: $accountNumber,
frequency: $frequency,
startDate: $startDate
) {
costOfChargeId
krakenflexDeviceId
reportDate
isSmartCharge
totalConsumption
totalCostExclTax
totalCostInclTax
}
}
Variables
{
"accountNumber": "abc123",
"frequency": "DAILY",
"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.maingau-kraken.energy/v1/graphql/
Get a dashboard screen to render in the form of a json list of sections containing cards or grouped cards each with an order attribute.
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-8001: No backend screen available.
- KT-CT-8005: Backend screen does not support parameters.
- KT-CT-8008: Incorrect or missing data necessary to build the screen.
- KT-CT-8006: Error applying parameters to backend screen.
- KT-CT-8009: Error translating screen content.
- KT-CT-8010: Invalid step ID.
- KT-CT-8011: Cannot rewind past a previous irreversible step.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
The ID of the dashboard type screen to return. |
|
The account number of the user. |
|
The maximum version of dahshboard type screens supported by the client. |
|
The ledger 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!,
$ledgerNumber: String,
$propertyId: String,
$params: [BackendScreenParamInputType]
) {
dashboardScreen(
dashboardId: $dashboardId,
accountNumber: $accountNumber,
maxVersionSupported: $maxVersionSupported,
ledgerNumber: $ledgerNumber,
propertyId: $propertyId,
params: $params
) {
id
typename
dashboardItems {
...SectionTypeFragment
}
serialisedDashboardItems
}
}
Variables
{
"dashboardId": "abc123",
"accountNumber": "abc123",
"maxVersionSupported": 1,
"ledgerNumber": "abc123",
"propertyId": "abc123",
"params": BackendScreenParamInputType
}
Response
{
"data": {
"dashboardScreen": {
"id": "abc123",
"typename": "abc123",
"dashboardItems": SectionType,
"serialisedDashboardItems": "abc123"
}
}
}
defaultElectricitySuppliers
Type: [DefaultElectricitySupplierType!]
URL: https://api.maingau-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
Type: PaymentInstructionType
URL: https://api.maingau-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.maingau-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.maingau-kraken.energy/v1/graphql/
A list of devices registered to an account.
Arguments
Name | Description |
---|---|
|
The account number, e.g. A-12345678. |
|
Only list devices registered to this property. |
|
Only list the device with this ID. |
|
Only list the device with this integration device ID. |
Query
query Devices(
$accountNumber: String!,
$propertyId: ID,
$deviceId: String,
$integrationDeviceId: String
) {
devices(
accountNumber: $accountNumber,
propertyId: $propertyId,
deviceId: $deviceId,
integrationDeviceId: $integrationDeviceId
) {
id
name
deviceType
provider
integrationDeviceId
status {
...SmartFlexDeviceStatusInterfaceFragment
}
propertyId
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"deviceId": "abc123",
"integrationDeviceId": "abc123"
}
Response
{
"data": {
"devices": [
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface
}
]
}
}
domesticAccountReferralRewardScheme
Type: ReferralSchemeType
URL: https://api.maingau-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.maingau-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.maingau-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
Type: [ElectricVehicleType]
URL: https://api.maingau-kraken.energy/v1/graphql/
All electric vehicle types and their details.
Arguments
Name | Description |
---|---|
|
Only return vehicle types for the specified make. |
|
Only return vehicle types supported by the specified provider, e.g. Tesla. |
|
Only return vehicles that are currently integrated. |
Query
query ElectricVehicles(
$make: String,
$supportedProvider: ProviderChoices,
$isIntegrationLive: Boolean
) {
electricVehicles(
make: $make,
supportedProvider: $supportedProvider,
isIntegrationLive: $isIntegrationLive
) {
make
models {
...ElectricVehicleModelTypeFragment
}
}
}
Variables
{
"make": "abc123",
"supportedProvider": "BYD",
"isIntegrationLive": true
}
Response
{
"data": {
"electricVehicles": [
{
"make": "abc123",
"models": [ElectricVehicleModelType]
}
]
}
}
electricityMeterReadings
Type: ElectricityMeterReadingConnectionTypeConnection
URL: https://api.maingau-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.maingau-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.maingau-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.maingau-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
Type: [KrakenFlexDeviceTypes]
URL: https://api.maingau-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.maingau-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.maingau-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.maingau-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.maingau-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.maingau-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
}
}
gasMeterReadings
Type: GasMeterReadingConnectionTypeConnection
URL: https://api.maingau-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
Type: GasMeterForReadingType
URL: https://api.maingau-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.maingau-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.maingau-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.maingau-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.maingau-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
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": UnitRateInformation,
"retentionNumberOfValidDays": 1,
"retentionOfferGenerationDate": "2020-01-01",
"isValidForRetentionProductSwitch": true
}
}
}
goodsProducts
Type: GoodsProductConnectionTypeConnection
URL: https://api.maingau-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.maingau-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.maingau-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.maingau-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.maingau-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)
}
Variables
{
"messageRelayId": "abc123"
}
Response
{
"data": {
"inkMessage": InkMessage
}
}
isPasswordResetTokenValid
Type: Boolean
URL: https://api.maingau-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.maingau-kraken.energy/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
}
}
Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123"
}
}
}
leaveSupplierProcess
Type: LeaveSupplierProcessType
URL: https://api.maingau-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": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection
}
}
}
lifecycleProcesses
Type: LifecycleProcessesType
URL: https://api.maingau-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.maingau-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.maingau-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
Type: AccountLoyaltyPointsType
URL: https://api.maingau-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
totalMonetaryAmount
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}
}
}
metadata
Type: [Metadata]
URL: https://api.maingau-kraken.energy/v1/graphql/
Metadata for a linked object.
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.maingau-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.maingau-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.maingau-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.maingau-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.maingau-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.maingau-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
Type: PaymentInstructionType
URL: https://api.maingau-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.maingau-kraken.energy/v1/graphql/
Get all payment requests for the given ledger.
Arguments
Name | Description |
---|---|
|
Kraken ledger number. |
Query
query PaymentRequests($ledgerNumber: String!) {
paymentRequests(ledgerNumber: $ledgerNumber) {
paymentRequest {
...PaymentRequestConnectionTypeConnectionFragment
}
}
}
Variables
{
"ledgerNumber": "abc123"
}
Response
{
"data": {
"paymentRequests": {
"paymentRequest": PaymentRequestConnectionTypeConnection
}
}
}
plannedDispatches
Type: [UpsideDispatchType]
URL: https://api.maingau-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.maingau-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
Type: PossibleErrorsOutputType
URL: https://api.maingau-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
Type: [PropertySearchResult!]!
URL: https://api.maingau-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.maingau-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.maingau-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
Type: ProviderAuthDetailsType
URL: https://api.maingau-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": "BYD",
"deviceType": "BATTERIES",
"clientType": "APP",
"accountNumber": "abc123",
"propertyId": 1
}
Response
{
"data": {
"providerAuthDetails": {
"oauthUri": "abc123"
}
}
}
providerVirtualKeyDetails
Type: ProviderVirtualKeyDetailsType
URL: https://api.maingau-kraken.energy/v1/graphql/
Virtual key details (e.g. certificate public key) for the provider (if available).
Arguments
Name | Description |
---|---|
|
The provider to get the virtual key details for. |
|
The device type to get the virtual key details for (as providers may support multiple). |
Query
query ProviderVirtualKeyDetails(
$provider: ProviderChoices!,
$deviceType: KrakenFlexDeviceTypes!
) {
providerVirtualKeyDetails(
provider: $provider,
deviceType: $deviceType
) {
virtualKeyName
virtualKeyUri
}
}
Variables
{
"provider": "BYD",
"deviceType": "BATTERIES"
}
Response
{
"data": {
"providerVirtualKeyDetails": {
"virtualKeyName": "abc123",
"virtualKeyUri": "abc123"
}
}
}
question
Type: String
URL: https://api.maingau-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.maingau-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.maingau-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.maingau-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": "BYD",
"vehicleMake": "abc123",
"vehicleModel": "abc123",
"vehicleBatterySizeInKwh": 1.0,
"chargePointMake": "abc123",
"chargePointModel": "abc123",
"chargePointPowerInKw": 1.0,
"status": "abc123",
"suspended": true,
"hasToken": true,
"createdAt": "2020-01-01T00:00:00.000Z",
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}
}
}
retentionQuote
Type: RetentionQuoteType
URL: https://api.maingau-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.maingau-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
currentStep {
...SmartFlexOnboardingStepInterfaceFragment
}
completedSteps {
...SmartFlexOnboardingStepInterfaceFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": 1,
"wizardId": "abc123",
"includeCancelled": true,
"includeCompleted": true
}
Response
{
"data": {
"smartFlexOnboardingWizards": [
{
"id": "abc123",
"backendScreen": BackendScreenType,
"currentStep": SmartFlexOnboardingStepInterface,
"completedSteps": SmartFlexOnboardingStepInterface
}
]
}
}
supplyPoints
Type: SupplyPointConnectionTypeConnection
URL: https://api.maingau-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.maingau-kraken.energy/v1/graphql/
Get the status of a background task.
The possible errors that can be raised are:
- KT-CT-10401: Task not found.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query TaskResult(
$taskId: String!,
$accountNumber: String!
) {
taskResult(
taskId: $taskId,
accountNumber: $accountNumber
) {
status
result
error
}
}
Variables
{
"taskId": "abc123",
"accountNumber": "abc123"
}
Response
{
"data": {
"taskResult": {
"status": "STARTED",
"result": {"key": "value"},
"error": "abc123"
}
}
}
termsAndConditionsForProduct
Type: [TermsAndConditionsType]
URL: https://api.maingau-kraken.energy/v1/graphql/
Get the active terms and conditions for a market supply product.
Arguments
Name | Description |
---|---|
|
The product code of the market supply product. |
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.maingau-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.maingau-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.maingau-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": "BYD",
"authentication": AuthenticationInput
}
Response
{
"data": {
"userVehicles": [
{
"vehicleId": "abc123",
"information": VehicleInformationType
}
]
}
}
vehicleChargingPreferences
Type: VehicleChargingPreferencesType
URL: https://api.maingau-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.maingau-kraken.energy/v1/graphql/
The currently authenticated user.
This field requires the Authorization
header to be set.
Query
query Viewer {
viewer {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
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",
"number": "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
}
}
}
Authentication Server
authorizedApplications
Type: [AuthorizedApplication]
URL: https://auth.maingau-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.maingau-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.maingau-kraken.energy/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}
Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}