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:Account
URL:https://api.esbsc-kraken.systems/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 {
...EspAccountUserTypeFragment
}
billingName
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingPostcode
billingCountryCode
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingSubName
billingEmail
billingAddress
billingAddressPostcode
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
}
currentGiftCreditLeftInEur
holderName
holderNif
loggedRepresentative {
...PersonalInformationFragment
}
hasSolarWallet
solarWalletAvailableCredit
solarWalletLedgers {
...SolarWalletLedgersFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"account": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": EspAccountUserType,
"billingName": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingPostcode": "abc123",
"billingCountryCode": "abc123",
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressPostcode": "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,
"currentGiftCreditLeftInEur": "1.0",
"holderName": "abc123",
"holderNif": "abc123",
"loggedRepresentative": PersonalInformation,
"hasSolarWallet": true,
"solarWalletAvailableCredit": 1,
"solarWalletLedgers": [SolarWalletLedgers]
}
}
}accountBillingInfo
Type:AccountBillingInfo
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get details about an account's billing info.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number to retrieve the billing info. |
Query
query AccountBillingInfo($accountNumber: String!) {
accountBillingInfo(accountNumber: $accountNumber) {
id
number
status
billingName
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingPostcode
billingCountryCode
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
billingAddress
splitBillingAddress
ledgers {
...LedgerWithPaymentsInstructionsFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"accountBillingInfo": {
"id": "abc123",
"number": "abc123",
"status": "abc123",
"billingName": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingPostcode": "abc123",
"billingCountryCode": "abc123",
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"billingAddress": "abc123",
"splitBillingAddress": ["abc123"],
"ledgers": [LedgerWithPaymentsInstructions]
}
}
}accountChargeReasons
Type:[ChargeReasonType]
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Get details about an account contract.
The possible errors that can be raised are:
- KT-CT-10003: Contract not found.
- KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
- KT-CT-10006: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the contract. |
| The account number to find the contract for. |
| The version of the contract. |
Query
query AccountContract(
$identifier: String,
$accountNumber: String,
$version: Int
) {
accountContract(
identifier: $identifier,
accountNumber: $accountNumber,
version: $version
) {
identifier
title
party {
... on Account {
...AccountFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}Response
{
"data": {
"accountContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": Account,
"subject": [Account],
"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.esbsc-kraken.systems/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"
}
]
}
}accountPaymentInfo
Type:AccountPaymentInfo
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get details about an account's payments info.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number to retrieve the payment info. |
Query
query AccountPaymentInfo($accountNumber: String!) {
accountPaymentInfo(accountNumber: $accountNumber) {
holderName
splitAddress
postcode
electricityIban
gasIban
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"accountPaymentInfo": {
"holderName": "abc123",
"splitAddress": ["abc123"],
"postcode": "abc123",
"electricityIban": "abc123",
"gasIban": "abc123"
}
}
}accountReference
URL:https://api.esbsc-kraken.systems/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 {
...AccountBillingInfoFragment
}
}
}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": AccountBillingInfo
}
]
}
}accounts
Type:[Account]
URL:https://api.esbsc-kraken.systems/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 {
...EspAccountUserTypeFragment
}
billingName
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingPostcode
billingCountryCode
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingSubName
billingEmail
billingAddress
billingAddressPostcode
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
}
currentGiftCreditLeftInEur
holderName
holderNif
loggedRepresentative {
...PersonalInformationFragment
}
hasSolarWallet
solarWalletAvailableCredit
solarWalletLedgers {
...SolarWalletLedgersFragment
}
}
}Variables
{
"phoneNumber": "abc123",
"portfolioNumber": "abc123"
}Response
{
"data": {
"accounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": EspAccountUserType,
"billingName": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingPostcode": "abc123",
"billingCountryCode": "abc123",
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressPostcode": "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,
"currentGiftCreditLeftInEur": "1.0",
"holderName": "abc123",
"holderNif": "abc123",
"loggedRepresentative": PersonalInformation,
"hasSolarWallet": true,
"solarWalletAvailableCredit": 1,
"solarWalletLedgers": [SolarWalletLedgers]
}
]
}
}activeAffiliateReferralScheme
Type:ReferralSchemeType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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
}
}
}affiliateProducts
URL:https://api.esbsc-kraken.systems/v1/graphql/
Information on products for affiliate organizations.
The possible errors that can be raised are:
- KT-ES-7813: Affiliate product information not available.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Organization name. |
Query
query AffiliateProducts($organizationName: String!) {
affiliateProducts(organizationName: $organizationName) {
productName
numTotalAgreements
numMaxAgreements
}
}Variables
{
"organizationName": "abc123"
}Response
{
"data": {
"affiliateProducts": [
{
"productName": "abc123",
"numTotalAgreements": 1,
"numMaxAgreements": 1
}
]
}
}Arguments
| Name | Description |
|---|---|
| The agreement id. |
Query
query Agreement($id: ID!) {
agreement(id: $id) {
id
validFrom
validTo
agreedFrom
agreedTo
isRevoked
product {
...ProductFragment
}
details {
...AgreementDetailsFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"agreement": {
"id": 1,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true,
"product": Product,
"details": AgreementDetails
}
}
}authorizedApplications
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/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"
}
]
}
}backendScreen
Type:BackendScreenType
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get mobile screen details to render.
The possible errors that can be raised are:
- KT-CT-8001: No backend screen available.
- KT-CT-8005: Backend screen does not support parameters.
- KT-CT-8008: Incorrect or missing data necessary to build the screen.
- KT-CT-8006: Error applying parameters to backend screen.
- KT-CT-8009: Error translating screen content.
- KT-CT-8010: Invalid step ID.
- KT-CT-8011: Cannot rewind past a previous irreversible step.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ID of the screen to return. |
| List of key-value pairs (strings) to pass as parameters to the screen. |
| The maximum version of backend screens supported by the client. |
Query
query BackendScreen(
$screenId: ID!,
$params: [BackendScreenParamInputType],
$maxVersionSupported: Int
) {
backendScreen(
screenId: $screenId,
params: $params,
maxVersionSupported: $maxVersionSupported
) {
... on ComponentListType {
...ComponentListTypeFragment
}
... on GenericBackendScreen {
...GenericBackendScreenFragment
}
... on Dashboard {
...DashboardFragment
}
}
}Variables
{
"screenId": "abc123",
"params": BackendScreenParamInputType,
"maxVersionSupported": 1
}Response
{
"data": {
"backendScreen": ComponentListType
}
}backendScreenEventIds
Type:[String]
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get all registered backend screen event IDs.
Query
query BackendScreenEventIds {
backendScreenEventIds
}Response
{
"data": {
"backendScreenEventIds": ["abc123"]
}
}backendScreenIds
Type:[String]
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}bankDetailsValidation
Type:BankDetailsValidationResult
URL:https://api.esbsc-kraken.systems/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"
}
}
}business
Type:BusinessType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Get details about an account contract.
The possible errors that can be raised are:
- KT-CT-10003: Contract not found.
- KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
- KT-CT-10006: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the contract. |
| The account number to find the business contract for. |
| The version of the contract. |
Query
query BusinessContract(
$identifier: String,
$accountNumber: String,
$version: Int
) {
businessContract(
identifier: $identifier,
accountNumber: $accountNumber,
version: $version
) {
identifier
title
party {
... on Account {
...AccountFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}Response
{
"data": {
"businessContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": Account,
"subject": [Account],
"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.esbsc-kraken.systems/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 {
...AccountFragment
}
metadata {
...CallMetadataItemTypeFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"call": {
"id": "abc123",
"account": Account,
"metadata": CallMetadataItemType
}
}
}campaigns
Type:AccountCampaignConnectionTypeConnection
URL:https://api.esbsc-kraken.systems/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
}
}
}complaint
Type:ComplaintType
URL:https://api.esbsc-kraken.systems/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"
}
}
}consentTypes
Type:[ConsentTypeType]
URL:https://api.esbsc-kraken.systems/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"
}
]
}
}Query
query ContributionSchemes {
contributionSchemes {
id
code
displayName
taxable
acceptingContributions
}
}Response
{
"data": {
"contributionSchemes": [
{
"id": "abc123",
"code": "abc123",
"displayName": "abc123",
"taxable": true,
"acceptingContributions": true
}
]
}
}cupsRegion
Type:String
URL:https://api.esbsc-kraken.systems/v1/graphql/
Gets the region where a CUPS is physically located.
Arguments
| Name | Description |
|---|---|
| The CUPS to obtain information for. |
Query
query CupsRegion($cups: String!) {
cupsRegion(cups: $cups)
}Variables
{
"cups": "abc123"
}Response
{
"data": {
"cupsRegion": "abc123"
}
}cupsValidationToContractAtrBased
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get confirmation if cups is valid to make a contract.
The possible errors that can be raised are:
- KT-ES-7812: Product ID does not exist.
- KT-ES-7802: The request to Chipiron was not fulfilled correctly.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Input arguments validate in chipiron. |
Query
query CupsValidationToContractAtrBased($cupsAndProductInput: CupsValidationToContractInput!) {
cupsValidationToContractAtrBased(cupsAndProductInput: $cupsAndProductInput) {
availableContractElectricity
electricityProductId
availableContractGas
gasProductId
validationMessage
spanishValidationMessage
}
}Variables
{
"cupsAndProductInput": CupsValidationToContractInput
}Response
{
"data": {
"cupsValidationToContractAtrBased": {
"availableContractElectricity": true,
"electricityProductId": "abc123",
"availableContractGas": true,
"gasProductId": "abc123",
"validationMessage": "abc123",
"spanishValidationMessage": "abc123"
}
}
}cupsValidationToContractAtrBasedV2
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get confirmation if cups is valid to contract the products.
The possible errors that can be raised are:
- KT-ES-7812: Product ID does not exist.
- KT-ES-7802: The request to Chipiron was not fulfilled correctly.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'cupsValidationToContractAtrBasedV2' field is deprecated.
Never used. Use 'cupsValidationToContractAtrBased' instead.
- Marked as deprecated on 2024-05-27.
- Scheduled for removal on or after 2024-07-01.
Arguments
| Name | Description |
|---|---|
| Electricity and gas cups and products to contract. |
Query
query CupsValidationToContractAtrBasedV2($input: CupsValidationToContractInput!) {
cupsValidationToContractAtrBasedV2(input: $input) {
availableContractElectricity
electricityProductId
availableContractGas
gasProductId
validationMessage
spanishValidationMessage
}
}Variables
{
"input": CupsValidationToContractInput
}Response
{
"data": {
"cupsValidationToContractAtrBasedV2": {
"availableContractElectricity": true,
"electricityProductId": "abc123",
"availableContractGas": true,
"gasProductId": "abc123",
"validationMessage": "abc123",
"spanishValidationMessage": "abc123"
}
}
}customerFeedbackForms
Type:CustomerFeedbackFormConnectionTypeConnection
URL:https://api.esbsc-kraken.systems/v1/graphql/
Returns all active customer feedback forms for the account's brand.
Arguments
| Name | Description |
|---|---|
| The account number. |
| Feedback sources currently supported. |
| |
| |
| |
|
Query
query CustomerFeedbackForms(
$accountNumber: String!,
$feedbackSource: CustomerFeedbackSourceChoices,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
customerFeedbackForms(
accountNumber: $accountNumber,
feedbackSource: $feedbackSource,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CustomerFeedbackFormConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"feedbackSource": "FEEDBACK_SOURCE_PHONE_CALL_FOLLOW_UP",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"customerFeedbackForms": {
"pageInfo": PageInfo,
"edges": CustomerFeedbackFormConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}dashboardScreen
Type:Dashboard
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get a dashboard screen to render in the form of a json list of sections containing cards or grouped cards each with an order attribute.
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-8001: No backend screen available.
- KT-CT-8005: Backend screen does not support parameters.
- KT-CT-8008: Incorrect or missing data necessary to build the screen.
- KT-CT-8006: Error applying parameters to backend screen.
- KT-CT-8009: Error translating screen content.
- KT-CT-8010: Invalid step ID.
- KT-CT-8011: Cannot rewind past a previous irreversible step.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ID of the dashboard type screen to return. |
| The account number of the user. |
| The maximum version of dahshboard type screens supported by the client. |
| The ledger id associated to the account. |
| The ledger number associated to the account. |
| The property id associated to the account. |
| List of key-value pairs (strings) to pass as parameters to the screen. |
Query
query DashboardScreen(
$dashboardId: ID!,
$accountNumber: String!,
$maxVersionSupported: Int!,
$ledgerId: String,
$ledgerNumber: String,
$propertyId: String,
$params: [BackendScreenParamInputType]
) {
dashboardScreen(
dashboardId: $dashboardId,
accountNumber: $accountNumber,
maxVersionSupported: $maxVersionSupported,
ledgerId: $ledgerId,
ledgerNumber: $ledgerNumber,
propertyId: $propertyId,
params: $params
) {
id
typename
dashboardItems {
...SectionTypeFragment
}
serialisedDashboardItems
}
}Variables
{
"dashboardId": "abc123",
"accountNumber": "abc123",
"maxVersionSupported": 1,
"ledgerId": "abc123",
"ledgerNumber": "abc123",
"propertyId": "abc123",
"params": BackendScreenParamInputType
}Response
{
"data": {
"dashboardScreen": {
"id": "abc123",
"typename": "abc123",
"dashboardItems": SectionType,
"serialisedDashboardItems": "abc123"
}
}
}defaultPaymentInstruction
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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
}
}domesticAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/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
}
}
}electricitySupplyPoint
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get information about a supply point by its ID.
Arguments
| Name | Description |
|---|---|
| The ID of the supply point to obtain information for. |
Query
query ElectricitySupplyPoint($id: ID!) {
electricitySupplyPoint(id: $id) {
id
cups
status
selfConsumptionCode
selfConsumption
agreements {
...AgreementFragment
}
activeAgreement {
...AgreementFragment
}
supplierChangeInProgress
supplyPeriods {
...SupplyPeriodConnectionTypeConnectionFragment
}
networkOperator {
...NetworkOperatorFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"electricitySupplyPoint": {
"id": "abc123",
"cups": "abc123",
"status": "abc123",
"selfConsumptionCode": "abc123",
"selfConsumption": "abc123",
"agreements": Agreement,
"activeAgreement": Agreement,
"supplierChangeInProgress": true,
"supplyPeriods": SupplyPeriodConnectionTypeConnection,
"networkOperator": NetworkOperator
}
}
}eligibilityToJoinLoyaltyPointsProgram
Type:LoyaltyPointsProgramEligibilityType
URL:https://api.esbsc-kraken.systems/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"
}
}
}embeddedNetwork
Type:EmbeddedNetworkType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
The current energy generation mix.
Query
query EnergyMixData {
energyMixData {
carbonIntensityIndex
}
}Response
{
"data": {
"energyMixData": {
"carbonIntensityIndex": "abc123"
}
}
}gasSupplyPoint
Type:GasSupplyPoint
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get information about a supply point by its ID.
Arguments
| Name | Description |
|---|---|
| The ID of the supply point to obtain information for. |
Query
query GasSupplyPoint($id: ID!) {
gasSupplyPoint(id: $id) {
id
cups
status
agreements {
...AgreementFragment
}
activeAgreement {
...AgreementFragment
}
supplyPeriods {
...SupplyPeriodConnectionTypeConnectionFragment
}
networkOperator {
...NetworkOperatorFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"gasSupplyPoint": {
"id": "abc123",
"cups": "abc123",
"status": "abc123",
"agreements": Agreement,
"activeAgreement": Agreement,
"supplyPeriods": SupplyPeriodConnectionTypeConnection,
"networkOperator": NetworkOperator
}
}
}getOnSiteJobsJobTypes
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get available job types for an on-site jobs request.
Arguments
| Name | Description |
|---|---|
| The ID of the request for which to fetch available job types. |
| Work category to filter job types by. If it's left as blank, all job types will be returned. |
Query
query GetOnSiteJobsJobTypes(
$requestId: UUID!,
$workCategory: OnSiteJobsWorkCategory
) {
getOnSiteJobsJobTypes(
requestId: $requestId,
workCategory: $workCategory
) {
id
name
}
}Variables
{
"requestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"workCategory": "EXCHANGE"
}Response
{
"data": {
"getOnSiteJobsJobTypes": [
{
"id": "abc123",
"name": "abc123"
}
]
}
}goodsProducts
Type:GoodsProductConnectionTypeConnection
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
List quotes given an account number or retrieve a Goods quote given a quote code.
Arguments
| Name | Description |
|---|---|
| The account number. |
| The quote code. |
Query
query GoodsQuotes(
$accountNumber: String,
$quoteCode: String
) {
goodsQuotes(
accountNumber: $accountNumber,
quoteCode: $quoteCode
) {
id
code
totalNetAmount
quotedAt
goodsQuotedProducts {
...GoodsQuotedProductFragment
}
hasQuoteExpired
}
}Variables
{
"accountNumber": "abc123",
"quoteCode": "abc123"
}Response
{
"data": {
"goodsQuotes": [
{
"id": "abc123",
"code": "abc123",
"totalNetAmount": 1,
"quotedAt": "2020-01-01T00:00:00.000Z",
"goodsQuotedProducts": [GoodsQuotedProduct],
"hasQuoteExpired": true
}
]
}
}inkConversation
Type:InkConversation!
URL:https://api.esbsc-kraken.systems/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 {
...EspAccountUserTypeFragment
}
events {
...InkConversationEventsConnectionFragment
}
buckets {
...InkBucketFragment
}
}
}Variables
{
"accountNumber": "abc123",
"conversationRelayId": "abc123"
}Response
{
"data": {
"inkConversation": {
"id": "abc123",
"status": "OPEN",
"contactChannelIdentities": InkContactChannelIdentities,
"accountUsers": [EspAccountUserType],
"events": InkConversationEventsConnection,
"buckets": [InkBucket]
}
}
}inkMessage
Type:InkMessage!
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get the content for a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-7638: Invalid conversation ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The message's relay id. |
Query
query InkMessage($messageRelayId: String!) {
inkMessage(messageRelayId: $messageRelayId) {
... on InkEmail {
...InkEmailFragment
}
... on InkSMS {
...InkSMSFragment
}
... on InkLine {
...InkLineFragment
}
... on InkWhatsApp {
...InkWhatsAppFragment
}
... on InkTwilioWhatsApp {
...InkTwilioWhatsAppFragment
}
... on InkPost {
...InkPostFragment
}
... on InkGenericMessage {
...InkGenericMessageFragment
}
... on InkLiveChatMessage {
...InkLiveChatMessageFragment
}
}
}Variables
{
"messageRelayId": "abc123"
}Response
{
"data": {
"inkMessage": InkEmail
}
}inkMessageTextContent
Type:String!
URL:https://api.esbsc-kraken.systems/v1/graphql/
Fetch the text content of a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The message's id or relay id. |
Query
query InkMessageTextContent($messageId: ID!) {
inkMessageTextContent(messageId: $messageId)
}Variables
{
"messageId": "abc123"
}Response
{
"data": {
"inkMessageTextContent": "abc123"
}
}isCustomerEligibleToGiveFeedbackFollowingCall
Type:Boolean
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Check validity of a password reset token.
Arguments
| Name | Description |
|---|---|
| Base64 encoded user id. |
| Password reset token to check. |
Query
query IsPasswordResetTokenValid(
$userId: String!,
$token: String!
) {
isPasswordResetTokenValid(
userId: $userId,
token: $token
)
}Variables
{
"userId": "abc123",
"token": "abc123"
}Response
{
"data": {
"isPasswordResetTokenValid": true
}
}joinSupplierProcess
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
}
}Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123"
}
}
}leadBlocklistValidations
Type:LeadBlockListValidationOutput
URL:https://api.esbsc-kraken.systems/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
Arguments
| Name | Description |
|---|---|
| List of client-configured black list entry types. |
Query
query LeadBlocklistValidations($blockListEntries: LeadBlockListValidationInput) {
leadBlocklistValidations(blockListEntries: $blockListEntries) {
valid
blockListHits
}
}Variables
{
"blockListEntries": LeadBlockListValidationInput
}Response
{
"data": {
"leadBlocklistValidations": {
"valid": true,
"blockListHits": ["abc123"]
}
}
}leaveSupplierProcess
URL:https://api.esbsc-kraken.systems/v1/graphql/
Details associated with a LeaveSupplier process.
The possible errors that can be raised are:
- KT-CT-10302: Invalid data.
- KT-CT-10333: Missing either number of leave supplier process id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The leave supplier process number, e.g. LS-12345678. |
| The leave supplier process ID. |
Query
query LeaveSupplierProcess(
$number: String,
$leaveSupplierProcessId: ID
) {
leaveSupplierProcess(
number: $number,
leaveSupplierProcessId: $leaveSupplierProcessId
) {
id
status
number
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
}
}Variables
{
"number": "abc123",
"leaveSupplierProcessId": "abc123"
}Response
{
"data": {
"leaveSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"number": "abc123",
"supplyPoints": SupplyPointConnectionTypeConnection
}
}
}lifecycleProcesses
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Get payment adequacy data with an up to date calculation.
The possible errors that can be raised are:
- KT-CT-3963: Could not calculate live PA data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Kraken ledger number. |
Query
query LivePaymentAdequacyCalculation($ledgerNumber: String!) {
livePaymentAdequacyCalculation(ledgerNumber: $ledgerNumber) {
suggestedNewMonthlyAmount
consumption {
...ConsumptionBreakdownConnectionTypeConnectionFragment
}
averageMonthlyCharge
existingMonthlyAmount
balanceAdjustment
currentBalance
targetBalance
reviewedOn
}
}Variables
{
"ledgerNumber": "abc123"
}Response
{
"data": {
"livePaymentAdequacyCalculation": {
"suggestedNewMonthlyAmount": 1,
"consumption": ConsumptionBreakdownConnectionTypeConnection,
"averageMonthlyCharge": 1,
"existingMonthlyAmount": 1,
"balanceAdjustment": 1,
"currentBalance": 1,
"targetBalance": 1,
"reviewedOn": "2020-01-01"
}
}
}loyaltyPointLedgerEntry
Type:LoyaltyPointLedgerEntryType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get the loyalty points balance for an account.
The possible errors that can be raised are:
- KT-CT-9218: Unauthorized.
- KT-CT-9217: Unauthorized.
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9216: Unauthorized.
- KT-CT-9222: Loyalty points balance query requires either accountNumber field (deprecated) or input object (preferred) with account number and optional account user id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
|
Query
query LoyaltyPointsBalance(
$accountNumber: String,
$input: LoyaltyPointsBalanceInput
) {
loyaltyPointsBalance(
accountNumber: $accountNumber,
input: $input
) {
loyaltyPoints
totalMonetaryAmount
}
}Variables
{
"accountNumber": "abc123",
"input": LoyaltyPointsBalanceInput
}Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}
}
}metadata
Type:[Metadata]
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}node
Type:Node
URL:https://api.esbsc-kraken.systems/v1/graphql/
Represents an individual object/resource in the API.
Arguments
| Name | Description |
|---|---|
| The ID of the object |
Query
query Node($id: ID!) {
node(id: $id) {
id
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"node": {
"id": "abc123"
}
}
}ocuCollectivePurchaseCanContract
Type:Boolean
URL:https://api.esbsc-kraken.systems/v1/graphql/
Resolves whether an OCU collective purchase customer can contract or not.
The possible errors that can be raised are:
- KT-ES-7810: Customer has reached its max amount of agreements for the OCU collective purchase product.
- KT-ES-7811: Customer isn't allowed to contract OCU collective purchase product.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| OCU customer id to check. |
Query
query OcuCollectivePurchaseCanContract($customerId: String!) {
ocuCollectivePurchaseCanContract(customerId: $customerId)
}Variables
{
"customerId": "abc123"
}Response
{
"data": {
"ocuCollectivePurchaseCanContract": true
}
}offerForQuoting
Type:OfferType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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"
}onboardingReferralCurrentlyAllowed
Type:OnboardingReferralAllowedType
URL:https://api.esbsc-kraken.systems/v1/graphql/
Gives a prediction on whether a referral will be valid.
The possible errors that can be raised are:
- KT-ES-6701: Referral currently not allowed.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Referral code to be checked. |
Query
query OnboardingReferralCurrentlyAllowed($referralCode: String!) {
onboardingReferralCurrentlyAllowed(referralCode: $referralCode) {
referralValid
}
}Variables
{
"referralCode": "abc123"
}Response
{
"data": {
"onboardingReferralCurrentlyAllowed": {
"referralValid": true
}
}
}opportunityByNumber
Type:OpportunityOutput
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/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"]
}
}paymentRequests
Type:PaymentRequestsType
URL:https://api.esbsc-kraken.systems/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
}
}
}portfolio
Type:PortfolioType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Get details about a portfolio, using its reference.
The possible errors that can be raised are:
- KT-CT-9409: Invalid portfolio reference.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Portfolio reference namespace-value pair to filter by. |
Query
query PortfolioByReference($portfolioReference: PortfolioReferenceInput!) {
portfolioByReference(portfolioReference: $portfolioReference) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}Variables
{
"portfolioReference": PortfolioReferenceInput
}Response
{
"data": {
"portfolioByReference": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}possibleErrors
URL:https://api.esbsc-kraken.systems/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]
}
}
}productsWithEstimates
Type:ProductWithEstimates
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get all products providing an estimate, either CUPS or annualConsumption.
The possible errors that can be raised are:
- KT-ES-7802: The request to Chipiron was not fulfilled correctly.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Supply point electricity CUPS. |
| Estimated electricity annual consumption. |
| Supply point gas CUPS. |
| Estimated gas annual consumption. |
| The market brand code. |
| The date when product must be available. |
| The organization from which filter the products. |
| Get products based on its hidden attribute. |
Query
query ProductsWithEstimates(
$electricityCups: String,
$electricityAnnualConsumption: Int,
$gasCups: String,
$gasAnnualConsumption: Int,
$brand: String,
$date: Date,
$organizationName: String,
$isHidden: Boolean
) {
productsWithEstimates(
electricityCups: $electricityCups,
electricityAnnualConsumption: $electricityAnnualConsumption,
gasCups: $gasCups,
gasAnnualConsumption: $gasAnnualConsumption,
brand: $brand,
date: $date,
organizationName: $organizationName,
isHidden: $isHidden
) {
dualFuel {
...DualFuelProductQuoteFragment
}
singleFuel {
...SingleFuelProductQuoteFragment
}
}
}Variables
{
"electricityCups": "abc123",
"electricityAnnualConsumption": 1,
"gasCups": "abc123",
"gasAnnualConsumption": 1,
"brand": "abc123",
"date": "2020-01-01",
"organizationName": "abc123",
"isHidden": true
}Response
{
"data": {
"productsWithEstimates": {
"dualFuel": [DualFuelProductQuote],
"singleFuel": [SingleFuelProductQuote]
}
}
}productsWithoutEstimates
Type:[ProductWithoutEstimates]
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get all active non-hidden products without providing any estimate.
Arguments
| Name | Description |
|---|---|
| The market brand code. |
| The date when product must be available. |
| The organization from which filter the products. |
| Get products based on its hidden attribute, only for organizations. |
Query
query ProductsWithoutEstimates(
$brand: String,
$date: Date,
$organizationName: String,
$isHidden: Boolean
) {
productsWithoutEstimates(
brand: $brand,
date: $date,
organizationName: $organizationName,
isHidden: $isHidden
) {
id
code
notes
fullName
displayName
description
isHidden
term
marketName
params {
...ProductParamsFragment
}
brand {
...BrandFragment
}
dualFuelDescription
prices {
...ProductPricesFragment
}
availableFrom
availableTo
currentAgreementCount
}
}Variables
{
"brand": "abc123",
"date": "2020-01-01",
"organizationName": "abc123",
"isHidden": true
}Response
{
"data": {
"productsWithoutEstimates": [
{
"id": "abc123",
"code": "abc123",
"notes": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"isHidden": true,
"term": 1,
"marketName": "abc123",
"params": ProductParams,
"brand": Brand,
"dualFuelDescription": "abc123",
"prices": ProductPrices,
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"currentAgreementCount": 1
}
]
}
}propertiesSearch
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
A property with the given ID. Usually associated with supply points.
Arguments
| Name | Description |
|---|---|
| The property ID. |
Query
query Property($id: ID!) {
property(id: $id) {
id
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
postcode
electricitySupplyPoints {
...ElectricitySupplyPointFragment
}
gasSupplyPoints {
...GasSupplyPointFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"property": {
"id": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"postcode": "abc123",
"electricitySupplyPoints": [ElectricitySupplyPoint],
"gasSupplyPoints": [GasSupplyPoint]
}
}
}propertySearch
Type:[PropertyType]
URL:https://api.esbsc-kraken.systems/v1/graphql/
Search for properties that are already in Kraken and match the search term.
Deprecated
The 'propertySearch' field is deprecated.
This query is being deprecated in favour of `propertiesSearch`. The latter returns not only the matched properties but the level of confidence in the results through the `score` field.
- Marked as deprecated on 2023-05-23.
- Scheduled for removal on or after 2024-01-01.
Arguments
| Name | Description |
|---|---|
| The search term. It can be an address or a meter point identifier. |
Query
query PropertySearch($searchTerm: String!) {
propertySearch(searchTerm: $searchTerm) {
id
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
label
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
postcode
electricitySupplyPoints {
...ElectricitySupplyPointFragment
}
gasSupplyPoints {
...GasSupplyPointFragment
}
}
}Variables
{
"searchTerm": "abc123"
}Response
{
"data": {
"propertySearch": [
{
"id": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"postcode": "abc123",
"electricitySupplyPoints": [ElectricitySupplyPoint],
"gasSupplyPoints": [GasSupplyPoint]
}
]
}
}Query
query Provinces {
provinces {
value
label
}
}Response
{
"data": {
"provinces": [
{
"value": "abc123",
"label": "abc123"
}
]
}
}question
Type:String
URL:https://api.esbsc-kraken.systems/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"
}
}quoteRequest
Type:QuoteRequest
URL:https://api.esbsc-kraken.systems/v1/graphql/
The quote request with a list of quoted supply points and their products.
Arguments
| Name | Description |
|---|---|
| The quote request code. |
Query
query QuoteRequest($code: String!) {
quoteRequest(code: $code) {
id
code
quotedSupplyPoints {
...QuotedSupplyPointFragment
}
}
}Variables
{
"code": "abc123"
}Response
{
"data": {
"quoteRequest": {
"id": "abc123",
"code": "abc123",
"quotedSupplyPoints": QuotedSupplyPoint
}
}
}quotingParamDefinitionsForProductOffering
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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
}
}
}searchLead
Type:LeadIdType
URL:https://api.esbsc-kraken.systems/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"
}
}
}simpleQuoteLevels
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get quote estimation list.
Deprecated
The 'simpleQuoteLevels' field is deprecated.
Migrated to OE Backend API.
- Marked as deprecated on 2025-10-27.
- Scheduled for removal on or after 2025-11-10.
Query
query SimpleQuoteLevels {
simpleQuoteLevels {
consumptionLevel
consumptionDetails
annualConsumption
estimates {
...EstimationTypeFragment
}
}
}Response
{
"data": {
"simpleQuoteLevels": [
{
"consumptionLevel": "abc123",
"consumptionDetails": "abc123",
"annualConsumption": 1,
"estimates": EstimationType
}
]
}
}solarSimulatorQuote
Type:SolarSimulationQuote
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get solar simulator response data.
Deprecated
The 'solarSimulatorQuote' field is deprecated.
Migrated to OE Backend API.
- Marked as deprecated on 2025-10-27.
- Scheduled for removal on or after 2025-11-10.
Arguments
| Name | Description |
|---|---|
| Roof size in square meters. |
| High-range monthly consumption in EUR. |
Query
query SolarSimulatorQuote(
$roofSize: Float!,
$consumption: Int!
) {
solarSimulatorQuote(
roofSize: $roofSize,
consumption: $consumption
) {
numberOfPanels
panelPower
panelPowerUnit
totalPower
totalPowerUnit
batteryPrice
co2Emissions {
...SolarSimulationCO2SavingsFragment
}
message
cashPaymentPrice
cashPaymentPriceWithBattery
financePaymentPrices
financePaymentPricesWithBattery
twentyFiveYearSavings
twentyFiveYearSavingsWithBattery
postInstalationMonthlySpending
cashPrice
priceUnit
governmentSubsidiesMultiplier
postInstallationMultipliers {
...SolarSimulationPostInstallationMultipliersFragment
}
financedPrices {
...SolarSimulationFinancedPricesFragment
}
twentyFiveYearSavingsMultipliers {
...SolarSimulationTwentyFiveYearSavingsMultipliersFragment
}
chargerPrice
}
}Variables
{
"roofSize": 1.0,
"consumption": 1
}Response
{
"data": {
"solarSimulatorQuote": {
"numberOfPanels": 1,
"panelPower": 1.0,
"panelPowerUnit": "abc123",
"totalPower": 1.0,
"totalPowerUnit": "abc123",
"batteryPrice": 1.0,
"co2Emissions": SolarSimulationCO2Savings,
"message": "abc123",
"cashPaymentPrice": 1.0,
"cashPaymentPriceWithBattery": 1.0,
"financePaymentPrices": MonthlyFinancingScalar,
"financePaymentPricesWithBattery": MonthlyFinancingScalar,
"twentyFiveYearSavings": 1.0,
"twentyFiveYearSavingsWithBattery": 1.0,
"postInstalationMonthlySpending": 1.0,
"cashPrice": 1.0,
"priceUnit": "abc123",
"governmentSubsidiesMultiplier": 1.0,
"postInstallationMultipliers": SolarSimulationPostInstallationMultipliers,
"financedPrices": SolarSimulationFinancedPrices,
"twentyFiveYearSavingsMultipliers": SolarSimulationTwentyFiveYearSavingsMultipliers,
"chargerPrice": 1.0
}
}
}solarTariff
Type:SpecialTariff
URL:https://api.esbsc-kraken.systems/v1/graphql/
Send information about the current solar tariff.
The possible errors that can be raised are:
- KT-ES-7802: The request to Chipiron was not fulfilled correctly.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query SolarTariff {
solarTariff {
prices {
...ProductPricesWithExcessFragment
}
id
marketName
code
description
displayName
params {
...ProductParamsFragment
}
}
}Response
{
"data": {
"solarTariff": {
"prices": ProductPricesWithExcess,
"id": 1,
"marketName": "abc123",
"code": "abc123",
"description": "abc123",
"displayName": "abc123",
"params": ProductParams
}
}
}standardisedAddressInfo
Type:StandardAddressInfo
URL:https://api.esbsc-kraken.systems/v1/graphql/
Get standardised address information from the postcode.
The possible errors that can be raised are:
- KT-CT-4410: Invalid postcode.
- KT-ES-4401: Unexpected Chipiron vendor response.
- KT-ES-4402: Error while calling Chipiron vendor.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Postcode used to retrieve standard address info. |
Query
query StandardisedAddressInfo($postcode: String) {
standardisedAddressInfo(postcode: $postcode) {
provinceCode
provinceName
postcode
streetDetails {
...StreetDetailsFragment
}
}
}Variables
{
"postcode": "abc123"
}Response
{
"data": {
"standardisedAddressInfo": {
"provinceCode": "abc123",
"provinceName": "abc123",
"postcode": "abc123",
"streetDetails": [StreetDetails]
}
}
}Query
query StreetTypes {
streetTypes {
value
label
}
}Response
{
"data": {
"streetTypes": [
{
"value": "abc123",
"label": "abc123"
}
]
}
}supplyPoint
Type:SupplyPointType
URL:https://api.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/v1/graphql/
Get the status of a background task.
The possible errors that can be raised are:
- KT-CT-10401: Task not found.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query TaskResult(
$taskId: String!,
$accountNumber: String!
) {
taskResult(
taskId: $taskId,
accountNumber: $accountNumber
) {
status
result
error
}
}Variables
{
"taskId": "abc123",
"accountNumber": "abc123"
}Response
{
"data": {
"taskResult": {
"status": "STARTED",
"result": {"key": "value"},
"error": "abc123"
}
}
}termsAndConditionsForProduct
URL:https://api.esbsc-kraken.systems/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"
}
]
}
}Arguments
| Name | Description |
|---|---|
| Referral claim code value. |
Query
query ValidateReferralCode($value: String!) {
validateReferralCode(value: $value) {
id
value
referralScheme {
...ReferralSchemeTypeFragment
}
accountReferral {
...ReferralTypeFragment
}
isValid
createdAt
}
}Variables
{
"value": "abc123"
}Response
{
"data": {
"validateReferralCode": {
"id": 1,
"value": "abc123",
"referralScheme": ReferralSchemeType,
"accountReferral": ReferralType,
"isValid": true,
"createdAt": "2020-01-01T00:00:00.000Z"
}
}
}viewer
Type:EspAccountUserType
URL:https://api.esbsc-kraken.systems/v1/graphql/
The currently authenticated user.
This field requires the Authorization header to be set.
Query
query Viewer {
viewer {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
createdAt
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
address {
...RichAddressTypeFragment
}
dateOfBirth
label
isActive
details {
...AccountUserDetailTypeFragment
}
permissions {
...AccountUserPermissionFragment
}
displayName
firstName
lastName
fullName
preferredName
portfolioId
portfolioIds
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
accountUserMeta {
...AccountUserMetaFragment
}
}
}Response
{
"data": {
"viewer": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"portfolios": PortfolioConnectionTypeConnection,
"address": RichAddressType,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"isActive": true,
"details": [AccountUserDetailType],
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"accountUserMeta": AccountUserMeta
}
}
}vouchersForAccount
Type:VoucherPurchaseConnectionTypeConnection
URL:https://api.esbsc-kraken.systems/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
}
}
}Authentication Server
authorizedApplications
URL:https://auth.esbsc-kraken.systems/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.esbsc-kraken.systems/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.esbsc-kraken.systems/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
}
]
}
}