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.oeus-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
}
consentData
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
bill {
...BillInterfaceFragment
}
directDebitInstructions {
...DirectDebitInstructionConnectionTypeConnectionFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
events {
...AccountEventConnectionTypeConnectionFragment
}
applications {
...AccountApplicationConnectionTypeConnectionFragment
}
accountType
businessType
business {
...BusinessTypeFragment
}
commsDeliveryPreference
communicationDeliveryPreference
documentAccessibility
references {
...AccountReferenceTypeFragment
}
fileAttachments {
...AccountFileAttachmentFragment
}
paginatedFileAttachments {
...AccountFileAttachmentConnectionTypeConnectionFragment
}
maximumRefund {
...MaximumRefundTypeFragment
}
campaigns {
...AccountCampaignTypeFragment
}
isInHardship
activeHardshipAgreements {
...HardshipAgreementTypeFragment
}
notes {
...AccountNoteTypeFragment
}
contributionAgreements {
...ContributionAgreementTypeFragment
}
assistanceAgreements {
...AssistanceAgreementTypeFragment
}
debtCollectionProceedings {
...DebtCollectionProceedingTypeFragment
}
createdAt
preferredLanguageForComms
consents {
...ConsentTypeFragment
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
meterPointStatus
isShellAccount
isEligibleForIntelligentOctopus
agreements {
...AgreementTypeFragment
}
isOnSupply
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"account": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"consentData": {"key": "value"},
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"notes": [AccountNoteType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"debtCollectionProceedings": [DebtCollectionProceedingType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"meterPointStatus": "abc123",
"isShellAccount": true,
"isEligibleForIntelligentOctopus": true,
"agreements": [AgreementType],
"isOnSupply": true
}
}
}
accountChargeReasons
Type: [ChargeReasonType]
URL: https://api.oeus-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.oeus-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.oeus-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"
}
]
}
}
accountInfoPrechecksValidation
Type: PrechecksValidationOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns whether the given data passes pre-check validation.
Arguments
| Name | Description |
|---|---|
|
Data for pre-check validation. |
Query
query AccountInfoPrechecksValidation($precheckData: PrechecksValidationInputType!) {
accountInfoPrechecksValidation(precheckData: $precheckData) {
denyEnrollment
email {
...PrecheckEmailValidationOutputFragment
}
}
}
Variables
{
"precheckData": PrechecksValidationInputType
}
Response
{
"data": {
"accountInfoPrechecksValidation": {
"denyEnrollment": true,
"email": PrecheckEmailValidationOutput
}
}
}
accountIoEligibility
Type: AccountIoEligibility
URL: https://api.oeus-kraken.energy/v1/graphql/
Determines whether an account is eligible to register devices with SmartFlex.
Arguments
| Name | Description |
|---|---|
|
Account number. |
|
|
Query
query AccountIoEligibility(
$accountNumber: String!,
$propertyId: Int
) {
accountIoEligibility(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
isEligibleForIo
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": 1
}
Response
{
"data": {
"accountIoEligibility": {
"isEligibleForIo": true
}
}
}
accountReference
Type: [AccountReferenceType]
URL: https://api.oeus-kraken.energy/v1/graphql/
List of matching account references.
The possible errors that can be raised are:
- KT-CT-8310: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Filter account references by this value. |
Query
query AccountReference($value: String) {
accountReference(value: $value) {
namespace
value
createdAt
updatedAt
account {
...AccountTypeFragment
}
}
}
Variables
{
"value": "abc123"
}
Response
{
"data": {
"accountReference": [
{
"namespace": "abc123",
"value": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"account": AccountType
}
]
}
}
accounts
Type: [AccountType]
URL: https://api.oeus-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
}
consentData
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
bill {
...BillInterfaceFragment
}
directDebitInstructions {
...DirectDebitInstructionConnectionTypeConnectionFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
events {
...AccountEventConnectionTypeConnectionFragment
}
applications {
...AccountApplicationConnectionTypeConnectionFragment
}
accountType
businessType
business {
...BusinessTypeFragment
}
commsDeliveryPreference
communicationDeliveryPreference
documentAccessibility
references {
...AccountReferenceTypeFragment
}
fileAttachments {
...AccountFileAttachmentFragment
}
paginatedFileAttachments {
...AccountFileAttachmentConnectionTypeConnectionFragment
}
maximumRefund {
...MaximumRefundTypeFragment
}
campaigns {
...AccountCampaignTypeFragment
}
isInHardship
activeHardshipAgreements {
...HardshipAgreementTypeFragment
}
notes {
...AccountNoteTypeFragment
}
contributionAgreements {
...ContributionAgreementTypeFragment
}
assistanceAgreements {
...AssistanceAgreementTypeFragment
}
debtCollectionProceedings {
...DebtCollectionProceedingTypeFragment
}
createdAt
preferredLanguageForComms
consents {
...ConsentTypeFragment
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
meterPointStatus
isShellAccount
isEligibleForIntelligentOctopus
agreements {
...AgreementTypeFragment
}
isOnSupply
}
}
Variables
{
"phoneNumber": "abc123",
"portfolioNumber": "abc123"
}
Response
{
"data": {
"accounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"consentData": {"key": "value"},
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"notes": [AccountNoteType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"debtCollectionProceedings": [DebtCollectionProceedingType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"meterPointStatus": "abc123",
"isShellAccount": true,
"isEligibleForIntelligentOctopus": true,
"agreements": [AgreementType],
"isOnSupply": true
}
]
}
}
accountsSearch
Type: [AccountSearchItemType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Search for account that are already in Kraken and match the search terms.
Arguments
| Name | Description |
|---|---|
|
Search operators. |
|
The maximum number of results to return. |
Query
query AccountsSearch(
$searchTerms: AccountSearchInputType,
$maxResults: Int
) {
accountsSearch(
searchTerms: $searchTerms,
maxResults: $maxResults
) {
account {
...AccountTypeFragment
}
score
}
}
Variables
{
"searchTerms": AccountSearchInputType,
"maxResults": 1
}
Response
{
"data": {
"accountsSearch": [
{
"account": AccountType,
"score": "1.0"
}
]
}
}
activeAffiliateReferralScheme
Type: ReferralSchemeType
URL: https://api.oeus-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
maxRecurrence
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",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
activeDomesticSignupRewardScheme
Type: ReferralSchemeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Return the current active signup referral reward scheme with the given code, if any exists.
Query
query ActiveDomesticSignupRewardScheme {
activeDomesticSignupRewardScheme {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}
Response
{
"data": {
"activeDomesticSignupRewardScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
addressLookup
Type: [AddressTdspMappingOutputType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get address mapping by providing ESI ID or address details.
Arguments
| Name | Description |
|---|---|
|
The ESI ID of the meter point at the address. |
|
The street address. |
|
The second line of the street address. |
|
The city of the address. |
|
The postal code of the address. |
|
The state of the address. |
Query
query AddressLookup(
$esiId: String,
$address: String,
$address2: String,
$city: String,
$postCode: String,
$state: String
) {
addressLookup(
esiId: $esiId,
address: $address,
address2: $address2,
city: $city,
postCode: $postCode,
state: $state
) {
esiId
houseNumber
address
address2
city
postCode
state
serviceProvider
loadZone
isCustomer {
...OeCustomerOutputFragment
}
isKrakenCustomer {
...IsKrakenCustomerOutputFragment
}
meterType
premiseType
}
}
Variables
{
"esiId": "abc123",
"address": "abc123",
"address2": "abc123",
"city": "abc123",
"postCode": "abc123",
"state": "abc123"
}
Response
{
"data": {
"addressLookup": [
{
"esiId": "abc123",
"houseNumber": "abc123",
"address": "abc123",
"address2": "abc123",
"city": "abc123",
"postCode": "abc123",
"state": "abc123",
"serviceProvider": "AEP_TCC",
"loadZone": "LZ_HOUSTON",
"isCustomer": OeCustomerOutput,
"isKrakenCustomer": IsKrakenCustomerOutput,
"meterType": "AMSM",
"premiseType": "RESIDENTIAL"
}
]
}
}
addressLookupUsingEsSearch
Type: [AddressTdspMappingOutputType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get address mapping by providing a search term.
Arguments
| Name | Description |
|---|---|
|
Query
query AddressLookupUsingEsSearch($search: String!) {
addressLookupUsingEsSearch(search: $search) {
esiId
houseNumber
address
address2
city
postCode
state
serviceProvider
loadZone
isCustomer {
...OeCustomerOutputFragment
}
isKrakenCustomer {
...IsKrakenCustomerOutputFragment
}
meterType
premiseType
}
}
Variables
{
"search": "abc123"
}
Response
{
"data": {
"addressLookupUsingEsSearch": [
{
"esiId": "abc123",
"houseNumber": "abc123",
"address": "abc123",
"address2": "abc123",
"city": "abc123",
"postCode": "abc123",
"state": "abc123",
"serviceProvider": "AEP_TCC",
"loadZone": "LZ_HOUSTON",
"isCustomer": OeCustomerOutput,
"isKrakenCustomer": IsKrakenCustomerOutput,
"meterType": "AMSM",
"premiseType": "RESIDENTIAL"
}
]
}
}
affiliateLink
Type: AffiliateLinkType!
URL: https://api.oeus-kraken.energy/v1/graphql/
Link object for an affiliate organization.
The possible errors that can be raised are:
- KT-CT-7713: Invalid data.
- KT-CT-7718: Affiliate link is expired.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The affiliate link subdomain. |
Query
query AffiliateLink($subdomain: String!) {
affiliateLink(subdomain: $subdomain) {
id
organisation {
...AffiliateOrganisationTypeFragment
}
subdomain
trainingStatus
isBusiness
contactName
contactEmail
landingUrl
}
}
Variables
{
"subdomain": "abc123"
}
Response
{
"data": {
"affiliateLink": {
"id": "abc123",
"organisation": AffiliateOrganisationType,
"subdomain": "abc123",
"trainingStatus": "NOT_APPLICABLE",
"isBusiness": true,
"contactName": "abc123",
"contactEmail": "abc123",
"landingUrl": "abc123"
}
}
}
affiliateOrganisation
Type: AffiliateOrganisationType
URL: https://api.oeus-kraken.energy/v1/graphql/
Return the details of a given affiliate organization, if any exists.
The possible errors that can be raised are:
- KT-CT-7701: The affiliate organisation was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The affiliate organisation ID. |
Query
query AffiliateOrganisation($id: Int!) {
affiliateOrganisation(id: $id) {
id
name
contactEmail
salesChannel
canRenewTariffs
defaultAccountType
allowAlternativePaymentMethods
canRegisterBusinessMeterPoints
canRegisterPortfolioAccounts
canRegisterCustomersWithoutEmailAddress
canUseIvrSupportApi
skipMeterPointAddressValidation
salesChannelCode
isFieldSalesOnlyProduct
}
}
Variables
{
"id": 1
}
Response
{
"data": {
"affiliateOrganisation": {
"id": "abc123",
"name": "abc123",
"contactEmail": "abc123",
"salesChannel": "DIRECT",
"canRenewTariffs": true,
"defaultAccountType": "BUSINESS",
"allowAlternativePaymentMethods": true,
"canRegisterBusinessMeterPoints": true,
"canRegisterPortfolioAccounts": true,
"canRegisterCustomersWithoutEmailAddress": true,
"canUseIvrSupportApi": true,
"skipMeterPointAddressValidation": true,
"salesChannelCode": "abc123",
"isFieldSalesOnlyProduct": true
}
}
}
apiBrownouts
Type: APIBrownoutConnection
URL: https://api.oeus-kraken.energy/v1/graphql/
Get brownouts by status.
Arguments
| Name | Description |
|---|---|
|
Statuses to filter for. Otherwise return active and upcoming brownouts. |
|
|
|
|
|
|
|
Query
query ApiBrownouts(
$input: APIBrownoutInput,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
apiBrownouts(
input: $input,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...APIBrownoutEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"input": APIBrownoutInput,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"apiBrownouts": {
"pageInfo": PageInfo,
"edges": APIBrownoutEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
apiExceptions
Type: APIExceptionConnectionTypeConnection
URL: https://api.oeus-kraken.energy/v1/graphql/
Get a connection containing API Exceptions.
Arguments
| Name | Description |
|---|---|
|
Fields to filter for. Otherwise don't filter at all. |
|
|
|
|
|
|
|
Query
query ApiExceptions(
$input: APIExceptionQueryInput,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
apiExceptions(
input: $input,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...APIExceptionConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"input": APIExceptionQueryInput,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"apiExceptions": {
"pageInfo": PageInfo,
"edges": APIExceptionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
appSessions
Type: AppSessionConnectionTypeConnection!
URL: https://api.oeus-kraken.energy/v1/graphql/
App sessions recorded at the specified address.
Arguments
| Name | Description |
|---|---|
|
The postcode of the address at which the app session was recorded. |
|
|
|
|
|
|
|
Query
query AppSessions(
$postcode: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
appSessions(
postcode: $postcode,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AppSessionConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"postcode": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"appSessions": {
"pageInfo": PageInfo,
"edges": AppSessionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
authorizedApplications
Type: [AuthorizedApplication]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get all the confidential-client applications the current user has authorized.
Query
query AuthorizedApplications {
authorizedApplications {
name
clientId
}
}
Response
{
"data": {
"authorizedApplications": [
{
"name": "abc123",
"clientId": "abc123"
}
]
}
}
availableProductSwitchDates
Type: [Date]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get available dates for product switch.
The possible errors that can be raised are:
- KT-CT-1501: Agreement not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Agreement ID. |
|
The maximum number of days to look for available dates. |
Query
query AvailableProductSwitchDates(
$agreementId: Int!,
$maxRange: Int
) {
availableProductSwitchDates(
agreementId: $agreementId,
maxRange: $maxRange
)
}
Variables
{
"agreementId": 1,
"maxRange": 1
}
Response
{
"data": {
"availableProductSwitchDates": ["2020-01-01"]
}
}
availableProducts
Type: [SupplyProductType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get available products for the given market.
The possible errors that can be raised are:
- KT-CT-4930: Unsupported market.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Products available for the target market. |
Query
query AvailableProducts($marketName: String!) {
availableProducts(marketName: $marketName) {
id
code
notes
fullName
displayName
description
availableFrom
availableTo
isHidden
term
endsAt
brandCode
marketName
availabilityStatus
termsContractType
termsAndConditionsTypes {
...TermsAndConditionsTypeFragment
}
params
tags
}
}
Variables
{
"marketName": "abc123"
}
Response
{
"data": {
"availableProducts": [
{
"id": "abc123",
"code": "abc123",
"notes": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"isHidden": true,
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"brandCode": "abc123",
"marketName": "abc123",
"availabilityStatus": "EVERYONE",
"termsContractType": "abc123",
"termsAndConditionsTypes": TermsAndConditionsType,
"params": {"key": "value"},
"tags": "abc123"
}
]
}
}
availableServiceDates
Type: [Date]
URL: https://api.oeus-kraken.energy/v1/graphql/
List of available dates for move-in/switch/other service orders.
Arguments
| Name | Description |
|---|---|
|
ESI ID of meter point. |
Query
query AvailableServiceDates($esiId: String!) {
availableServiceDates(esiId: $esiId)
}
Variables
{
"esiId": "abc123"
}
Response
{
"data": {
"availableServiceDates": ["2020-01-01"]
}
}
backendScreen
Type: BackendScreenType
URL: https://api.oeus-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.oeus-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.oeus-kraken.energy/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}
Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}
bankDetailsValidation
Type: BankDetailsValidationResult
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
The IBAN of the bank account. |
Query
query BankDetailsValidation($iban: NonEmptyString!) {
bankDetailsValidation(iban: $iban) {
areValid
message
}
}
Variables
{
"iban": NonEmptyString
}
Response
{
"data": {
"bankDetailsValidation": {
"areValid": true,
"message": "abc123"
}
}
}
batteryDevice
Type: BatteryDeviceType
URL: https://api.oeus-kraken.energy/v1/graphql/
The currently active battery device.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'batteryDevice' field is deprecated.
Use `SmartFlexInverter` on `devices` query instead.
- Marked as deprecated on 2025-09-08.
- Scheduled for removal on or after 2025-12-08.
Query
query BatteryDevice(
$accountNumber: String!,
$propertyId: Int!
) {
batteryDevice(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
krakenflexDeviceId
deviceType
provider
params {
...BatteryParamsTypeFragment
}
deviceStatus {
...DeviceStatusTypeFragment
}
chargingPreferences {
...BatteryChargingPreferencesTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": 1
}
Response
{
"data": {
"batteryDevice": {
"krakenflexDeviceId": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"params": BatteryParamsType,
"deviceStatus": DeviceStatusType,
"chargingPreferences": BatteryChargingPreferencesType
}
}
}
batteryVariants
Type: [BatteryVariantsType]
URL: https://api.oeus-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.oeus-kraken.energy/v1/graphql/
Get details about a business.
The possible errors that can be raised are:
- KT-CT-11101: The viewer is not authorized to execute the query/mutation. Check the ownership/permissions of provided data.
- KT-CT-11107: Unauthorized.
- KT-CT-1605: Invalid input.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The business ID. |
|
List of business detail key-value pairs to filter by. |
Query
query Business(
$id: ID,
$details: [BusinessDetailInput]
) {
business(
id: $id,
details: $details
) {
id
name
number
businessType
sectors
details {
...BusinessDetailTypeFragment
}
billingAddress {
...RichAddressTypeFragment
}
legalAddress {
...RichAddressTypeFragment
}
linkedAccountNumber
linkedAccountNumbers
segmentName
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}
Variables
{
"id": "abc123",
"details": BusinessDetailInput
}
Response
{
"data": {
"business": {
"id": "abc123",
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"sectors": BusinessSectorString,
"details": [BusinessDetailType],
"billingAddress": RichAddressType,
"legalAddress": RichAddressType,
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}
businessAccountReferralRewardScheme
Type: ReferralSchemeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Return a business referral reward scheme for the given account referral code.
Arguments
| Name | Description |
|---|---|
|
Friend referral code. |
Query
query BusinessAccountReferralRewardScheme($code: String!) {
businessAccountReferralRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}
Variables
{
"code": "abc123"
}
Response
{
"data": {
"businessAccountReferralRewardScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
businessContract
Type: Contract
URL: https://api.oeus-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.oeus-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
}
}
}
callTag
Type: CallTagType!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the call tag for a given ID.
The possible errors that can be raised are:
- KT-CT-11809: Call tag not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The call tag ID. |
Query
query CallTag($id: ID!) {
callTag(id: $id) {
id
name
isActive
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"callTag": {
"id": "abc123",
"name": "abc123",
"isActive": true
}
}
}
callTags
Type: CallTagConnectionTypeConnection!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get call tags.
Arguments
| Name | Description |
|---|---|
|
Filter by call tag name. |
|
Filter by active status. |
|
|
|
|
|
|
|
Query
query CallTags(
$name: String,
$isActive: Boolean,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
callTags(
name: $name,
isActive: $isActive,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CallTagConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"name": "abc123",
"isActive": true,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"callTags": {
"pageInfo": PageInfo,
"edges": CallTagConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
campaigns
Type: AccountCampaignConnectionTypeConnection
URL: https://api.oeus-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
}
}
}
chargePointVariants
Type: [ChargePointVariantType]
URL: https://api.oeus-kraken.energy/v1/graphql/
All charge points variants.
Query
query ChargePointVariants {
chargePointVariants {
make
models {
...ChargePointVariantModelTypeFragment
}
}
}
Response
{
"data": {
"chargePointVariants": [
{
"make": "abc123",
"models": [ChargePointVariantModelType]
}
]
}
}
collectionProcessDetails
Type: CollectionProcessDetailsType
URL: https://api.oeus-kraken.energy/v1/graphql/
Collection process record details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-11201: No Collection Process Records associated with id.
- KT-CT-11206: Unable to retrieve disconnection related data for collection process.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The collection process record number. |
Query
query CollectionProcessDetails($collectionProcessRecordNumber: String!) {
collectionProcessDetails(collectionProcessRecordNumber: $collectionProcessRecordNumber) {
collectionProcessRecordNumber
isPaused
isComplete
isActive
completionType
associatedItems {
...CollectionProcessRecordAssociatedItemTypeFragment
}
pausedDays
}
}
Variables
{
"collectionProcessRecordNumber": "abc123"
}
Response
{
"data": {
"collectionProcessDetails": {
"collectionProcessRecordNumber": "abc123",
"isPaused": true,
"isComplete": true,
"isActive": true,
"completionType": "abc123",
"associatedItems": [CollectionProcessRecordAssociatedItemType],
"pausedDays": 1
}
}
}
complaint
Type: ComplaintType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get a complaint.
The possible errors that can be raised are:
- KT-CT-12301: Complaint not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query Complaint($complaintId: Int!) {
complaint(complaintId: $complaintId) {
id
contacts {
...ComplaintContactConnectionTypeConnectionFragment
}
type
subtype
creationDate
resolutionDate
assigneeId
}
}
Variables
{
"complaintId": 1
}
Response
{
"data": {
"complaint": {
"id": "abc123",
"contacts": ComplaintContactConnectionTypeConnection,
"type": "abc123",
"subtype": "abc123",
"creationDate": "2020-01-01",
"resolutionDate": "2020-01-01",
"assigneeId": "abc123"
}
}
}
completedDispatches
Type: [UpsideDispatchType]
URL: https://api.oeus-kraken.energy/v1/graphql/
All completed device dispatches 12 hours behind, in reverse time order.
Arguments
| Name | Description |
|---|---|
|
Query
query CompletedDispatches($accountNumber: String!) {
completedDispatches(accountNumber: $accountNumber) {
start
end
startDt
endDt
deltaKwh
delta
meta {
...UpsideDispatchMetaTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"completedDispatches": [
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"startDt": "abc123",
"endDt": "abc123",
"deltaKwh": 1,
"delta": "1.0",
"meta": UpsideDispatchMetaType
}
]
}
}
consentTypes
Type: [ConsentTypeType]
URL: https://api.oeus-kraken.energy/v1/graphql/
A list of the consent types available.
Query
query ConsentTypes {
consentTypes {
code
description
name
defaultValue
}
}
Response
{
"data": {
"consentTypes": [
{
"code": "abc123",
"description": "abc123",
"name": "abc123",
"defaultValue": "ACCEPTED"
}
]
}
}
contributionSchemes
Type: [ContributionSchemeType]
URL: https://api.oeus-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.oeus-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
}
]
}
}
creditCheckStatus
Type: CreditCheckOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns the credit check status for the given account.
The possible errors that can be raised are:
- KT-US-4111: You are not authorized to view this account's credit score status.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query CreditCheckStatus($accountNumber: String!) {
creditCheckStatus(accountNumber: $accountNumber) {
status
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"creditCheckStatus": {
"status": "PASSED"
}
}
}
currentAndHistoricalProductPriceHistory
Type: [CurrentAndHistoricalProductPricingHistoryOutput]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get current and historical electricity products' price history for the given period.
Note: period should be less than or equal to last thirteen months.
Arguments
| Name | Description |
|---|---|
Query
query CurrentAndHistoricalProductPriceHistory($filterBy: CurrentAndHistoricalProductPricingHistoryInput!) {
currentAndHistoricalProductPriceHistory(filterBy: $filterBy) {
fullName
displayName
priceHistory {
...PricingHistoryFragment
}
}
}
Variables
{
"filterBy": CurrentAndHistoricalProductPricingHistoryInput
}
Response
{
"data": {
"currentAndHistoricalProductPriceHistory": [
{
"fullName": "abc123",
"displayName": "abc123",
"priceHistory": [PricingHistory]
}
]
}
}
customerFeedbackForms
Type: CustomerFeedbackFormConnectionTypeConnection
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns all active customer feedback forms for the account's brand.
Arguments
| Name | Description |
|---|---|
|
The account number. |
|
Feedback sources currently supported. |
|
|
|
|
|
|
|
Query
query CustomerFeedbackForms(
$accountNumber: String!,
$feedbackSource: CustomerFeedbackSourceChoices,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
customerFeedbackForms(
accountNumber: $accountNumber,
feedbackSource: $feedbackSource,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CustomerFeedbackFormConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"accountNumber": "abc123",
"feedbackSource": "FEEDBACK_SOURCE_PHONE_CALL_FOLLOW_UP",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"customerFeedbackForms": {
"pageInfo": PageInfo,
"edges": CustomerFeedbackFormConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
dailyReadings
Type: [DailyReadingOutput]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get daily readings for a meter point.
Arguments
| Name | Description |
|---|---|
|
Query
query DailyReadings($input: DailyReadingInput!) {
dailyReadings(input: $input) {
meterPointId
readAt
meterReading
dailyUsage
source
}
}
Variables
{
"input": DailyReadingInput
}
Response
{
"data": {
"dailyReadings": [
{
"meterPointId": 1,
"readAt": "abc123",
"meterReading": "1.0",
"dailyUsage": "1.0",
"source": "abc123"
}
]
}
}
dashboardScreen
Type: Dashboard
URL: https://api.oeus-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"
}
}
}
defaultPaymentInstruction
Type: PaymentInstructionType
URL: https://api.oeus-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.oeus-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
}
}
depositAgreements
Type: [DepositAgreementOutput]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get deposit agreements for a given account.
Arguments
| Name | Description |
|---|---|
|
Query
query DepositAgreements($accountNumber: String!) {
depositAgreements(accountNumber: $accountNumber) {
depositKey
depositAmount
acceptedAt
fulfilledAt
collectionDate
dueDate
returnStrategy
currentEligibilityStatus {
...CurrentEligibilityStatusOutputFragment
}
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"depositAgreements": [
{
"depositKey": "abc123",
"depositAmount": 1,
"acceptedAt": "2020-01-01T00:00:00.000Z",
"fulfilledAt": "2020-01-01T00:00:00.000Z",
"collectionDate": "2020-01-01",
"dueDate": "2020-01-01",
"returnStrategy": "abc123",
"currentEligibilityStatus": CurrentEligibilityStatusOutput
}
]
}
}
devices
Type: [SmartFlexDeviceInterface!]
URL: https://api.oeus-kraken.energy/v1/graphql/
A list of devices registered to an account.
Arguments
| Name | Description |
|---|---|
|
The account number, e.g. A-12345678. |
|
Only list devices registered to this property. |
|
Only list the device with this ID. |
|
Only list the device with this integration device ID. |
Query
query Devices(
$accountNumber: String!,
$propertyId: ID,
$deviceId: String,
$integrationDeviceId: String
) {
devices(
accountNumber: $accountNumber,
propertyId: $propertyId,
deviceId: $deviceId,
integrationDeviceId: $integrationDeviceId
) {
id
name
deviceType
provider
integrationDeviceId
status {
...SmartFlexDeviceStatusInterfaceFragment
}
propertyId
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
preferenceSetting {
...FlexDevicePreferenceSettingInterfaceFragment
}
reAuthenticationState {
...DeviceReAuthenticationInterfaceFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"deviceId": "abc123",
"integrationDeviceId": "abc123"
}
Response
{
"data": {
"devices": [
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface
}
]
}
}
domesticAccountReferralRewardScheme
Type: ReferralSchemeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Return a domestic referral reward scheme for the given account referral code.
Arguments
| Name | Description |
|---|---|
|
Friend referral code. |
Query
query DomesticAccountReferralRewardScheme($code: String!) {
domesticAccountReferralRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}
Variables
{
"code": "abc123"
}
Response
{
"data": {
"domesticAccountReferralRewardScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
domesticJoiningRewardScheme
Type: ReferralSchemeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Return a joining reward scheme with the given code, if it's active. A joining reward can be a signup reward or a promotional reward.
Arguments
| Name | Description |
|---|---|
|
Reward code for the scheme. |
Query
query DomesticJoiningRewardScheme($code: String!) {
domesticJoiningRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}
Variables
{
"code": "abc123"
}
Response
{
"data": {
"domesticJoiningRewardScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
domesticSignupRewardScheme
Type: ReferralSchemeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Return a signup referral reward scheme with the given code, if it's active.
Arguments
| Name | Description |
|---|---|
|
Reward code for the scheme. |
Query
query DomesticSignupRewardScheme($code: String!) {
domesticSignupRewardScheme(code: $code) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}
Variables
{
"code": "abc123"
}
Response
{
"data": {
"domesticSignupRewardScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
efls
Type: [EflType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get all active Electricity Facts Label (EFLs).
By default, the query will return active EFLs for all service providers in both English (EN) and Spanish (ES) versions.
Query can be filtered by the given service provider, product id, and language.
Arguments
| Name | Description |
|---|---|
|
Retrieve EFLs for the given product id. |
|
Retrieve EFLs for the given service provider. |
|
Retrieve EFLs applicable in the given load zone. |
|
Retrieve EFLs for the given language. |
Query
query Efls(
$productId: ID,
$serviceProvider: ServiceProvider,
$loadZone: LoadZone,
$language: EFLLanguage
) {
efls(
productId: $productId,
serviceProvider: $serviceProvider,
loadZone: $loadZone,
language: $language
) {
id
serviceProvider
loadZone
language
version
url
productDisplayName
productCode
}
}
Variables
{
"productId": "abc123",
"serviceProvider": "AEP_TCC",
"loadZone": "LZ_HOUSTON",
"language": "EN"
}
Response
{
"data": {
"efls": [
{
"id": "abc123",
"serviceProvider": "AEP_TCC",
"loadZone": "LZ_HOUSTON",
"language": "abc123",
"version": "abc123",
"url": "abc123",
"productDisplayName": "abc123",
"productCode": "abc123"
}
]
}
}
electricVehicles
Type: [ElectricVehicleType]
URL: https://api.oeus-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]
}
]
}
}
eligibilityToJoinLoyaltyPointsProgram
Type: LoyaltyPointsProgramEligibilityType
URL: https://api.oeus-kraken.energy/v1/graphql/
Check if an account is eligible to join the loyalty points program.
The possible errors that can be raised are:
- KT-CT-9202: Loyalty Points adapter not configured.
- KT-CT-9218: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
Query
query EligibilityToJoinLoyaltyPointsProgram($input: LoyaltyPointsProgramEligibilityInput!) {
eligibilityToJoinLoyaltyPointsProgram(input: $input) {
isEligible
primaryIneligibilityReason
}
}
Variables
{
"input": LoyaltyPointsProgramEligibilityInput
}
Response
{
"data": {
"eligibilityToJoinLoyaltyPointsProgram": {
"isEligible": true,
"primaryIneligibilityReason": "abc123"
}
}
}
eligibleDeviceTypes
Type: [KrakenFlexDeviceTypes]
URL: https://api.oeus-kraken.energy/v1/graphql/
A list of device types that are eligible for registration.
Arguments
| Name | Description |
|---|---|
|
The account number, e.g. A-12345678. |
|
|
Query
query EligibleDeviceTypes(
$accountNumber: String!,
$propertyId: Int
) {
eligibleDeviceTypes(
accountNumber: $accountNumber,
propertyId: $propertyId
)
}
Variables
{
"accountNumber": "abc123",
"propertyId": 1
}
Response
{
"data": {
"eligibleDeviceTypes": "BATTERIES"
}
}
embeddedNetwork
Type: EmbeddedNetworkType
URL: https://api.oeus-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.oeus-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.oeus-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"
}
}
}
flexPlannedDispatches
Type: [SmartFlexDispatch]
URL: https://api.oeus-kraken.energy/v1/graphql/
All planned device dispatches in time order.
Arguments
| Name | Description |
|---|---|
|
The SmartFlex device ID to get the planned dispatches for. |
Query
query FlexPlannedDispatches($deviceId: String!) {
flexPlannedDispatches(deviceId: $deviceId) {
start
end
type
energyAddedKwh
}
}
Variables
{
"deviceId": "abc123"
}
Response
{
"data": {
"flexPlannedDispatches": [
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"type": "SMART",
"energyAddedKwh": "1.0"
}
]
}
}
fraudMeterPointChecks
Type: FraudMeterPointCheckType
URL: https://api.oeus-kraken.energy/v1/graphql/
Check if a given meter point ID is in suspicious meter point IDs list.
Arguments
| Name | Description |
|---|---|
|
The meter point ID. |
Query
query FraudMeterPointChecks($meterPointId: String!) {
fraudMeterPointChecks(meterPointId: $meterPointId) {
meterPointId
isInSuspiciousList
}
}
Variables
{
"meterPointId": "abc123"
}
Response
{
"data": {
"fraudMeterPointChecks": {
"meterPointId": "abc123",
"isInSuspiciousList": true
}
}
}
fraudRiskLevel
Type: FinancialRiskLevelType
URL: https://api.oeus-kraken.energy/v1/graphql/
Check if a given ID and type have a financial risk level.
Arguments
| Name | Description |
|---|---|
|
The ID to be checked. |
|
The type of object the ID represents. |
Query
query FraudRiskLevel(
$identifierValue: String!,
$identifierType: String!
) {
fraudRiskLevel(
identifierValue: $identifierValue,
identifierType: $identifierType
) {
identifierValue
identifierType
riskLevel
isInRiskList
}
}
Variables
{
"identifierValue": "abc123",
"identifierType": "abc123"
}
Response
{
"data": {
"fraudRiskLevel": {
"identifierValue": "abc123",
"identifierType": "abc123",
"riskLevel": "1.0",
"isInRiskList": true
}
}
}
getAccountCheckoutInformation
Type: AccountCheckoutInformationOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns basic product information to finalize checkout.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4177: Unauthorized.
- KT-CT-4910: No product exists with the given input.
- KT-CT-3815: No active payment schedule found for this account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query GetAccountCheckoutInformation($input: AccountCheckoutInformationInput!) {
getAccountCheckoutInformation(input: $input) {
productId
productName
isPrepayProduct
depositRequiredForPrepayProduct
prepayProductBalanceThreshold
pricePerKwh
}
}
Variables
{
"input": AccountCheckoutInformationInput
}
Response
{
"data": {
"getAccountCheckoutInformation": {
"productId": "abc123",
"productName": "abc123",
"isPrepayProduct": true,
"depositRequiredForPrepayProduct": true,
"prepayProductBalanceThreshold": 1,
"pricePerKwh": "1.0"
}
}
}
getAccountCreatedAt
Type: AccountCreatedAtOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
Query
query GetAccountCreatedAt($accountNumber: String!) {
getAccountCreatedAt(accountNumber: $accountNumber) {
createdAt
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"getAccountCreatedAt": {
"createdAt": "2020-01-01T00:00:00.000Z"
}
}
}
getAccountCreatedByAffiliate
Type: AccountCreatedByAffiliateOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns basic account information.
The possible errors that can be raised are:
- KT-US-7706: Please provide with either an account number or an email address.
- KT-US-7702: Unauthorized.
- KT-US-7703: Unauthorized.
- KT-US-7704: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query GetAccountCreatedByAffiliate($input: AccountCreatedByAffiliateInput!) {
getAccountCreatedByAffiliate(input: $input) {
accountNumber
emailAddress
meterPointStatus
}
}
Variables
{
"input": AccountCreatedByAffiliateInput
}
Response
{
"data": {
"getAccountCreatedByAffiliate": {
"accountNumber": "abc123",
"emailAddress": "abc123",
"meterPointStatus": "ON_SUPPLY"
}
}
}
getAccountReferralScheme
Type: ReferralSchemeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get active domestic referral scheme for the given account number.
Arguments
| Name | Description |
|---|---|
|
Query
query GetAccountReferralScheme($accountNumber: String!) {
getAccountReferralScheme(accountNumber: $accountNumber) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"getAccountReferralScheme": {
"referralUrl": "abc123",
"referralDisplayUrl": "abc123",
"referrerRewardAmount": 1,
"referredRewardAmount": 1,
"combinedRewardAmount": 1,
"loyaltyPointsBonus": 1,
"canBeReferred": true,
"code": "abc123",
"referrerGivenName": "abc123",
"referrerFamilyName": "abc123",
"schemeType": "abc123",
"maxRecurrence": 1,
"isUsageAtCapacity": true
}
}
}
getAccountWithUrn
Type: AccountType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get an account using a urn.
The possible errors that can be raised are:
- KT-US-4114: URN must be a non-empty string.
- KT-CT-4120: Invalid urn.
- KT-US-4115: Multiple objects returned.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query GetAccountWithUrn($urn: String!) {
getAccountWithUrn(urn: $urn) {
id
number
status
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
users {
...AccountUserTypeFragment
}
consentData
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
bill {
...BillInterfaceFragment
}
directDebitInstructions {
...DirectDebitInstructionConnectionTypeConnectionFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
events {
...AccountEventConnectionTypeConnectionFragment
}
applications {
...AccountApplicationConnectionTypeConnectionFragment
}
accountType
businessType
business {
...BusinessTypeFragment
}
commsDeliveryPreference
communicationDeliveryPreference
documentAccessibility
references {
...AccountReferenceTypeFragment
}
fileAttachments {
...AccountFileAttachmentFragment
}
paginatedFileAttachments {
...AccountFileAttachmentConnectionTypeConnectionFragment
}
maximumRefund {
...MaximumRefundTypeFragment
}
campaigns {
...AccountCampaignTypeFragment
}
isInHardship
activeHardshipAgreements {
...HardshipAgreementTypeFragment
}
notes {
...AccountNoteTypeFragment
}
contributionAgreements {
...ContributionAgreementTypeFragment
}
assistanceAgreements {
...AssistanceAgreementTypeFragment
}
debtCollectionProceedings {
...DebtCollectionProceedingTypeFragment
}
createdAt
preferredLanguageForComms
consents {
...ConsentTypeFragment
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
meterPointStatus
isShellAccount
isEligibleForIntelligentOctopus
agreements {
...AgreementTypeFragment
}
isOnSupply
}
}
Variables
{
"urn": "abc123"
}
Response
{
"data": {
"getAccountWithUrn": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"consentData": {"key": "value"},
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"notes": [AccountNoteType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"debtCollectionProceedings": [DebtCollectionProceedingType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"meterPointStatus": "abc123",
"isShellAccount": true,
"isEligibleForIntelligentOctopus": true,
"agreements": [AgreementType],
"isOnSupply": true
}
}
}
getAllRealTimeLmpData
Type: [ErcotMarketData]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get Real-Time LMPs for Load Zones and Trading Hubs.
Query
query GetAllRealTimeLmpData {
getAllRealTimeLmpData {
SettlementPoint
LMP
LMP5MinuteDifference
RtorpaRtordpaLmp
RtorpaRtordpaLmp5MinDifference
lastUpdatedAt
lastUpdatedAtDatetime
}
}
Response
{
"data": {
"getAllRealTimeLmpData": [
{
"SettlementPoint": "HB_BUSAVG",
"LMP": 1.0,
"LMP5MinuteDifference": 1.0,
"RtorpaRtordpaLmp": 1.0,
"RtorpaRtordpaLmp5MinDifference": 1.0,
"lastUpdatedAt": CustomGrapheneDateTime,
"lastUpdatedAtDatetime": "2020-01-01T00:00:00.000Z"
}
]
}
}
getFanClubDiscount
Type: FanClubDiscountOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Get whether the percentage of wind power on the grid is sufficient for an energy discount to apply.
Query
query GetFanClubDiscount {
getFanClubDiscount {
windGenerationPercentage
discountAmount
}
}
Response
{
"data": {
"getFanClubDiscount": {
"windGenerationPercentage": "1.0",
"discountAmount": "1.0"
}
}
}
getFanClubWindPowerProjections
Type: FanClubWindPowerProjections
URL: https://api.oeus-kraken.energy/v1/graphql/
Future wind power projections recieved from ERCOT. Updates every four hours.
The possible errors that can be raised are:
- KT-US-4518: Cannot query projections with given input.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Returns predictions for this many hours into the future. Defaults to 48 yeidling two days. |
Query
query GetFanClubWindPowerProjections($hoursIntoFuture: Int) {
getFanClubWindPowerProjections(hoursIntoFuture: $hoursIntoFuture) {
windPowerProjections {
...WindPowerProjectionFragment
}
}
}
Variables
{
"hoursIntoFuture": 1
}
Response
{
"data": {
"getFanClubWindPowerProjections": {
"windPowerProjections": [WindPowerProjection]
}
}
}
getLmpValue
Type: [ErcotMarketData]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get Real-Time LMPs for Load Zones based on the given LMP value and sort option.
Arguments
| Name | Description |
|---|---|
|
|
|
Query
query GetLmpValue(
$value: Float,
$sort: SortByOptions
) {
getLmpValue(
value: $value,
sort: $sort
) {
SettlementPoint
LMP
LMP5MinuteDifference
RtorpaRtordpaLmp
RtorpaRtordpaLmp5MinDifference
lastUpdatedAt
lastUpdatedAtDatetime
}
}
Variables
{
"value": 1.0,
"sort": "GREATER_THAN"
}
Response
{
"data": {
"getLmpValue": [
{
"SettlementPoint": "HB_BUSAVG",
"LMP": 1.0,
"LMP5MinuteDifference": 1.0,
"RtorpaRtordpaLmp": 1.0,
"RtorpaRtordpaLmp5MinDifference": 1.0,
"lastUpdatedAt": CustomGrapheneDateTime,
"lastUpdatedAtDatetime": "2020-01-01T00:00:00.000Z"
}
]
}
}
getOnSiteJobsAppointmentById
Type: OnSiteJobsAppointmentType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get a specific appointment by Kraken ID.
Arguments
| Name | Description |
|---|---|
|
The Kraken ID of the appointment to return. |
Query
query GetOnSiteJobsAppointmentById($appointmentId: UUID) {
getOnSiteJobsAppointmentById(appointmentId: $appointmentId) {
id
externalJobType
startAt
endAt
externalReference
jobDetails
jobNotes
comments
cancellationSubCategory
krakenWorkCategory
agent
status
commsStrategy
cancellationCategory
appointmentActions {
...OnSiteJobsAppointmentActionConnectionTypeConnectionFragment
}
}
}
Variables
{
"appointmentId": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}
Response
{
"data": {
"getOnSiteJobsAppointmentById": {
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"externalJobType": "abc123",
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"externalReference": "abc123",
"jobDetails": {"key": "value"},
"jobNotes": {"key": "value"},
"comments": "abc123",
"cancellationSubCategory": "abc123",
"krakenWorkCategory": "EXCHANGE",
"agent": "GENERIC_AGENT",
"status": "PENDING",
"commsStrategy": "SEND_ALL",
"cancellationCategory": "CANCELLED_BY_CUSTOMER",
"appointmentActions": OnSiteJobsAppointmentActionConnectionTypeConnection
}
}
}
getOnSiteJobsAppointmentSlots
Type: OnSiteJobsAppointmentSlotResultsType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get appointment slot results using appointment booking session ID.
Arguments
| Name | Description |
|---|---|
|
Appointment booking session ID to fetch slots for. ID can be obtained via |
|
Appointment date (inclusive) to fetch slots from. |
Query
query GetOnSiteJobsAppointmentSlots(
$appointmentBookingSessionId: UUID!,
$appointmentDate: Date!
) {
getOnSiteJobsAppointmentSlots(
appointmentBookingSessionId: $appointmentBookingSessionId,
appointmentDate: $appointmentDate
) {
slots {
...OnSiteJobsAppointmentSlotTypeFragment
}
isComplete
}
}
Variables
{
"appointmentBookingSessionId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"appointmentDate": "2020-01-01"
}
Response
{
"data": {
"getOnSiteJobsAppointmentSlots": {
"slots": OnSiteJobsAppointmentSlotType,
"isComplete": true
}
}
}
getOnSiteJobsAppointmentsByExternalReference
Type: OnSiteJobsAppointmentTypeConnectionTypeConnection
URL: https://api.oeus-kraken.energy/v1/graphql/
Get appointments by external reference.
Arguments
| Name | Description |
|---|---|
|
The external reference of the appointments to return. |
|
|
|
|
|
|
|
Query
query GetOnSiteJobsAppointmentsByExternalReference(
$externalReference: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
getOnSiteJobsAppointmentsByExternalReference(
externalReference: $externalReference,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...OnSiteJobsAppointmentTypeConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"externalReference": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"getOnSiteJobsAppointmentsByExternalReference": {
"pageInfo": PageInfo,
"edges": OnSiteJobsAppointmentTypeConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
getOnSiteJobsJobTypes
Type: [OnSiteJobsJobTypeType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get available job types for an on-site jobs request.
Arguments
| Name | Description |
|---|---|
|
The ID of the request for which to fetch available job types. |
|
Work category to filter job types by. If it's left as blank, all job types will be returned. |
Query
query GetOnSiteJobsJobTypes(
$requestId: UUID!,
$workCategory: OnSiteJobsWorkCategory
) {
getOnSiteJobsJobTypes(
requestId: $requestId,
workCategory: $workCategory
) {
id
name
}
}
Variables
{
"requestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"workCategory": "EXCHANGE"
}
Response
{
"data": {
"getOnSiteJobsJobTypes": [
{
"id": "abc123",
"name": "abc123"
}
]
}
}
getOnSiteJobsRequestById
Type: OnSiteJobsRequestType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get a specific request by ID.
Arguments
| Name | Description |
|---|---|
|
The ID of the request to return. |
Query
query GetOnSiteJobsRequestById($requestId: UUID) {
getOnSiteJobsRequestById(requestId: $requestId) {
id
reason
subReason
isEmergency
externalReference
agent
comment
account
marketSupplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
property {
...PropertyTypeFragment
}
status
overallActionsStatus
requestActions {
...OnSiteJobsRequestActionConnectionTypeConnectionFragment
}
}
}
Variables
{
"requestId": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}
Response
{
"data": {
"getOnSiteJobsRequestById": {
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"reason": "abc123",
"subReason": "abc123",
"isEmergency": true,
"externalReference": "abc123",
"agent": "abc123",
"comment": "abc123",
"account": "abc123",
"marketSupplyPoints": SupplyPointConnectionTypeConnection,
"property": PropertyType,
"status": "APPROVAL_PENDING",
"overallActionsStatus": "SKIPPED",
"requestActions": OnSiteJobsRequestActionConnectionTypeConnection
}
}
}
getQuote
Type: GetQuoteOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns a quote request including all quoted products.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The selected quote's UUID code. |
Query
query GetQuote($code: String!) {
getQuote(code: $code) {
quoteId
code
quotedProducts {
...QuotedProductsFragment
}
isExpired
}
}
Variables
{
"code": "abc123"
}
Response
{
"data": {
"getQuote": {
"quoteId": "abc123",
"code": "abc123",
"quotedProducts": [QuotedProducts],
"isExpired": true
}
}
}
getReferralCodeStatus
Type: ReferralCodeStatusType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the status of a referral code.
The possible errors that can be raised are:
- KT-CT-6724: Referral claim code not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The referral code to check. |
Query
query GetReferralCodeStatus($code: String!) {
getReferralCodeStatus(code: $code) {
isValid
description
descriptionInSpanish
maxRecurrence
codeType
}
}
Variables
{
"code": "abc123"
}
Response
{
"data": {
"getReferralCodeStatus": {
"isValid": true,
"description": "abc123",
"descriptionInSpanish": "abc123",
"maxRecurrence": "abc123",
"codeType": "REFERRAL_CODE"
}
}
}
getReferralCompetitionStats
Type: [ReferralCompetitionStats]
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns the referral competition stats.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query GetReferralCompetitionStats($accountNumber: String!) {
getReferralCompetitionStats(accountNumber: $accountNumber) {
referralCode
numOfReferrals
numOfPersonalConnectedDevices
numOfReferredConnectedDevices
numOfEntries
rank
customIdentifier
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"getReferralCompetitionStats": [
{
"referralCode": "abc123",
"numOfReferrals": 1.0,
"numOfPersonalConnectedDevices": 1,
"numOfReferredConnectedDevices": 1,
"numOfEntries": 1.0,
"rank": 1,
"customIdentifier": "abc123"
}
]
}
}
getSettlementPoint
Type: ErcotMarketData
URL: https://api.oeus-kraken.energy/v1/graphql/
Get Real-Time LMPs for Load Zones based on the given settlement point.
Arguments
| Name | Description |
|---|---|
|
Returns pricing for the given settlement point. |
Query
query GetSettlementPoint($settlementPoint: SettlementPointOptions!) {
getSettlementPoint(settlementPoint: $settlementPoint) {
SettlementPoint
LMP
LMP5MinuteDifference
RtorpaRtordpaLmp
RtorpaRtordpaLmp5MinDifference
lastUpdatedAt
lastUpdatedAtDatetime
}
}
Variables
{
"settlementPoint": "HB_BUSAVG"
}
Response
{
"data": {
"getSettlementPoint": {
"SettlementPoint": "HB_BUSAVG",
"LMP": 1.0,
"LMP5MinuteDifference": 1.0,
"RtorpaRtordpaLmp": 1.0,
"RtorpaRtordpaLmp5MinDifference": 1.0,
"lastUpdatedAt": CustomGrapheneDateTime,
"lastUpdatedAtDatetime": "2020-01-01T00:00:00.000Z"
}
}
}
getSolarContestStats
Type: SolarContestStats
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns stats for the top solar exporters along with the given account's export data. The results are ranked from the highest to lowest exporters.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-US-9101: No solar stats found.
- KT-US-9102: Unable to find solar contest stats for the given account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The account number to calculate stats for. |
Query
query GetSolarContestStats($accountNumber: String!) {
getSolarContestStats(accountNumber: $accountNumber) {
statsFetchedAt
solarContestStats {
...SolarContestStatFragment
}
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"getSolarContestStats": {
"statsFetchedAt": "2020-01-01T00:00:00.000Z",
"solarContestStats": [SolarContestStat]
}
}
}
getSolarForecastedData
Type: AllSolarForecastedData
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns solar forecasted data.
The possible errors that can be raised are:
- KT-US-9103: Unable to find solar forecasted data.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query GetSolarForecastedData {
getSolarForecastedData {
solarForecastedData {
...SolarForecastedDataFragment
}
lastUpdatedAt
}
}
Response
{
"data": {
"getSolarForecastedData": {
"solarForecastedData": [SolarForecastedData],
"lastUpdatedAt": "2020-01-01T00:00:00.000Z"
}
}
}
getSystemWideDayAheadPrices
Type: AllSystemWidePriceData
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns the system wide day ahead prices.
The possible errors that can be raised are:
- KT-US-9104: Unable to get system wide day ahead forecasted prices.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query GetSystemWideDayAheadPrices {
getSystemWideDayAheadPrices {
systemWidePriceData {
...SystemWidePriceFragment
}
lastUpdatedAt
}
}
Response
{
"data": {
"getSystemWideDayAheadPrices": {
"systemWidePriceData": [SystemWidePrice],
"lastUpdatedAt": "2020-01-01T00:00:00.000Z"
}
}
}
getThermostatDetails
Type: GetThermostatDetailsOutput
URL: https://api.oeus-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-7223: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'getThermostatDetails' field is deprecated.
Please use 'devices' query with `... on SmartFlexThermostatStatus` instead.
- Marked as deprecated on 2024-10-08.
- Scheduled for removal on or after 2025-02-01.
Arguments
| Name | Description |
|---|---|
|
Query
query GetThermostatDetails($accountNumber: String!) {
getThermostatDetails(accountNumber: $accountNumber) {
thermostats {
...GetThermostatDetailsTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"getThermostatDetails": {
"thermostats": [GetThermostatDetailsType]
}
}
}
goodsProducts
Type: GoodsProductConnectionTypeConnection
URL: https://api.oeus-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.oeus-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.oeus-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
}
]
}
}
inboundCallAverageWaitTime
Type: InboundCallAverageWaitTimeType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the average wait time for an inbound call.
Query
query InboundCallAverageWaitTime {
inboundCallAverageWaitTime {
yesterday
recent
}
}
Response
{
"data": {
"inboundCallAverageWaitTime": {
"yesterday": 1,
"recent": 1
}
}
}
inkConversation
Type: InkConversation!
URL: https://api.oeus-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.oeus-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
}
}
inkMessageAttributes
Type: InkMessageAttributes!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get attributes of a message at time of query.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The message's vendor. |
|
The message's vendor id. |
Query
query InkMessageAttributes(
$vendor: String!,
$vendorId: String!
) {
inkMessageAttributes(
vendor: $vendor,
vendorId: $vendorId
) {
accounts
accountType
buckets
conversationId
hourOccurredAt
hoursWaiting
isAssignedToUserBucket
isFirstFromContact
isNewThread
opsTeam
recentlyReceivedAutoReplies
replyToCommsSms
weekDayOccurredAt
}
}
Variables
{
"vendor": "abc123",
"vendorId": "abc123"
}
Response
{
"data": {
"inkMessageAttributes": {
"accounts": "abc123",
"accountType": "abc123",
"buckets": ["abc123"],
"conversationId": 1,
"hourOccurredAt": 1,
"hoursWaiting": 1,
"isAssignedToUserBucket": true,
"isFirstFromContact": true,
"isNewThread": true,
"opsTeam": "abc123",
"recentlyReceivedAutoReplies": "abc123",
"replyToCommsSms": "abc123",
"weekDayOccurredAt": 1
}
}
}
inkMessageTextContent
Type: String!
URL: https://api.oeus-kraken.energy/v1/graphql/
Fetch the text content of a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The message's id or relay id. |
Query
query InkMessageTextContent($messageId: ID!) {
inkMessageTextContent(messageId: $messageId)
}
Variables
{
"messageId": "abc123"
}
Response
{
"data": {
"inkMessageTextContent": "abc123"
}
}
intervalReadings
Type: [IntervalReadingOutput]
URL: https://api.oeus-kraken.energy/v1/graphql/
15 minute interval readings for a meter point.
Arguments
| Name | Description |
|---|---|
|
Query
query IntervalReadings($input: IntervalReadingInput!) {
intervalReadings(input: $input) {
meterPointId
fromDatetime
toDatetime
consumption
price
}
}
Variables
{
"input": IntervalReadingInput
}
Response
{
"data": {
"intervalReadings": [
{
"meterPointId": 1,
"fromDatetime": "2020-01-01T00:00:00.000Z",
"toDatetime": "2020-01-01T00:00:00.000Z",
"consumption": "1.0",
"price": "1.0"
}
]
}
}
isAutopayEnabled
Type: AutoPayOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns whether autopay is enabled for the given account.
Arguments
| Name | Description |
|---|---|
|
|
|
Consider future schedules that are not yet active. |
Query
query IsAutopayEnabled(
$accountNumber: String!,
$considerFutureSchedule: Boolean
) {
isAutopayEnabled(
accountNumber: $accountNumber,
considerFutureSchedule: $considerFutureSchedule
) {
isEnabled
}
}
Variables
{
"accountNumber": "abc123",
"considerFutureSchedule": true
}
Response
{
"data": {
"isAutopayEnabled": {
"isEnabled": true
}
}
}
isCustomerEligibleToGiveFeedbackFollowingCall
Type: Boolean
URL: https://api.oeus-kraken.energy/v1/graphql/
Check if customer is eligible to give feedback following a phone call.
The possible errors that can be raised are:
- KT-CT-5519: Voice call not found.
- KT-CT-5521: Eligibility configuration not found.
- KT-CT-5522: Invalid eligibility configuration.
- KT-CT-5523: Invalid account or account user.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Number of the account. |
|
Number of the account user. |
|
ID of the voice call. |
Query
query IsCustomerEligibleToGiveFeedbackFollowingCall(
$accountNumber: String!,
$accountUserNumber: String!,
$callId: Int!
) {
isCustomerEligibleToGiveFeedbackFollowingCall(
accountNumber: $accountNumber,
accountUserNumber: $accountUserNumber,
callId: $callId
)
}
Variables
{
"accountNumber": "abc123",
"accountUserNumber": "abc123",
"callId": 1
}
Response
{
"data": {
"isCustomerEligibleToGiveFeedbackFollowingCall": true
}
}
isCustomerEligibleToGiveFeedbackFollowingEmail
Type: Boolean
URL: https://api.oeus-kraken.energy/v1/graphql/
Check if customer is eligible to give feedback following an email conversation.
The possible errors that can be raised are:
- KT-CT-5520: Ink conversation not found.
- KT-CT-5521: Eligibility configuration not found.
- KT-CT-5522: Invalid eligibility configuration.
- KT-CT-5523: Invalid account or account user.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Number of the account. |
|
Number of the account user. |
|
ID of the Ink conversation. |
|
Datetime when the conversation was closed. |
Query
query IsCustomerEligibleToGiveFeedbackFollowingEmail(
$accountNumber: String!,
$accountUserNumber: String!,
$inkConversationId: Int!,
$conversationClosedAt: DateTime!
) {
isCustomerEligibleToGiveFeedbackFollowingEmail(
accountNumber: $accountNumber,
accountUserNumber: $accountUserNumber,
inkConversationId: $inkConversationId,
conversationClosedAt: $conversationClosedAt
)
}
Variables
{
"accountNumber": "abc123",
"accountUserNumber": "abc123",
"inkConversationId": 1,
"conversationClosedAt": "2020-01-01T00:00:00.000Z"
}
Response
{
"data": {
"isCustomerEligibleToGiveFeedbackFollowingEmail": true
}
}
isPasswordResetTokenValid
Type: Boolean
URL: https://api.oeus-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
}
}
isPostCodeQuotable
Type: IsQuotableOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns whether a post code is quotable and has multiple TDSPs or load zones.
Arguments
| Name | Description |
|---|---|
|
The post code to check. |
Query
query IsPostCodeQuotable($postcode: String!) {
isPostCodeQuotable(postcode: $postcode) {
isQuotable
hasMultipleTdspsOrLoadZones
}
}
Variables
{
"postcode": "abc123"
}
Response
{
"data": {
"isPostCodeQuotable": {
"isQuotable": true,
"hasMultipleTdspsOrLoadZones": true
}
}
}
isValidSubdomain
Type: SubdomainOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Returns whether the subdomain is valid.
Arguments
| Name | Description |
|---|---|
|
Subdomain to check. |
Query
query IsValidSubdomain($subdomain: String!) {
isValidSubdomain(subdomain: $subdomain) {
isValid
}
}
Variables
{
"subdomain": "abc123"
}
Response
{
"data": {
"isValidSubdomain": {
"isValid": true
}
}
}
joinSupplierProcess
Type: JoinSupplierProcessType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-10332: Join supplier process not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The join supplier process number, e.g. JS-12345678. |
Query
query JoinSupplierProcess($number: String!) {
joinSupplierProcess(number: $number) {
id
status
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
number
currentProcessData {
...JoinSupplierProcessDataTypeFragment
}
}
}
Variables
{
"number": "abc123"
}
Response
{
"data": {
"joinSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection,
"number": "abc123",
"currentProcessData": JoinSupplierProcessDataType
}
}
}
krakenVersion
Type: KrakenVersionType
URL: https://api.oeus-kraken.energy/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
}
}
Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123"
}
}
}
languagePreference
Type: LanguagePreferenceChoices
URL: https://api.oeus-kraken.energy/v1/graphql/
Language preference
Arguments
| Name | Description |
|---|---|
|
Account number. |
Query
query LanguagePreference($accountNumber: String!) {
languagePreference(accountNumber: $accountNumber)
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"languagePreference": "ENGLISH"
}
}
latestMoveOutDate
Type: LatestMoveOutDateOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
For on-supply accounts, return the latest requested MVO (Move out) date, or return None if there are no MVO events scheduled for the account.
The possible errors that can be raised are:
- KT-CT-6623: Unauthorized.
- KT-CT-4922: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query LatestMoveOutDate($accountNumber: String!) {
latestMoveOutDate(accountNumber: $accountNumber) {
latestMoveOutDate
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"latestMoveOutDate": {
"latestMoveOutDate": "2020-01-01T00:00:00.000Z"
}
}
}
leadBlocklistValidations
Type: LeadBlockListValidationOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
List of client-configured black list entry types. |
Query
query LeadBlocklistValidations($blockListEntries: LeadBlockListValidationInput) {
leadBlocklistValidations(blockListEntries: $blockListEntries) {
valid
blockListHits
}
}
Variables
{
"blockListEntries": LeadBlockListValidationInput
}
Response
{
"data": {
"leadBlocklistValidations": {
"valid": true,
"blockListHits": ["abc123"]
}
}
}
leadByNumber
Type: LeadOutput
URL: https://api.oeus-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-8907: Lead not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Lead number. |
Query
query LeadByNumber($number: String) {
leadByNumber(number: $number) {
leadId
givenName
familyName
billingName
billingAddress {
...AddressOutputFragment
}
email
phoneNumber
number
stage
extraDetails
brand
salesChannel
assignedToTeam
assignedToUser
nationalId
leadType
}
}
Variables
{
"number": "abc123"
}
Response
{
"data": {
"leadByNumber": {
"leadId": "abc123",
"givenName": "abc123",
"familyName": "abc123",
"billingName": "abc123",
"billingAddress": AddressOutput,
"email": "abc123",
"phoneNumber": "abc123",
"number": "abc123",
"stage": "abc123",
"extraDetails": {"key": "value"},
"brand": "abc123",
"salesChannel": "abc123",
"assignedToTeam": "abc123",
"assignedToUser": "abc123",
"nationalId": "abc123",
"leadType": "abc123"
}
}
}
leaveSupplierProcess
Type: LeaveSupplierProcessType
URL: https://api.oeus-kraken.energy/v1/graphql/
Details associated with a LeaveSupplier process.
The possible errors that can be raised are:
- KT-CT-10302: Invalid data.
- KT-CT-10333: Missing either number of leave supplier process id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The leave supplier process number, e.g. LS-12345678. |
Query
query LeaveSupplierProcess($number: String) {
leaveSupplierProcess(number: $number) {
id
status
number
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
}
}
Variables
{
"number": "abc123"
}
Response
{
"data": {
"leaveSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"number": "abc123",
"supplyPoints": SupplyPointConnectionTypeConnection
}
}
}
legalDocuments
Type: LegalDocumentsOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
Query
query LegalDocuments($language: LegalDocumentLanguageOption!) {
legalDocuments(language: $language) {
prepaidDisclosureStatement {
...LinkFragment
}
termsOfService {
...LinkFragment
}
termsOfUse {
...LinkFragment
}
yourRightsAsACustomer {
...LinkFragment
}
}
}
Variables
{
"language": "ENGLISH"
}
lifecycleProcesses
Type: LifecycleProcessesType
URL: https://api.oeus-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.oeus-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"
}
}
}
loyaltyCards
Type: [LoyaltyCardType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get all loyalty cards for the given account user.
Arguments
| Name | Description |
|---|---|
|
Account user id. |
Query
query LoyaltyCards($accountUserId: String!) {
loyaltyCards(accountUserId: $accountUserId) {
id
scheme
number
status
}
}
Variables
{
"accountUserId": "abc123"
}
Response
{
"data": {
"loyaltyCards": [
{
"id": "abc123",
"scheme": "abc123",
"number": "abc123",
"status": "abc123"
}
]
}
}
loyaltyPointLedgerEntry
Type: LoyaltyPointLedgerEntryType
URL: https://api.oeus-kraken.energy/v1/graphql/
Resolve a loyalty point ledger entry
The possible errors that can be raised are:
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9223: Loyalty points ledger entry not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query LoyaltyPointLedgerEntry($input: LoyaltyPointLedgerEntryInput!) {
loyaltyPointLedgerEntry(input: $input) {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
idempotencyKey
postedAt
accountNumber
}
}
Variables
{
"input": LoyaltyPointLedgerEntryInput
}
Response
{
"data": {
"loyaltyPointLedgerEntry": {
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
}
}
loyaltyPointLedgers
Type: [LoyaltyPointLedgerEntryType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the Loyalty Point ledger entries for the passed user.
Query
query LoyaltyPointLedgers {
loyaltyPointLedgers {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
idempotencyKey
postedAt
accountNumber
}
}
Response
{
"data": {
"loyaltyPointLedgers": [
{
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
]
}
}
loyaltyPointsBalance
Type: AccountLoyaltyPointsType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the loyalty points balance for an account.
The possible errors that can be raised are:
- KT-CT-9218: Unauthorized.
- KT-CT-9217: Unauthorized.
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9216: Unauthorized.
- KT-CT-9222: Loyalty points balance query requires either accountNumber field (deprecated) or input object (preferred) with account number and optional account user id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query LoyaltyPointsBalance($input: LoyaltyPointsBalanceInput) {
loyaltyPointsBalance(input: $input) {
loyaltyPoints
totalMonetaryAmount
}
}
Variables
{
"input": LoyaltyPointsBalanceInput
}
Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}
}
}
metadata
Type: [Metadata]
URL: https://api.oeus-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.oeus-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"}
}
}
}
mfaDevices
Type: [MfaDevice]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}
Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}
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.oeus-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.oeus-kraken.energy/v1/graphql/
The user specific generated OCPP details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query OcppDetails($accountNumber: String!) {
ocppDetails(accountNumber: $accountNumber) {
url
username
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"ocppDetails": {
"url": "abc123",
"username": "abc123"
}
}
}
offerForQuoting
Type: OfferType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
The identifier of the offer to query. |
Query
query OfferForQuoting($identifier: ID) {
offerForQuoting(identifier: $identifier) {
identifier
quote {
...QuoteType_Fragment
}
description
validFrom
validTo
acceptedAt
rejectedAt
createdBy {
...ActorTypeFragment
}
}
}
Variables
{
"identifier": "abc123"
}
Response
{
"data": {
"offerForQuoting": {
"identifier": "abc123",
"quote": QuoteType_,
"description": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"acceptedAt": "2020-01-01T00:00:00.000Z",
"rejectedAt": "2020-01-01T00:00:00.000Z",
"createdBy": ActorType
}
}
}
offerGroupForQuoting
Type: OfferGroupType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
The identifier of the offer group to query. |
Query
query OfferGroupForQuoting($identifier: ID) {
offerGroupForQuoting(identifier: $identifier) {
identifier
offers {
...OfferTypeFragment
}
createdAt
createdBy {
...ActorTypeFragment
}
}
}
Variables
{
"identifier": "abc123"
}
opportunityByNumber
Type: OpportunityOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8906: Opportunity not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Opportunity number identifier. |
Query
query OpportunityByNumber($number: String) {
opportunityByNumber(number: $number) {
opportunityId
leadNumber
leadType
name
email
phoneNumber
number
stage
extraDetails
opportunityAddress {
...AddressOutputFragment
}
salesChannel
assignedToTeam
assignedToUser
productOfferingId
offerGroupId
consents {
...ConsentOutputFragment
}
}
}
Variables
{
"number": "abc123"
}
Response
{
"data": {
"opportunityByNumber": {
"opportunityId": "abc123",
"leadNumber": "abc123",
"leadType": "abc123",
"name": "abc123",
"email": "abc123",
"phoneNumber": "abc123",
"number": "abc123",
"stage": "abc123",
"extraDetails": {"key": "value"},
"opportunityAddress": AddressOutput,
"salesChannel": "abc123",
"assignedToTeam": "abc123",
"assignedToUser": "abc123",
"productOfferingId": "abc123",
"offerGroupId": "abc123",
"consents": [ConsentOutput]
}
}
}
opportunityValueByKey
Type: String
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8903: Unable to update opportunity.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The identifier of the opportunity to query. |
|
The key the a funnel-specific value you wish to obtain. |
Query
query OpportunityValueByKey(
$opportunityId: ID,
$key: String
) {
opportunityValueByKey(
opportunityId: $opportunityId,
key: $key
)
}
Variables
{
"opportunityId": "abc123",
"key": "abc123"
}
Response
{
"data": {
"opportunityValueByKey": "abc123"
}
}
orderDetails
Type: OrderDetailsType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-13101: Order not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Order identifier. |
Query
query OrderDetails($identifier: String!) {
orderDetails(identifier: $identifier) {
order {
...OrderTypeFragment
}
status
resources {
...OrderResourceFragment
}
}
}
Variables
{
"identifier": "abc123"
}
Response
{
"data": {
"orderDetails": {
"order": OrderType,
"status": "PENDING",
"resources": [OrderResource]
}
}
}
passwordValidatorHelpTexts
Type: [String]
URL: https://api.oeus-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"]
}
}
paymentFingerprintChecks
Type: PaymentFingerPrintCheckType
URL: https://api.oeus-kraken.energy/v1/graphql/
Check if a given payment fingerprint already exists and/or is risk-listed.
Arguments
| Name | Description |
|---|---|
|
Fingerprint. |
Query
query PaymentFingerprintChecks($fingerprint: String!) {
paymentFingerprintChecks(fingerprint: $fingerprint) {
fingerprint
isFound
isRiskListed
}
}
Variables
{
"fingerprint": "abc123"
}
Response
{
"data": {
"paymentFingerprintChecks": {
"fingerprint": "abc123",
"isFound": true,
"isRiskListed": true
}
}
}
paymentRequests
Type: PaymentRequestsType
URL: https://api.oeus-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.oeus-kraken.energy/v1/graphql/
All planned device dispatches 24 hours ahead, (usually) in time order.
Deprecated
The 'plannedDispatches' field is deprecated.
Please use 'flexPlannedDispatches' instead.
- Marked as deprecated on 2025-05-27.
- Scheduled for removal on or after 2025-08-27.
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.oeus-kraken.energy/v1/graphql/
Get details about a portfolio, using its portfolio number.
The possible errors that can be raised are:
- KT-CT-9403: Received an invalid portfolioId.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Portfolio number to be retrieved. |
Query
query Portfolio($portfolioNumber: String!) {
portfolio(portfolioNumber: $portfolioNumber) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}
Variables
{
"portfolioNumber": "abc123"
}
Response
{
"data": {
"portfolio": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}
portfolioByReference
Type: PortfolioType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get details about a portfolio, using its reference.
The possible errors that can be raised are:
- KT-CT-9409: Invalid portfolio reference.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Portfolio reference namespace-value pair to filter by. |
Query
query PortfolioByReference($portfolioReference: PortfolioReferenceInput!) {
portfolioByReference(portfolioReference: $portfolioReference) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}
Variables
{
"portfolioReference": PortfolioReferenceInput
}
Response
{
"data": {
"portfolioByReference": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}
possibleErrors
Type: PossibleErrorsOutputType
URL: https://api.oeus-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]
}
}
}
printBatch
Type: PrintBatchType!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get print batch details, including messages in the batch.
The possible errors that can be raised are:
- KT-CT-9013: Invalid data.
- KT-CT-9012: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The print batch ID. |
Query
query PrintBatch($batchId: ID) {
printBatch(batchId: $batchId) {
id
status
messages {
...PrintMessageTypeConnectionFragment
}
}
}
Variables
{
"batchId": "abc123"
}
Response
{
"data": {
"printBatch": {
"id": "abc123",
"status": "OPEN",
"messages": PrintMessageTypeConnection
}
}
}
products
Type: [ProductType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get all available electricity products.
Arguments
| Name | Description |
|---|---|
|
ID of the product. |
|
Name of the product. For example: 30-Day Wholesale Rate. |
|
Get products that have the Time of Use flag. |
|
Filters products that are available until the given time. If the available_at argument is not provided, it defaults to the current localtime (America/Chicago). |
|
Get products that have the Prepay flag. |
Query
query Products(
$id: ID,
$displayName: String,
$basedOnTimeOfUse: Boolean,
$availableAt: DateTime,
$prepay: Boolean
) {
products(
id: $id,
displayName: $displayName,
basedOnTimeOfUse: $basedOnTimeOfUse,
availableAt: $availableAt,
prepay: $prepay
) {
id
code
notes
fullName
displayName
description
availableFrom
availableTo
term
endsAt
marketName
availabilityStatus
termsContractType
isWholesale
generationCredit
basedOnTimeOfUse
autoTopUpMinimumAmount
autoTopUpDefaultAmount
prepay
ioDiscountEnabled
rates {
...RatesTypeFragment
}
}
}
Variables
{
"id": "abc123",
"displayName": "abc123",
"basedOnTimeOfUse": true,
"availableAt": "2020-01-01T00:00:00.000Z",
"prepay": true
}
Response
{
"data": {
"products": [
{
"id": "abc123",
"code": "abc123",
"notes": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"marketName": "abc123",
"availabilityStatus": "PUBLIC",
"termsContractType": "abc123",
"isWholesale": true,
"generationCredit": true,
"basedOnTimeOfUse": true,
"autoTopUpMinimumAmount": 1,
"autoTopUpDefaultAmount": 1,
"prepay": true,
"ioDiscountEnabled": true,
"rates": RatesType
}
]
}
}
productsWithConciseApplicableRates
Type: [ProductWithRatesOutput]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get all available electricity products with concise rates.
Arguments
| Name | Description |
|---|---|
|
Query
query ProductsWithConciseApplicableRates($filterProductsBy: ProductInput) {
productsWithConciseApplicableRates(filterProductsBy: $filterProductsBy) {
id
code
fullName
displayName
description
term
rates {
...ConciseRatesOutputFragment
}
consolidatedRates {
...ConciseRatesOutputFragment
}
prepay
}
}
Variables
{
"filterProductsBy": ProductInput
}
Response
{
"data": {
"productsWithConciseApplicableRates": [
{
"id": "abc123",
"code": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"term": 1,
"rates": [ConciseRatesOutput],
"consolidatedRates": [ConciseRatesOutput],
"prepay": true
}
]
}
}
properties
Type: [PropertyType]
URL: https://api.oeus-kraken.energy/v1/graphql/
Properties linked to the account now and in the future.
Arguments
| Name | Description |
|---|---|
|
|
|
Returns properties that have an effective period that ends at or after the given activeFrom datetime. |
Query
query Properties(
$accountNumber: String!,
$activeFrom: DateTime
) {
properties(
accountNumber: $accountNumber,
activeFrom: $activeFrom
) {
id
addressLine1
addressLine2
addressLine3
addressLine4
addressLine5
postcode
label
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
meterPoints {
...ElectricityMeterPointTypeFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"activeFrom": "2020-01-01T00:00:00.000Z"
}
Response
{
"data": {
"properties": [
{
"id": "abc123",
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123",
"addressLine4": "abc123",
"addressLine5": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"meterPoints": [ElectricityMeterPointType]
}
]
}
}
propertiesSearch
Type: [PropertySearchResult!]!
URL: https://api.oeus-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.oeus-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
addressLine1
addressLine2
addressLine3
addressLine4
addressLine5
postcode
label
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
meterPoints {
...ElectricityMeterPointTypeFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"property": {
"id": "abc123",
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123",
"addressLine4": "abc123",
"addressLine5": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"meterPoints": [ElectricityMeterPointType]
}
}
}
propertySearch
Type: [PropertyType]
URL: https://api.oeus-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
addressLine1
addressLine2
addressLine3
addressLine4
addressLine5
postcode
label
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
meterPoints {
...ElectricityMeterPointTypeFragment
}
}
}
Variables
{
"searchTerm": "abc123"
}
Response
{
"data": {
"propertySearch": [
{
"id": "abc123",
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123",
"addressLine4": "abc123",
"addressLine5": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"meterPoints": [ElectricityMeterPointType]
}
]
}
}
providerAuthDetails
Type: ProviderAuthDetailsType
URL: https://api.oeus-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.oeus-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"
}
}
}
queryComplexity
Type: QueryComplexityOutputType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the complexity of a query.
Arguments
| Name | Description |
|---|---|
|
Query and relevant variables required to calculate the complexity. |
Query
query QueryComplexity($input: QueryComplexityInputType!) {
queryComplexity(input: $input) {
complexityValue
}
}
Variables
{
"input": QueryComplexityInputType
}
Response
{
"data": {
"queryComplexity": {
"complexityValue": 1
}
}
}
question
Type: String
URL: https://api.oeus-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"
}
}
quotingParamDefinitionsForProductOffering
Type: QuotedOfferingParamsType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-12403: Product offering not found.
- KT-CT-12404: Product offering has expired.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The identifier of the product offering. |
Query
query QuotingParamDefinitionsForProductOffering($productOfferingIdentifier: ID) {
quotingParamDefinitionsForProductOffering(productOfferingIdentifier: $productOfferingIdentifier) {
offeringIdentifier
productComponents {
...QuotedProductComponentTypeFragment
}
offeringComponents {
...QuotedOfferingParamsTypeFragment
}
}
}
Variables
{
"productOfferingIdentifier": "abc123"
}
Response
{
"data": {
"quotingParamDefinitionsForProductOffering": {
"offeringIdentifier": "abc123",
"productComponents": [QuotedProductComponentType],
"offeringComponents": [QuotedOfferingParamsType]
}
}
}
rateLimitInfo
Type: CombinedRateLimitInformation
URL: https://api.oeus-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.oeus-kraken.energy/v1/graphql/
A device registered with KrakenFlex for a given account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'registeredKrakenflexDevice' field is deprecated.
Please use 'devices' instead.
- Marked as deprecated on 2024-04-23.
- Scheduled for removal on or after 2025-12-10.
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"
}
}
}
returnSchedule
Type: [DepositReturnScheduleOutput]
URL: https://api.oeus-kraken.energy/v1/graphql/
Get deposit agreement related return schedules for a given account.
Arguments
| Name | Description |
|---|---|
|
Query
query ReturnSchedule($accountNumber: String!) {
returnSchedule(accountNumber: $accountNumber) {
dueDate
amount
status
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"returnSchedule": [
{
"dueDate": "2020-01-01",
"amount": 1,
"status": "abc123"
}
]
}
}
searchLead
Type: LeadIdType
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8920: Search filters are invalid.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Filters to search for leads. All passed filters will be checked against the lead. |
Query
query SearchLead($filters: SearchLeadFilters) {
searchLead(filters: $filters) {
leadId
}
}
Variables
{
"filters": SearchLeadFilters
}
Response
{
"data": {
"searchLead": {
"leadId": "abc123"
}
}
}
siteworksRequests
Type: CoreSiteworksRequestConnectionTypeConnection
URL: https://api.oeus-kraken.energy/v1/graphql/
A query to get a subset of Requests.
Arguments
| Name | Description |
|---|---|
|
A list of request IDs. If provided, only these requests will be returned. |
|
Only requests created after this datetime will be included. |
|
Only requests with a status in this list will be included. |
|
|
|
|
|
|
|
Query
query SiteworksRequests(
$ids: [UUID],
$createdAfter: DateTime,
$statuses: [RequestStatus],
$before: String,
$after: String,
$first: Int,
$last: Int
) {
siteworksRequests(
ids: $ids,
createdAfter: $createdAfter,
statuses: $statuses,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CoreSiteworksRequestConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"ids": ["500c164d-38c7-4f74-9ac6-be210197e9e4"],
"createdAfter": "2020-01-01T00:00:00.000Z",
"statuses": "APPROVAL_PENDING",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"siteworksRequests": {
"pageInfo": PageInfo,
"edges": CoreSiteworksRequestConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
smartFlexDeviceSupplyPoint
Type: SmartFlexDeviceSupplyPointType
URL: https://api.oeus-kraken.energy/v1/graphql/
The supply point linked to the SmartFlex device.
Arguments
| Name | Description |
|---|---|
|
The SmartFlex device ID to get the supply point details for. |
Query
query SmartFlexDeviceSupplyPoint($smartFlexDeviceId: String) {
smartFlexDeviceSupplyPoint(smartFlexDeviceId: $smartFlexDeviceId) {
importSupplyPointId
smartFlexDeviceId
}
}
Variables
{
"smartFlexDeviceId": "abc123"
}
Response
{
"data": {
"smartFlexDeviceSupplyPoint": {
"importSupplyPointId": "abc123",
"smartFlexDeviceId": "abc123"
}
}
}
smartFlexOnboardingWizards
Type: [SmartFlexOnboardingWizard!]
URL: https://api.oeus-kraken.energy/v1/graphql/
A list of wizards for onboarding devices for an account and property.
Arguments
| Name | Description |
|---|---|
|
The account number, e.g. A-12345678. |
|
Only list wizards for this property. |
|
To get a specific wizard by ID, if it exists. |
|
Include cancelled wizards. |
|
Include completed wizards. |
|
Filters for onboarding wizards that can be resumed. List limits to one resumable wizard. |
Query
query SmartFlexOnboardingWizards(
$accountNumber: String!,
$propertyId: Int,
$wizardId: ID,
$includeCancelled: Boolean,
$includeCompleted: Boolean,
$isResumable: Boolean
) {
smartFlexOnboardingWizards(
accountNumber: $accountNumber,
propertyId: $propertyId,
wizardId: $wizardId,
includeCancelled: $includeCancelled,
includeCompleted: $includeCompleted,
isResumable: $isResumable
) {
id
resumable {
...SmartFlexResumableFragment
}
deviceType
displayName
backendScreen
currentStep {
...SmartFlexOnboardingStepInterfaceFragment
}
completedSteps {
...SmartFlexOnboardingStepInterfaceFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"propertyId": 1,
"wizardId": "abc123",
"includeCancelled": true,
"includeCompleted": true,
"isResumable": true
}
Response
{
"data": {
"smartFlexOnboardingWizards": [
{
"id": "abc123",
"resumable": SmartFlexResumable,
"deviceType": "BATTERIES",
"displayName": "abc123",
"backendScreen": BackendScreenType,
"currentStep": SmartFlexOnboardingStepInterface,
"completedSteps": SmartFlexOnboardingStepInterface
}
]
}
}
supplyPoint
Type: SupplyPointType
URL: https://api.oeus-kraken.energy/v1/graphql/
Get a supply point by its market specific id.
Arguments
| Name | Description |
|---|---|
|
The market specific supply point id. |
|
The name of the market in which this supply point exists. |
Query
query SupplyPoint(
$externalIdentifier: String!,
$marketName: String!
) {
supplyPoint(
externalIdentifier: $externalIdentifier,
marketName: $marketName
) {
id
marketName
externalIdentifier
readings {
...ReadingsFragment
}
property {
...PropertyTypeFragment
}
devices {
...DevicesConnectionFragment
}
}
}
Variables
{
"externalIdentifier": "abc123",
"marketName": "abc123"
}
Response
{
"data": {
"supplyPoint": {
"id": "abc123",
"marketName": "abc123",
"externalIdentifier": "abc123",
"readings": Readings,
"property": PropertyType,
"devices": DevicesConnection
}
}
}
supplyPoints
Type: SupplyPointConnectionTypeConnection
URL: https://api.oeus-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.oeus-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"
}
}
}
Arguments
| Name | Description |
|---|---|
|
The ZIP code to retrieve service providers for. Full ZIP codes are accepted with or without hyphen but only the first 5 digits are used. |
Query
query TdspByPostalcode($postalCode: String!) {
tdspByPostalcode(postalCode: $postalCode) {
id
postcode
serviceProvider
loadZone
}
}
Variables
{
"postalCode": "abc123"
}
Response
{
"data": {
"tdspByPostalcode": [
{
"id": "abc123",
"postcode": "abc123",
"serviceProvider": "AEP_TCC",
"loadZone": "LZ_HOUSTON"
}
]
}
}
termsAndConditionsForProduct
Type: [TermsAndConditionsType]
URL: https://api.oeus-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"
}
]
}
}
thirdPartyViewer
Type: ThirdPartyOrganizationType
URL: https://api.oeus-kraken.energy/v1/graphql/
The currently authenticated third party.
This field requires the Authorization header to be set.
Query
query ThirdPartyViewer {
thirdPartyViewer {
name
permissions {
...ThirdPartyPermissionFragment
}
}
}
Response
{
"data": {
"thirdPartyViewer": {
"name": "abc123",
"permissions": [ThirdPartyPermission]
}
}
}
trigger
Type: Trigger!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the details of a published trigger with a given ID.
The possible errors that can be raised are:
- KT-CT-9904: Trigger not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The ID of the trigger. |
Query
query Trigger($triggerId: ID!) {
trigger(triggerId: $triggerId) {
id
triggerTypeCode
createdAt
messages {
...MessageConnectionFragment
}
processingStatus
}
}
Variables
{
"triggerId": "abc123"
}
Response
{
"data": {
"trigger": {
"id": "abc123",
"triggerTypeCode": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"messages": MessageConnection,
"processingStatus": "UNPROCESSED"
}
}
}
userVehicles
Type: [UserVehiclesType]
URL: https://api.oeus-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
}
]
}
}
validPhoneNumber
Type: PhoneNumberOutput
URL: https://api.oeus-kraken.energy/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
|
Query
query ValidPhoneNumber($phoneNumber: String!) {
validPhoneNumber(phoneNumber: $phoneNumber) {
isValidPhoneNumber
}
}
Variables
{
"phoneNumber": "abc123"
}
Response
{
"data": {
"validPhoneNumber": {
"isValidPhoneNumber": true
}
}
}
vehicleChargingPreferences
Type: VehicleChargingPreferencesType
URL: https://api.oeus-kraken.energy/v1/graphql/
Vehicle charging preference details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4339: Your device charging preferences could not be fetched.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'vehicleChargingPreferences' field is deprecated.
Please use 'devices.preferences' instead.
- Marked as deprecated on 2024-04-23.
- Scheduled for removal on or after 2025-12-10.
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
}
}
}
verificationStatus
Type: EmailVerificationStatus
URL: https://api.oeus-kraken.energy/v1/graphql/
Check the verification status of a given email address.
Arguments
| Name | Description |
|---|---|
|
The email address to be checked. |
Query
query VerificationStatus($email: String!) {
verificationStatus(email: $email) {
email
status
}
}
Variables
{
"email": "abc123"
}
Response
{
"data": {
"verificationStatus": {
"email": "abc123",
"status": "NOT_SENT"
}
}
}
viewer
Type: AccountUserType
URL: https://api.oeus-kraken.energy/v1/graphql/
The currently authenticated user.
This field requires the Authorization header to be set.
Query
query Viewer {
viewer {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
createdAt
permissions {
...AccountUserPermissionFragment
}
displayName
firstName
lastName
fullName
preferredName
isActive
address {
...RichAddressTypeFragment
}
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
label
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",
"createdAt": "2020-01-01T00:00:00.000Z",
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"isActive": true,
"address": RichAddressType,
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}
voiceCampaign
Type: VoiceCampaignType!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the voice campaign for a given ID.
The possible errors that can be raised are:
- KT-CT-11501: Voice campaign not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The campaign ID. |
Query
query VoiceCampaign($campaignId: String!) {
voiceCampaign(campaignId: $campaignId) {
id
name
description
customOutboundPhoneNumber
tags {
...CallTagConnectionTypeConnectionFragment
}
status
campaignType
campaignItems {
...VoiceCampaignItemConnectionTypeConnectionFragment
}
preventDuplicateRecords
}
}
Variables
{
"campaignId": "abc123"
}
Response
{
"data": {
"voiceCampaign": {
"id": "abc123",
"name": "abc123",
"description": "abc123",
"customOutboundPhoneNumber": "abc123",
"tags": CallTagConnectionTypeConnection,
"status": "ACTIVE",
"campaignType": "PREVIEW",
"campaignItems": VoiceCampaignItemConnectionTypeConnection,
"preventDuplicateRecords": true
}
}
}
voiceCampaigns
Type: VoiceCampaignConnectionTypeConnection!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get voice campaigns.
Arguments
| Name | Description |
|---|---|
|
Filter by campaign status. |
|
Filter by campaign type. |
|
Filter by campaign name. |
|
|
|
|
|
|
|
Query
query VoiceCampaigns(
$status: CampaignStatus,
$campaignType: TypeOfVoiceCampaign,
$name: String,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
voiceCampaigns(
status: $status,
campaignType: $campaignType,
name: $name,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...VoiceCampaignConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"status": "ACTIVE",
"campaignType": "PREVIEW",
"name": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"voiceCampaigns": {
"pageInfo": PageInfo,
"edges": VoiceCampaignConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
vouchersForAccount
Type: VoucherPurchaseConnectionTypeConnection
URL: https://api.oeus-kraken.energy/v1/graphql/
Query the voucher purchases for an account.
Arguments
| Name | Description |
|---|---|
|
The account number. |
|
Whether to only return vouchers that can be redeemable. |
|
|
|
|
|
|
|
Query
query VouchersForAccount(
$accountNumber: ID!,
$redeemableOnly: Boolean!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
vouchersForAccount(
accountNumber: $accountNumber,
redeemableOnly: $redeemableOnly,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...VoucherPurchaseConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"accountNumber": "abc123",
"redeemableOnly": true,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"vouchersForAccount": {
"pageInfo": PageInfo,
"edges": VoucherPurchaseConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
workSchedule
Type: WorkScheduleType!
URL: https://api.oeus-kraken.energy/v1/graphql/
Get the work schedule with the given identifier.
The possible errors that can be raised are:
- KT-CT-11804: Work schedule not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
The identifier of the work schedule (also known as the 'slug'). |
Query
query WorkSchedule($identifier: String!) {
workSchedule(identifier: $identifier) {
identifier
name
isOpen
isPublicHoliday
openOrClosedReason
}
}
Variables
{
"identifier": "abc123"
}
Response
{
"data": {
"workSchedule": {
"identifier": "abc123",
"name": "abc123",
"isOpen": true,
"isPublicHoliday": true,
"openOrClosedReason": "CLOSED_DUE_TO_PUBLIC_HOLIDAY"
}
}
}
Authentication Server
authorizedApplications
Type: [AuthorizedApplication]
URL: https://auth.oeus-kraken.energy/graphql/
Get all the confidential-client applications the current user has authorized.
Deprecated
The 'authorizedApplications' field is deprecated.
Schema is being removed, but will be available in the main API site.
- Marked as deprecated on 2025-10-15.
- Scheduled for removal on or after 2025-10-30.
Query
query AuthorizedApplications {
authorizedApplications {
name
clientId
}
}
Response
{
"data": {
"authorizedApplications": [
{
"name": "abc123",
"clientId": "abc123"
}
]
}
}
krakenVersion
Type: KrakenVersionType
URL: https://auth.oeus-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.oeus-kraken.energy/graphql/
Get all MFA devices for the current user.
Deprecated
The 'mfaDevices' field is deprecated.
Schema is being removed, but will be available in the main API site.
- Marked as deprecated on 2025-10-15.
- Scheduled for removal on or after 2025-10-30.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}
Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}