Skip to main content

Queries

In this section

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.oejp-kraken.energy/v1/graphql/

Get details about an account.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

Query

query Account($accountNumber: String!) {
  account(accountNumber: $accountNumber) {
    id
    number
    status
    paymentSchedules {
      ...PaymentScheduleConnectionTypeConnectionFragment
    }
    users {
      ...AccountUserFragment
    }
    brand
    balance
    overdueBalance
    urn
    billingName
    billingSubName
    billingEmail
    billingAddress
    billingAddressLine1
    billingAddressLine2
    billingAddressLine3
    billingAddressLine4
    billingAddressLine5
    billingAddressPostcode
    billingCountryCode
    billingDeliveryPointIdentifier
    splitBillingAddress
    address {
      ...RichAddressTypeFragment
    }
    portfolio {
      ...PortfolioTypeFragment
    }
    ledgers {
      ...LedgerTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
    canRequestRefund
    requestRefundEligibility {
      ...RequestRefundEligibilityTypeFragment
    }
    payments {
      ...AccountPaymentConnectionTypeConnectionFragment
    }
    repayments {
      ...AccountRepaymentConnectionTypeConnectionFragment
    }
    paymentPlans {
      ...PaymentPlanConnectionTypeConnectionFragment
    }
    paymentForecast {
      ...PaymentForecastTypeFragment
    }
    paginatedPaymentForecast {
      ...PaymentForecastConnectionTypeConnectionFragment
    }
    referrals {
      ...ReferralConnectionTypeConnectionFragment
    }
    referralsCreated
    rewards {
      ...RewardTypeFragment
    }
    activeReferralSchemes {
      ...ReferralSchemeTypesFragment
    }
    transactions {
      ...TransactionConnectionTypeConnectionFragment
    }
    provisionalTransactions {
      ...ProvisionalTransactionConnectionTypeConnectionFragment
    }
    annualStatements {
      ...AnnualStatementConnectionTypeConnectionFragment
    }
    bills {
      ...BillConnectionTypeConnectionFragment
    }
    billingOptions {
      ...BillingOptionsTypeFragment
    }
    bill {
      ...BillInterfaceFragment
    }
    directDebitInstructions {
      ...DirectDebitInstructionConnectionTypeConnectionFragment
    }
    paymentMethods {
      ...PaymentInstructionConnectionTypeConnectionFragment
    }
    events {
      ...AccountEventConnectionTypeConnectionFragment
    }
    applications {
      ...AccountApplicationConnectionTypeConnectionFragment
    }
    accountType
    businessType
    business {
      ...BusinessTypeFragment
    }
    commsDeliveryPreference
    communicationDeliveryPreference
    documentAccessibility
    references {
      ...AccountReferenceTypeFragment
    }
    fileAttachments {
      ...AccountFileAttachmentFragment
    }
    paginatedFileAttachments {
      ...AccountFileAttachmentConnectionTypeConnectionFragment
    }
    maximumRefund {
      ...MaximumRefundTypeFragment
    }
    campaigns {
      ...AccountCampaignTypeFragment
    }
    isInHardship
    activeHardshipAgreements {
      ...HardshipAgreementTypeFragment
    }
    notes {
      ...AccountNoteTypeFragment
    }
    contributionAgreements {
      ...ContributionAgreementTypeFragment
    }
    assistanceAgreements {
      ...AssistanceAgreementTypeFragment
    }
    debtCollectionProceedings {
      ...DebtCollectionProceedingTypeFragment
    }
    createdAt
    preferredLanguageForComms
    consents {
      ...ConsentTypeFragment
    }
    reminders {
      ...AccountReminderConnectionTypeConnectionFragment
    }
    complaints {
      ...ComplaintConnectionTypeConnectionFragment
    }
    properties {
      ...PropertyFragment
    }
    marketSupplyAgreements {
      ...AgreementConnectionFragment
    }
    consentData
    paymentSchedule {
      ...PaymentScheduleTypeFragment
    }
    paymentInstructions {
      ...PaymentInstructionConnectionTypeConnectionFragment
    }
    paymentPreferences {
      ...PaymentPreferenceConnectionTypeConnectionFragment
    }
    availableDemandResponseCampaignsForRegistration
    demandResponseCampaignParticipants {
      ...DemandResponseCampaignParticipantTypeFragment
    }
    canBeWithdrawn
    hasActiveAgreement
    hasFutureAgreement
    lifelineAgencyApplication {
      ...LifelineAgencyApplicationFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "account": {
      "id": "abc123",
      "number": "abc123",
      "status": "PENDING",
      "paymentSchedules": PaymentScheduleConnectionTypeConnection,
      "users": AccountUser,
      "brand": "abc123",
      "balance": 1,
      "overdueBalance": 1,
      "urn": "abc123",
      "billingName": "abc123",
      "billingSubName": "abc123",
      "billingEmail": "abc123",
      "billingAddress": "abc123",
      "billingAddressLine1": "abc123",
      "billingAddressLine2": "abc123",
      "billingAddressLine3": "abc123",
      "billingAddressLine4": "abc123",
      "billingAddressLine5": "abc123",
      "billingAddressPostcode": "abc123",
      "billingCountryCode": "abc123",
      "billingDeliveryPointIdentifier": "abc123",
      "splitBillingAddress": ["abc123"],
      "address": RichAddressType,
      "portfolio": PortfolioType,
      "ledgers": [LedgerType],
      "metadata": [Metadata],
      "canRequestRefund": true,
      "requestRefundEligibility": RequestRefundEligibilityType,
      "payments": AccountPaymentConnectionTypeConnection,
      "repayments": AccountRepaymentConnectionTypeConnection,
      "paymentPlans": PaymentPlanConnectionTypeConnection,
      "paymentForecast": [PaymentForecastType],
      "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
      "referrals": ReferralConnectionTypeConnection,
      "referralsCreated": 1,
      "rewards": [RewardType],
      "activeReferralSchemes": ReferralSchemeTypes,
      "transactions": TransactionConnectionTypeConnection,
      "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
      "annualStatements": AnnualStatementConnectionTypeConnection,
      "bills": BillConnectionTypeConnection,
      "billingOptions": BillingOptionsType,
      "bill": BillInterface,
      "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
      "paymentMethods": PaymentInstructionConnectionTypeConnection,
      "events": AccountEventConnectionTypeConnection,
      "applications": AccountApplicationConnectionTypeConnection,
      "accountType": "BUSINESS",
      "businessType": "SOLE_TRADER",
      "business": BusinessType,
      "commsDeliveryPreference": "EMAIL",
      "communicationDeliveryPreference": "abc123",
      "documentAccessibility": "LARGE_PRINT",
      "references": [AccountReferenceType],
      "fileAttachments": [AccountFileAttachment],
      "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
      "maximumRefund": MaximumRefundType,
      "campaigns": [AccountCampaignType],
      "isInHardship": true,
      "activeHardshipAgreements": [HardshipAgreementType],
      "notes": [AccountNoteType],
      "contributionAgreements": [ContributionAgreementType],
      "assistanceAgreements": [AssistanceAgreementType],
      "debtCollectionProceedings": [DebtCollectionProceedingType],
      "createdAt": "2020-01-01T00:00:00.000Z",
      "preferredLanguageForComms": "abc123",
      "consents": ConsentType,
      "reminders": AccountReminderConnectionTypeConnection,
      "complaints": ComplaintConnectionTypeConnection,
      "properties": [Property],
      "marketSupplyAgreements": AgreementConnection,
      "consentData": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
      "paymentSchedule": PaymentScheduleType,
      "paymentInstructions": PaymentInstructionConnectionTypeConnection,
      "paymentPreferences": PaymentPreferenceConnectionTypeConnection,
      "availableDemandResponseCampaignsForRegistration": ["abc123"],
      "demandResponseCampaignParticipants": [DemandResponseCampaignParticipantType],
      "canBeWithdrawn": true,
      "hasActiveAgreement": true,
      "hasFutureAgreement": true,
      "lifelineAgencyApplication": LifelineAgencyApplication
    }
  }
}

accountChargeReasons

Type:[ChargeReasonType]

URL:https://api.oejp-kraken.energy/v1/graphql/

Available reasons for use in account charge mutations.

Query

query AccountChargeReasons {
  accountChargeReasons {
    code
    display
    isDeprecated
    isTaxExempt
    isHidden
    group
  }
}

Response

{
  "data": {
    "accountChargeReasons": [
      {
        "code": "abc123",
        "display": "abc123",
        "isDeprecated": true,
        "isTaxExempt": true,
        "isHidden": true,
        "group": "abc123"
      }
    ]
  }
}

accountContract

Type:Contract

URL:https://api.oejp-kraken.energy/v1/graphql/

Get details about an account contract.

The possible errors that can be raised are:

  • KT-CT-10003: Contract not found.
  • KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
  • KT-CT-10006: Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

identifier (String)

The identifier of the contract.

accountNumber (String)

The account number to find the contract for.

version (Int)

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.oejp-kraken.energy/v1/graphql/

Available reasons for use in account credit mutations.

Query

query AccountCreditReasons {
  accountCreditReasons {
    code
    display
    isDeprecated
    isTaxExempt
    isHidden
    group
  }
}

Response

{
  "data": {
    "accountCreditReasons": [
      {
        "code": "abc123",
        "display": "abc123",
        "isDeprecated": true,
        "isTaxExempt": true,
        "isHidden": true,
        "group": "abc123"
      }
    ]
  }
}

accountReference

Type:[AccountReferenceType]

URL:https://api.oejp-kraken.energy/v1/graphql/

List of matching account references.

The possible errors that can be raised are:

  • KT-CT-8310: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

value (String)

Query

query AccountReference($value: String) {
  accountReference(value: $value) {
    namespace
    value
    createdAt
    updatedAt
    account {
      ...AccountFragment
    }
  }
}

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": Account
      }
    ]
  }
}

accounts

Type:[Account]

URL:https://api.oejp-kraken.energy/v1/graphql/

Get details about multiple accounts.

Arguments

NameDescription

phoneNumber (String)

A phone number to find accounts associated with.

portfolioNumber (String)

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 {
      ...AccountUserFragment
    }
    brand
    balance
    overdueBalance
    urn
    billingName
    billingSubName
    billingEmail
    billingAddress
    billingAddressLine1
    billingAddressLine2
    billingAddressLine3
    billingAddressLine4
    billingAddressLine5
    billingAddressPostcode
    billingCountryCode
    billingDeliveryPointIdentifier
    splitBillingAddress
    address {
      ...RichAddressTypeFragment
    }
    portfolio {
      ...PortfolioTypeFragment
    }
    ledgers {
      ...LedgerTypeFragment
    }
    metadata {
      ...MetadataFragment
    }
    canRequestRefund
    requestRefundEligibility {
      ...RequestRefundEligibilityTypeFragment
    }
    payments {
      ...AccountPaymentConnectionTypeConnectionFragment
    }
    repayments {
      ...AccountRepaymentConnectionTypeConnectionFragment
    }
    paymentPlans {
      ...PaymentPlanConnectionTypeConnectionFragment
    }
    paymentForecast {
      ...PaymentForecastTypeFragment
    }
    paginatedPaymentForecast {
      ...PaymentForecastConnectionTypeConnectionFragment
    }
    referrals {
      ...ReferralConnectionTypeConnectionFragment
    }
    referralsCreated
    rewards {
      ...RewardTypeFragment
    }
    activeReferralSchemes {
      ...ReferralSchemeTypesFragment
    }
    transactions {
      ...TransactionConnectionTypeConnectionFragment
    }
    provisionalTransactions {
      ...ProvisionalTransactionConnectionTypeConnectionFragment
    }
    annualStatements {
      ...AnnualStatementConnectionTypeConnectionFragment
    }
    bills {
      ...BillConnectionTypeConnectionFragment
    }
    billingOptions {
      ...BillingOptionsTypeFragment
    }
    bill {
      ...BillInterfaceFragment
    }
    directDebitInstructions {
      ...DirectDebitInstructionConnectionTypeConnectionFragment
    }
    paymentMethods {
      ...PaymentInstructionConnectionTypeConnectionFragment
    }
    events {
      ...AccountEventConnectionTypeConnectionFragment
    }
    applications {
      ...AccountApplicationConnectionTypeConnectionFragment
    }
    accountType
    businessType
    business {
      ...BusinessTypeFragment
    }
    commsDeliveryPreference
    communicationDeliveryPreference
    documentAccessibility
    references {
      ...AccountReferenceTypeFragment
    }
    fileAttachments {
      ...AccountFileAttachmentFragment
    }
    paginatedFileAttachments {
      ...AccountFileAttachmentConnectionTypeConnectionFragment
    }
    maximumRefund {
      ...MaximumRefundTypeFragment
    }
    campaigns {
      ...AccountCampaignTypeFragment
    }
    isInHardship
    activeHardshipAgreements {
      ...HardshipAgreementTypeFragment
    }
    notes {
      ...AccountNoteTypeFragment
    }
    contributionAgreements {
      ...ContributionAgreementTypeFragment
    }
    assistanceAgreements {
      ...AssistanceAgreementTypeFragment
    }
    debtCollectionProceedings {
      ...DebtCollectionProceedingTypeFragment
    }
    createdAt
    preferredLanguageForComms
    consents {
      ...ConsentTypeFragment
    }
    reminders {
      ...AccountReminderConnectionTypeConnectionFragment
    }
    complaints {
      ...ComplaintConnectionTypeConnectionFragment
    }
    properties {
      ...PropertyFragment
    }
    marketSupplyAgreements {
      ...AgreementConnectionFragment
    }
    consentData
    paymentSchedule {
      ...PaymentScheduleTypeFragment
    }
    paymentInstructions {
      ...PaymentInstructionConnectionTypeConnectionFragment
    }
    paymentPreferences {
      ...PaymentPreferenceConnectionTypeConnectionFragment
    }
    availableDemandResponseCampaignsForRegistration
    demandResponseCampaignParticipants {
      ...DemandResponseCampaignParticipantTypeFragment
    }
    canBeWithdrawn
    hasActiveAgreement
    hasFutureAgreement
    lifelineAgencyApplication {
      ...LifelineAgencyApplicationFragment
    }
  }
}

Variables

{
  "phoneNumber": "abc123",
  "portfolioNumber": "abc123"
}

Response

{
  "data": {
    "accounts": [
      {
        "id": "abc123",
        "number": "abc123",
        "status": "PENDING",
        "paymentSchedules": PaymentScheduleConnectionTypeConnection,
        "users": AccountUser,
        "brand": "abc123",
        "balance": 1,
        "overdueBalance": 1,
        "urn": "abc123",
        "billingName": "abc123",
        "billingSubName": "abc123",
        "billingEmail": "abc123",
        "billingAddress": "abc123",
        "billingAddressLine1": "abc123",
        "billingAddressLine2": "abc123",
        "billingAddressLine3": "abc123",
        "billingAddressLine4": "abc123",
        "billingAddressLine5": "abc123",
        "billingAddressPostcode": "abc123",
        "billingCountryCode": "abc123",
        "billingDeliveryPointIdentifier": "abc123",
        "splitBillingAddress": ["abc123"],
        "address": RichAddressType,
        "portfolio": PortfolioType,
        "ledgers": [LedgerType],
        "metadata": [Metadata],
        "canRequestRefund": true,
        "requestRefundEligibility": RequestRefundEligibilityType,
        "payments": AccountPaymentConnectionTypeConnection,
        "repayments": AccountRepaymentConnectionTypeConnection,
        "paymentPlans": PaymentPlanConnectionTypeConnection,
        "paymentForecast": [PaymentForecastType],
        "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
        "referrals": ReferralConnectionTypeConnection,
        "referralsCreated": 1,
        "rewards": [RewardType],
        "activeReferralSchemes": ReferralSchemeTypes,
        "transactions": TransactionConnectionTypeConnection,
        "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
        "annualStatements": AnnualStatementConnectionTypeConnection,
        "bills": BillConnectionTypeConnection,
        "billingOptions": BillingOptionsType,
        "bill": BillInterface,
        "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
        "paymentMethods": PaymentInstructionConnectionTypeConnection,
        "events": AccountEventConnectionTypeConnection,
        "applications": AccountApplicationConnectionTypeConnection,
        "accountType": "BUSINESS",
        "businessType": "SOLE_TRADER",
        "business": BusinessType,
        "commsDeliveryPreference": "EMAIL",
        "communicationDeliveryPreference": "abc123",
        "documentAccessibility": "LARGE_PRINT",
        "references": [AccountReferenceType],
        "fileAttachments": [AccountFileAttachment],
        "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
        "maximumRefund": MaximumRefundType,
        "campaigns": [AccountCampaignType],
        "isInHardship": true,
        "activeHardshipAgreements": [HardshipAgreementType],
        "notes": [AccountNoteType],
        "contributionAgreements": [ContributionAgreementType],
        "assistanceAgreements": [AssistanceAgreementType],
        "debtCollectionProceedings": [DebtCollectionProceedingType],
        "createdAt": "2020-01-01T00:00:00.000Z",
        "preferredLanguageForComms": "abc123",
        "consents": ConsentType,
        "reminders": AccountReminderConnectionTypeConnection,
        "complaints": ComplaintConnectionTypeConnection,
        "properties": [Property],
        "marketSupplyAgreements": AgreementConnection,
        "consentData": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
        "paymentSchedule": PaymentScheduleType,
        "paymentInstructions": PaymentInstructionConnectionTypeConnection,
        "paymentPreferences": PaymentPreferenceConnectionTypeConnection,
        "availableDemandResponseCampaignsForRegistration": ["abc123"],
        "demandResponseCampaignParticipants": [DemandResponseCampaignParticipantType],
        "canBeWithdrawn": true,
        "hasActiveAgreement": true,
        "hasFutureAgreement": true,
        "lifelineAgencyApplication": LifelineAgencyApplication
      }
    ]
  }
}

activeAffiliateReferralScheme

Type:ReferralSchemeType

URL:https://api.oejp-kraken.energy/v1/graphql/

Return the current active referral reward scheme of a given affiliate organisation, if any exists.

Arguments

NameDescription

subdomain (String!)

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.oejp-kraken.energy/v1/graphql/

Return the current active signup referral reward scheme with the given code, if any exists.

Query

query ActiveDomesticSignupRewardScheme {
  activeDomesticSignupRewardScheme {
    referralUrl
    referralDisplayUrl
    referrerRewardAmount
    referredRewardAmount
    combinedRewardAmount
    loyaltyPointsBonus
    canBeReferred
    code
    referrerGivenName
    referrerFamilyName
    schemeType
    maxRecurrence
    isUsageAtCapacity
  }
}

Response

{
  "data": {
    "activeDomesticSignupRewardScheme": {
      "referralUrl": "abc123",
      "referralDisplayUrl": "abc123",
      "referrerRewardAmount": 1,
      "referredRewardAmount": 1,
      "combinedRewardAmount": 1,
      "loyaltyPointsBonus": 1,
      "canBeReferred": true,
      "code": "abc123",
      "referrerGivenName": "abc123",
      "referrerFamilyName": "abc123",
      "schemeType": "abc123",
      "maxRecurrence": 1,
      "isUsageAtCapacity": true
    }
  }
}

agreement

Type:Agreement

URL:https://api.oejp-kraken.energy/v1/graphql/

Get an agreement by id.

The possible errors that can be raised are:

  • KT-CT-4922: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

id (ID!)

The agreement id.

Query

query Agreement($id: ID!) {
  agreement(id: $id) {
    id
    validFrom
    validTo
    agreedFrom
    agreedTo
    isRevoked
    addonRates {
      ...AddOnRateTypeFragment
    }
    product {
      ... on ElectricitySingleStepProduct {
        ...ElectricitySingleStepProductFragment
      }
      ... on ElectricitySteppedProduct {
        ...ElectricitySteppedProductFragment
      }
      ... on ElectricityFitProduct {
        ...ElectricityFitProductFragment
      }
      ... on GasTieredProduct {
        ...GasTieredProductFragment
      }
    }
    params
  }
}

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,
      "addonRates": [AddOnRateType],
      "product": ElectricitySingleStepProduct,
      "params": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType
    }
  }
}

availableProductSwitchDates

Type:[Date]

URL:https://api.oejp-kraken.energy/v1/graphql/

Get available dates for product switch.

The possible errors that can be raised are:

  • KT-CT-1501: Agreement not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

agreementId (Int!)

Agreement ID.

maxRange (Int)

The maximum number of days to look for available dates.

Query

query AvailableProductSwitchDates(
  $agreementId: Int!,
  $maxRange: Int
) {
  availableProductSwitchDates(
    agreementId: $agreementId,
    maxRange: $maxRange
  )
}

Variables

{
  "agreementId": 1,
  "maxRange": 1
}

Response

{
  "data": {
    "availableProductSwitchDates": ["2020-01-01"]
  }
}

backendScreen

Type:BackendScreenType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get mobile screen details to render.

The possible errors that can be raised are:

  • KT-CT-8001: No backend screen available.
  • KT-CT-8005: Backend screen does not support parameters.
  • KT-CT-8008: Incorrect or missing data necessary to build the screen.
  • KT-CT-8006: Error applying parameters to backend screen.
  • KT-CT-8009: Error translating screen content.
  • KT-CT-8010: Invalid step ID.
  • KT-CT-8011: Cannot rewind past a previous irreversible step.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

screenId (ID!)

The ID of the screen to return.

params ([BackendScreenParamInputType])

List of key-value pairs (strings) to pass as parameters to the screen.

maxVersionSupported (Int)

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.oejp-kraken.energy/v1/graphql/

Get all registered backend screen event IDs.

Query

query BackendScreenEventIds {
  backendScreenEventIds
}

Response

{
  "data": {
    "backendScreenEventIds": ["abc123"]
  }
}

backendScreenIds

Type:[String]

URL:https://api.oejp-kraken.energy/v1/graphql/

Get all registered backend screen IDs.

Query

query BackendScreenIds {
  backendScreenIds
}

Response

{
  "data": {
    "backendScreenIds": ["abc123"]
  }
}

business

Type:BusinessType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get details about a business.

The possible errors that can be raised are:

  • KT-CT-11101: The viewer is not authorized to execute the query/mutation. Check the ownership/permissions of provided data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

id (ID!)

The business ID.

Query

query Business($id: ID!) {
  business(id: $id) {
    name
    number
    businessType
    details {
      ...BusinessDetailTypeFragment
    }
    billingAddress {
      ...RichAddressTypeFragment
    }
    linkedAccountNumber
    linkedAccountNumbers
    segmentName
    paymentMethods {
      ...PaymentInstructionConnectionTypeConnectionFragment
    }
    kanjiCompanyName
    kanaCompanyName
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "business": {
      "name": "abc123",
      "number": "abc123",
      "businessType": "SOLE_TRADER",
      "details": [BusinessDetailType],
      "billingAddress": RichAddressType,
      "linkedAccountNumber": "abc123",
      "linkedAccountNumbers": "abc123",
      "segmentName": "abc123",
      "paymentMethods": PaymentInstructionConnectionTypeConnection,
      "kanjiCompanyName": "abc123",
      "kanaCompanyName": "abc123"
    }
  }
}

businessAccountReferralRewardScheme

Type:ReferralSchemeType

URL:https://api.oejp-kraken.energy/v1/graphql/

Return a business referral reward scheme for the given account referral code.

Arguments

NameDescription

code (String!)

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.oejp-kraken.energy/v1/graphql/

Get details about an account contract.

The possible errors that can be raised are:

  • KT-CT-10003: Contract not found.
  • KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided.
  • KT-CT-10006: Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

identifier (String)

The identifier of the contract.

accountNumber (String)

The account number to find the business contract for.

version (Int)

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.oejp-kraken.energy/v1/graphql/

Get a call for a given ID.

The possible errors that can be raised are:

  • KT-CT-11802: Call not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

id (ID!)

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
    }
  }
}

Arguments

NameDescription

accountNumber (String!)

The account number.

before (String)

after (String)

first (Int)

last (Int)

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
    }
  }
}

charges

Type:[ChargeType]

URL:https://api.oejp-kraken.energy/v1/graphql/

Charges for the given billing document.

Arguments

NameDescription

accountNumber (String!)

The account number of the account to which the charges belong.

billingDocumentIdentifier (String!)

The identifier of the billing document.

Query

query Charges(
  $accountNumber: String!,
  $billingDocumentIdentifier: String!
) {
  charges(
    accountNumber: $accountNumber,
    billingDocumentIdentifier: $billingDocumentIdentifier
  ) {
    grossAmount
    salesTaxAmount
    lineItems {
      ...LineItemTypeFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "billingDocumentIdentifier": "abc123"
}

Response

{
  "data": {
    "charges": [
      {
        "grossAmount": 1,
        "salesTaxAmount": 1,
        "lineItems": [LineItemType]
      }
    ]
  }
}

complaint

Type:ComplaintType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get a complaint.

The possible errors that can be raised are:

  • KT-CT-12301: Complaint not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

complaintId (Int!)

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"
    }
  }
}

Query

query ContributionSchemes {
  contributionSchemes {
    id
    code
    displayName
    taxable
    acceptingContributions
  }
}

Response

{
  "data": {
    "contributionSchemes": [
      {
        "id": "abc123",
        "code": "abc123",
        "displayName": "abc123",
        "taxable": true,
        "acceptingContributions": true
      }
    ]
  }
}

dashboardScreen

Type:Dashboard

URL:https://api.oejp-kraken.energy/v1/graphql/

Get a dashboard screen to render in the form of a json list of sections containing cards or grouped cards each with an order attribute.

The possible errors that can be raised are:

  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-8001: No backend screen available.
  • KT-CT-8005: Backend screen does not support parameters.
  • KT-CT-8008: Incorrect or missing data necessary to build the screen.
  • KT-CT-8006: Error applying parameters to backend screen.
  • KT-CT-8009: Error translating screen content.
  • KT-CT-8010: Invalid step ID.
  • KT-CT-8011: Cannot rewind past a previous irreversible step.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

dashboardId (ID!)

The ID of the dashboard type screen to return.

accountNumber (String!)

The account number of the user.

maxVersionSupported (Int!)

The maximum version of dahshboard type screens supported by the client.

ledgerId (String)

The ledger id associated to the account.

ledgerNumber (String)

The ledger number associated to the account.

propertyId (String)

The property id associated to the account.

params ([BackendScreenParamInputType])

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

Type:PaymentInstructionType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the default payment instruction for the account's main ledger.

Arguments

NameDescription

accountNumber (String!)

The account number.

instructionType (PaymentType)

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
    cardPaymentNetwork
    cardExpiryMonth
    cardExpiryYear
    lastFourDigitsOfAccountNumber
    maskedAccountIdentifier
    maskedIban
    owners {
      ...PaymentInstructionOwnerTypeFragment
    }
    instructionType
  }
}

Variables

{
  "accountNumber": "abc123",
  "instructionType": "BPAY"
}

Response

{
  "data": {
    "defaultPaymentInstruction": {
      "id": "abc123",
      "status": "abc123",
      "sortCode": "abc123",
      "iban": "abc123",
      "accountHolder": "abc123",
      "cardPaymentNetwork": "abc123",
      "cardExpiryMonth": 1,
      "cardExpiryYear": 1,
      "lastFourDigitsOfAccountNumber": "abc123",
      "maskedAccountIdentifier": "abc123",
      "maskedIban": "abc123",
      "owners": [PaymentInstructionOwnerType],
      "instructionType": "abc123"
    }
  }
}

defaultRawScore

Type:Int

URL:https://api.oejp-kraken.energy/v1/graphql/

Get default raw score for a customer feedback form.

The possible errors that can be raised are:

  • KT-CT-5513: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

formId (Int!)

Query

query DefaultRawScore($formId: Int!) {
  defaultRawScore(formId: $formId)
}

Variables

{
  "formId": 1
}

Response

{
  "data": {
    "defaultRawScore": 1
  }
}

domesticAccountReferralRewardScheme

Type:ReferralSchemeType

URL:https://api.oejp-kraken.energy/v1/graphql/

Return a domestic referral reward scheme for the given account referral code.

Arguments

NameDescription

code (String!)

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.oejp-kraken.energy/v1/graphql/

Return a joining reward scheme with the given code, if it's active. A joining reward can be a signup reward or a promotional reward.

Arguments

NameDescription

code (String!)

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.oejp-kraken.energy/v1/graphql/

Return a signup referral reward scheme with the given code, if it's active.

Arguments

NameDescription

code (String!)

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
    }
  }
}

Arguments

NameDescription

accountNumber (String!)

Provide an account number to look up.

Query

query DunningProcess($accountNumber: String!) {
  dunningProcess(accountNumber: $accountNumber) {
    pathName
    startDate
    status
    createdBy
    createdNote
    withdrawnBy
    concludedAt
    createdAt
    updatedAt
    actions {
      ...DunningActionFragment
    }
    previousStep
    nextStep
    badDebt
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "dunningProcess": {
      "pathName": "abc123",
      "startDate": "2020-01-01",
      "status": "ACTIVE",
      "createdBy": "abc123",
      "createdNote": "abc123",
      "withdrawnBy": "abc123",
      "concludedAt": "2020-01-01T00:00:00.000Z",
      "createdAt": "2020-01-01T00:00:00.000Z",
      "updatedAt": "2020-01-01T00:00:00.000Z",
      "actions": [DunningAction],
      "previousStep": "abc123",
      "nextStep": "abc123",
      "badDebt": 1
    }
  }
}

eligibilityToJoinLoyaltyPointsProgram

Type:LoyaltyPointsProgramEligibilityType

URL:https://api.oejp-kraken.energy/v1/graphql/

Check if an account is eligible to join the loyalty points program.

The possible errors that can be raised are:

  • KT-CT-9202: Loyalty Points adapter not configured.
  • KT-CT-9218: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (LoyaltyPointsProgramEligibilityInput!)

Query

query EligibilityToJoinLoyaltyPointsProgram($input: LoyaltyPointsProgramEligibilityInput!) {
  eligibilityToJoinLoyaltyPointsProgram(input: $input) {
    isEligible
    primaryIneligibilityReason
  }
}

Response

{
  "data": {
    "eligibilityToJoinLoyaltyPointsProgram": {
      "isEligible": true,
      "primaryIneligibilityReason": "abc123"
    }
  }
}

Arguments

NameDescription

id (ID!)

Query

query EmbeddedNetwork($id: ID!) {
  embeddedNetwork(id: $id) {
    id
    name
    embeddedProperties {
      ...EmbeddedPropertyTypeFragment
    }
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "embeddedNetwork": {
      "id": "abc123",
      "name": "abc123",
      "embeddedProperties": [EmbeddedPropertyType]
    }
  }
}

Query

query EnergyMixData {
  energyMixData {
    carbonIntensityIndex
  }
}

Response

{
  "data": {
    "energyMixData": {
      "carbonIntensityIndex": "abc123"
    }
  }
}

Arguments

NameDescription

marketName (String!)

Market name of the products to list.

productType ([String])

Types of the products to filter by.

code ([String])

Code of the products to filter by.

before (String)

after (String)

first (Int)

last (Int)

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
    }
  }
}

Arguments

NameDescription

accountNumber (String!)

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.oejp-kraken.energy/v1/graphql/

List quotes given an account number or retrieve a Goods quote given a quote code.

Arguments

NameDescription

accountNumber (String)

The account number.

quoteCode (String)

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.oejp-kraken.energy/v1/graphql/

Get the Ink conversation for a given account.

The possible errors that can be raised are:

  • KT-CT-7612: The Ink conversation was not found.
  • KT-CT-4177: Unauthorized.
  • KT-CT-7610: No Ink conversation for account.
  • KT-CT-7617: Must supply account number or relay id to get a conversation.
  • KT-CT-7638: Invalid conversation ID.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String)

The account number.

conversationRelayId (String)

The conversation's relay id.

Query

query InkConversation(
  $accountNumber: String,
  $conversationRelayId: String
) {
  inkConversation(
    accountNumber: $accountNumber,
    conversationRelayId: $conversationRelayId
  ) {
    id
    status
    contactChannelIdentities {
      ...InkContactChannelIdentitiesFragment
    }
    accountUsers {
      ...AccountUserFragment
    }
    events {
      ...InkConversationEventsConnectionFragment
    }
    buckets {
      ...InkBucketFragment
    }
  }
}

Variables

{
  "accountNumber": "abc123",
  "conversationRelayId": "abc123"
}

Response

{
  "data": {
    "inkConversation": {
      "id": "abc123",
      "status": "OPEN",
      "contactChannelIdentities": InkContactChannelIdentities,
      "accountUsers": [AccountUser],
      "events": InkConversationEventsConnection,
      "buckets": [InkBucket]
    }
  }
}

inkMessage

Type:InkMessage!

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the content for a given message.

The possible errors that can be raised are:

  • KT-CT-7611: The message was not found.
  • KT-CT-7638: Invalid conversation ID.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

messageRelayId (String!)

The message's relay id.

Query

query InkMessage($messageRelayId: String!) {
  inkMessage(messageRelayId: $messageRelayId) {
    ... on InkEmail {
      ...InkEmailFragment
    }
    ... on InkSMS {
      ...InkSMSFragment
    }
    ... on InkLine {
      ...InkLineFragment
    }
    ... on InkWhatsApp {
      ...InkWhatsAppFragment
    }
    ... on InkTwilioWhatsApp {
      ...InkTwilioWhatsAppFragment
    }
    ... on InkPost {
      ...InkPostFragment
    }
    ... on InkGenericMessage {
      ...InkGenericMessageFragment
    }
  }
}

Variables

{
  "messageRelayId": "abc123"
}

Response

{
  "data": {
    "inkMessage": InkEmail
  }
}

Query

query Integrations {
  integrations {
    ... on Integration {
      ...IntegrationFragment
    }
    ... on LineIntegration {
      ...LineIntegrationFragment
    }
  }
}

Response

{
  "data": {
    "integrations": Integration
  }
}

isPasswordResetTokenValid

Type:Boolean

URL:https://api.oejp-kraken.energy/v1/graphql/

Check validity of a password reset token.

Arguments

NameDescription

userId (String!)

Base64 encoded user id.

token (String!)

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
  }
}

Query

query KrakenVersion {
  krakenVersion {
    number
    SHA
  }
}

Response

{
  "data": {
    "krakenVersion": {
      "number": "abc123",
      "SHA": "abc123"
    }
  }
}

Type:LatestKonbiniPaymentURL

URL:https://api.oejp-kraken.energy/v1/graphql/

The url for the Stripe payment voucher of the latest Konbini payment on this account.

Arguments

NameDescription

accountNumber (String!)

Provide an account number to look up.

Query

query LatestKonbiniPaymentLink($accountNumber: String!) {
  latestKonbiniPaymentLink(accountNumber: $accountNumber) {
    url
    paymentDate
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "latestKonbiniPaymentLink": {
      "url": "abc123",
      "paymentDate": "2020-01-01"
    }
  }
}

leadBlocklistValidations

Type:LeadBlockListValidationOutput

URL:https://api.oejp-kraken.energy/v1/graphql/

Override Field to add additional attributes and extend description with possible_errors

Arguments

NameDescription

blockListEntries (LeadBlockListValidationInput)

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

Type:LeaveSupplierProcessType

URL:https://api.oejp-kraken.energy/v1/graphql/

Details associated with a LeaveSupplier process.

The possible errors that can be raised are:

  • KT-CT-10302: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

leaveSupplierProcessId (ID!)

The leave supplier process ID.

Query

query LeaveSupplierProcess($leaveSupplierProcessId: ID!) {
  leaveSupplierProcess(leaveSupplierProcessId: $leaveSupplierProcessId) {
    id
    status
    supplyPoints {
      ...SupplyPointConnectionTypeConnectionFragment
    }
    processData {
      ...LeaveSupplierProcessDataFragment
    }
  }
}

Variables

{
  "leaveSupplierProcessId": "abc123"
}

Response

{
  "data": {
    "leaveSupplierProcess": {
      "id": "abc123",
      "status": "PENDING",
      "supplyPoints": SupplyPointConnectionTypeConnection,
      "processData": LeaveSupplierProcessData
    }
  }
}

lifecycleProcesses

Type:LifecycleProcessesType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get all lifecycle processes associated with an account.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

onlyActive (Boolean)

A flag to filter out only active/current processes.

sortOrder (LifecycleProcessesSortOrder)

The chronological order in which the lifecycle processes are sorted.

accountNumber (String!)

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.oejp-kraken.energy/v1/graphql/

Get payment adequacy data with an up to date calculation.

The possible errors that can be raised are:

  • KT-CT-3963: Could not calculate live PA data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

ledgerNumber (String!)

Kraken ledger number.

Query

query LivePaymentAdequacyCalculation($ledgerNumber: String!) {
  livePaymentAdequacyCalculation(ledgerNumber: $ledgerNumber) {
    suggestedNewMonthlyAmount
    consumption {
      ...ConsumptionBreakdownConnectionTypeConnectionFragment
    }
    averageMonthlyCharge
    existingMonthlyAmount
    balanceAdjustment
    currentBalance
    targetBalance
    reviewedOn
  }
}

Variables

{
  "ledgerNumber": "abc123"
}

Response

{
  "data": {
    "livePaymentAdequacyCalculation": {
      "suggestedNewMonthlyAmount": 1,
      "consumption": ConsumptionBreakdownConnectionTypeConnection,
      "averageMonthlyCharge": 1,
      "existingMonthlyAmount": 1,
      "balanceAdjustment": 1,
      "currentBalance": 1,
      "targetBalance": 1,
      "reviewedOn": "2020-01-01"
    }
  }
}

loyaltyPointLedgers

Type:[LoyaltyPointLedgerEntryType]

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the Loyalty Point ledger entries for the passed user.

Query

query LoyaltyPointLedgers {
  loyaltyPointLedgers {
    id
    ledgerType
    value
    balanceBroughtForward
    balanceCarriedForward
    reasonCode
    postedAt
    accountNumber
  }
}

Response

{
  "data": {
    "loyaltyPointLedgers": [
      {
        "id": "abc123",
        "ledgerType": "abc123",
        "value": "abc123",
        "balanceBroughtForward": "abc123",
        "balanceCarriedForward": "abc123",
        "reasonCode": "abc123",
        "postedAt": "2020-01-01T00:00:00.000Z",
        "accountNumber": "abc123"
      }
    ]
  }
}

loyaltyPointsBalance

Type:AccountLoyaltyPointsType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the loyalty points balance for an account.

The possible errors that can be raised are:

  • KT-CT-9218: Unauthorized.
  • KT-CT-9217: Unauthorized.
  • KT-CT-9215: Loyalty points balance query disabled.
  • KT-CT-9216: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

accountNumber (String!)

The account number.

Query

query LoyaltyPointsBalance($accountNumber: String!) {
  loyaltyPointsBalance(accountNumber: $accountNumber) {
    loyaltyPoints
    totalMonetaryAmount
  }
}

Variables

{
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "loyaltyPointsBalance": {
      "loyaltyPoints": 1,
      "totalMonetaryAmount": 1
    }
  }
}

Arguments

NameDescription

linkedObjectType (LinkedObjectType)

identifier (String!)

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.oejp-kraken.energy/v1/graphql/

Metadata for a linked object with key.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4124: Unauthorized.
  • KT-CT-8411: Invalid data.
  • KT-CT-4179: No metadata found with given key.
  • KT-CT-4155: Invalid data.
  • KT-CT-4177: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

linkedObjectType (LinkedObjectType)

identifier (String!)

key (String!)

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"}
    }
  }
}

Arguments

NameDescription

id (ID!)

The ID of the object

Query

query Node($id: ID!) {
  node(id: $id) {
    id
  }
}

Variables

{
  "id": "abc123"
}

Response

{
  "data": {
    "node": {
      "id": "abc123"
    }
  }
}

opportunityByNumber

Type:OpportunityOutput

URL:https://api.oejp-kraken.energy/v1/graphql/

Override Field to add additional attributes and extend description with possible_errors

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

number (String)

Opportunity number identifier.

Query

query OpportunityByNumber($number: String) {
  opportunityByNumber(number: $number) {
    opportunityId
    name
    email
    phoneNumber
    number
    stage
    extraDetails
  }
}

Variables

{
  "number": "abc123"
}

Response

{
  "data": {
    "opportunityByNumber": {
      "opportunityId": "abc123",
      "name": "abc123",
      "email": "abc123",
      "phoneNumber": "abc123",
      "number": "abc123",
      "stage": "abc123",
      "extraDetails": {"key": "value"}
    }
  }
}

opportunityValueByKey

Type:String

URL:https://api.oejp-kraken.energy/v1/graphql/

Override Field to add additional attributes and extend description with possible_errors

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

opportunityId (ID)

The identifier of the opportunity to query.

key (String)

The key the a funnel-specific value you wish to obtain.

Query

query OpportunityValueByKey(
  $opportunityId: ID,
  $key: String
) {
  opportunityValueByKey(
    opportunityId: $opportunityId,
    key: $key
  )
}

Variables

{
  "opportunityId": "abc123",
  "key": "abc123"
}

Response

{
  "data": {
    "opportunityValueByKey": "abc123"
  }
}

passwordValidatorHelpTexts

Type:[String]

URL:https://api.oejp-kraken.energy/v1/graphql/

The help text of all configured password validators as plain-text or html. Defaults to plain-text.

Arguments

NameDescription

asHtml (Boolean)

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.oejp-kraken.energy/v1/graphql/

Get all payment requests for the given ledger.

Arguments

NameDescription

ledgerNumber (String!)

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.oejp-kraken.energy/v1/graphql/

Get details about a portfolio.

The possible errors that can be raised are:

  • KT-CT-9403: Received an invalid portfolioId.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

portfolioNumber (String!)

Portfolio number to be retrieved.

Query

query Portfolio($portfolioNumber: String!) {
  portfolio(portfolioNumber: $portfolioNumber) {
    id
    number
    createdAt
    updatedAt
    billingName
    collectiveBilling
    operationsTeam {
      ...OperationsTeamTypeFragment
    }
    leadAccountNumber
    brand
    name
    depth
    parent {
      ...PortfolioTypeFragment
    }
    ancestors {
      ...PortfolioConnectionTypeConnectionFragment
    }
    descendants {
      ...PortfolioConnectionTypeConnectionFragment
    }
    accounts {
      ...AccountConnectionTypeConnectionFragment
    }
  }
}

Variables

{
  "portfolioNumber": "abc123"
}

Response

{
  "data": {
    "portfolio": {
      "id": "abc123",
      "number": "abc123",
      "createdAt": "2020-01-01T00:00:00.000Z",
      "updatedAt": "2020-01-01T00:00:00.000Z",
      "billingName": "abc123",
      "collectiveBilling": true,
      "operationsTeam": OperationsTeamType,
      "leadAccountNumber": "abc123",
      "brand": "abc123",
      "name": "abc123",
      "depth": 1,
      "parent": PortfolioType,
      "ancestors": PortfolioConnectionTypeConnection,
      "descendants": PortfolioConnectionTypeConnection,
      "accounts": AccountConnectionTypeConnection
    }
  }
}

possibleErrors

Type:PossibleErrorsOutputType

URL:https://api.oejp-kraken.energy/v1/graphql/

Possible errors of the requested query/mutation.

The possible errors that can be raised are:

  • KT-CT-1606: Query/Mutation not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

input (PossibleErrorsInputType!)

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

Response

{
  "data": {
    "possibleErrors": {
      "name": "abc123",
      "type": "query",
      "authErrors": true,
      "possibleErrors": [PossibleErrorType]
    }
  }
}

postalAreas

Type:[PostalArea]!

URL:https://api.oejp-kraken.energy/v1/graphql/

Override Field to add additional attributes and extend description with possible_errors

The possible errors that can be raised are:

  • KT-JP-4601: Postcode invalid.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

postcode (String!)

Query

query PostalAreas($postcode: String!) {
  postalAreas(postcode: $postcode) {
    postcode
    prefecture
    city
    area
  }
}

Variables

{
  "postcode": "abc123"
}

Response

{
  "data": {
    "postalAreas": {
      "postcode": "abc123",
      "prefecture": "abc123",
      "city": "abc123",
      "area": "abc123"
    }
  }
}

productEligibleStatus

Type:ProductEligibleStatus

URL:https://api.oejp-kraken.energy/v1/graphql/

Retrieve the context for switching to the product with fixed fuel cost adjustment.

Arguments

NameDescription

spin (String!)

Supply Point Identification Number.

accountNumber (String!)

A code that uniquely identifies the account.

productCode (String!)

A code that uniquely identifies the product.

Query

query ProductEligibleStatus(
  $spin: String!,
  $accountNumber: String!,
  $productCode: String!
) {
  productEligibleStatus(
    spin: $spin,
    accountNumber: $accountNumber,
    productCode: $productCode
  ) {
    isUserEligible
    isCampaignAvailable
    isUserOptedIn
  }
}

Variables

{
  "spin": "abc123",
  "accountNumber": "abc123",
  "productCode": "abc123"
}

Response

{
  "data": {
    "productEligibleStatus": {
      "isUserEligible": true,
      "isCampaignAvailable": true,
      "isUserOptedIn": true
    }
  }
}

propertiesSearch

Type:[PropertySearchResult!]!

URL:https://api.oejp-kraken.energy/v1/graphql/

Search for properties that are already in Kraken and match the search term.

Arguments

NameDescription

searchTerm (String!)

The search term. It can be an address or a meter point identifier.

Query

query PropertiesSearch($searchTerm: String!) {
  propertiesSearch(searchTerm: $searchTerm) {
    score
    property {
      ...PropertyFragment
    }
  }
}

Variables

{
  "searchTerm": "abc123"
}

Response

{
  "data": {
    "propertiesSearch": {
      "score": 1.0,
      "property": Property
    }
  }
}

property

Type:Property

URL:https://api.oejp-kraken.energy/v1/graphql/

A property with the given ID. Usually associated with supply points.

Arguments

NameDescription

id (ID!)

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
    }
    electricityGenerationPoints {
      ...ElectricityGenerationPointFragment
    }
    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],
      "electricityGenerationPoints": [ElectricityGenerationPoint],
      "gasSupplyPoints": [GasSupplyPoint]
    }
  }
}

propertySearch

Type:[Property]

URL:https://api.oejp-kraken.energy/v1/graphql/

Search for properties that are already in Kraken and match the search term.

Deprecated

The 'propertySearch' field is deprecated.

This query is being deprecated in favour of `propertiesSearch`. The latter returns not only the matched properties but the level of confidence in the results through the `score` field.

- Marked as deprecated on 2023-05-23.
- Scheduled for removal on or after 2024-01-01.

Arguments

NameDescription

searchTerm (String!)

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
    }
    electricityGenerationPoints {
      ...ElectricityGenerationPointFragment
    }
    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],
        "electricityGenerationPoints": [ElectricityGenerationPoint],
        "gasSupplyPoints": [GasSupplyPoint]
      }
    ]
  }
}

question

Type:String

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the customer feedback survey question.

The possible errors that can be raised are:

  • KT-CT-5513: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

formId (Int!)

Query

query Question($formId: Int!) {
  question(formId: $formId)
}

Variables

{
  "formId": 1
}

Response

{
  "data": {
    "question": "abc123"
  }
}

Arguments

NameDescription

code (String!)

The code for the quote.

Query

query QuoteRequest($code: String!) {
  quoteRequest(code: $code) {
    params {
      ...QuoteRequestParamsFragment
    }
    code
    quotedSupplyPoints {
      ... on QuotedElectricitySupplyPoint {
        ...QuotedElectricitySupplyPointFragment
      }
      ... on QuotedElectricityGenerationPoint {
        ...QuotedElectricityGenerationPointFragment
      }
    }
    quotedGenerationPoints {
      ... on QuotedElectricitySupplyPoint {
        ...QuotedElectricitySupplyPointFragment
      }
      ... on QuotedElectricityGenerationPoint {
        ...QuotedElectricityGenerationPointFragment
      }
    }
  }
}

Variables

{
  "code": "abc123"
}

Response

{
  "data": {
    "quoteRequest": {
      "params": QuoteRequestParams,
      "code": "abc123",
      "quotedSupplyPoints": QuotedElectricitySupplyPoint,
      "quotedGenerationPoints": QuotedElectricitySupplyPoint
    }
  }
}

rateLimitInfo

Type:CombinedRateLimitInformation

URL:https://api.oejp-kraken.energy/v1/graphql/

Combined information about points-allowance rate limiting and request-specific rate limiting.

Query

query RateLimitInfo {
  rateLimitInfo {
    pointsAllowanceRateLimit {
      ...PointsAllowanceRateLimitInformationFragment
    }
    fieldSpecificRateLimits {
      ...FieldSpecificRateLimitInformationConnectionTypeConnectionFragment
    }
  }
}

Response

{
  "data": {
    "rateLimitInfo": {
      "pointsAllowanceRateLimit": PointsAllowanceRateLimitInformation,
      "fieldSpecificRateLimits": FieldSpecificRateLimitInformationConnectionTypeConnection
    }
  }
}

retailers

Type:[Retailer]

URL:https://api.oejp-kraken.energy/v1/graphql/

All the active energy retailers in Japan.

Query

query Retailers {
  retailers {
    code
    name
    displayName
    displayOrder
    params {
      ...RetailerParamsFragment
    }
  }
}

Response

{
  "data": {
    "retailers": [
      {
        "code": "abc123",
        "name": "abc123",
        "displayName": "abc123",
        "displayOrder": 1,
        "params": RetailerParams
      }
    ]
  }
}

supplyPoint

Type:SupplyPointType

URL:https://api.oejp-kraken.energy/v1/graphql/

Get a supply point by its market specific id.

Arguments

NameDescription

externalIdentifier (String!)

The market specific supply point id.

marketName (String!)

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
    property {
      ...PropertyFragment
    }
    readings {
      ...ReadingsConnectionFragment
    }
  }
}

Variables

{
  "externalIdentifier": "abc123",
  "marketName": "abc123"
}

Response

{
  "data": {
    "supplyPoint": {
      "id": "abc123",
      "marketName": "abc123",
      "externalIdentifier": "abc123",
      "property": Property,
      "readings": ReadingsConnection
    }
  }
}

Arguments

NameDescription

accountNumber (String)

Filter meter points by account.

portfolioNumber (String)

Filter meter points by portfolio.

before (String)

after (String)

first (Int)

last (Int)

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
    }
  }
}

tariffSummary

Type:[TariffSummary!]

URL:https://api.oejp-kraken.energy/v1/graphql/

Retrieve a summary of available tariffs.

Arguments

NameDescription

gridOperatorCode (String!)

The grid operator code to get tariffs for.

productCode (String)

The product code to get the tariff for.

Query

query TariffSummary(
  $gridOperatorCode: String!,
  $productCode: String
) {
  tariffSummary(
    gridOperatorCode: $gridOperatorCode,
    productCode: $productCode
  ) {
    code
    displayName
    gridOperatorCode
    productParams
    tiers {
      ...TariffTierFragment
    }
  }
}

Variables

{
  "gridOperatorCode": "abc123",
  "productCode": "abc123"
}

Response

{
  "data": {
    "tariffSummary": [
      {
        "code": "abc123",
        "displayName": "abc123",
        "gridOperatorCode": "abc123",
        "productParams": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
        "tiers": TariffTier
      }
    ]
  }
}

taskResult

Type:TaskResult

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the status of a background task.

The possible errors that can be raised are:

  • KT-CT-10401: Task not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

NameDescription

taskId (String!)

accountNumber (String!)

Query

query TaskResult(
  $taskId: String!,
  $accountNumber: String!
) {
  taskResult(
    taskId: $taskId,
    accountNumber: $accountNumber
  ) {
    status
    result
    error
  }
}

Variables

{
  "taskId": "abc123",
  "accountNumber": "abc123"
}

Response

{
  "data": {
    "taskResult": {
      "status": "STARTED",
      "result": {"key": "value"},
      "error": "abc123"
    }
  }
}

termsAndConditionsForProduct

Type:[TermsAndConditionsType]

URL:https://api.oejp-kraken.energy/v1/graphql/

Get the active terms and conditions for a market supply product.

Arguments

NameDescription

productCode (String!)

The product code of the market supply product.

Query

query TermsAndConditionsForProduct($productCode: String!) {
  termsAndConditionsForProduct(productCode: $productCode) {
    name
    pdfUrl
    brandCode
    markdown
    html
    version
    effectiveFrom
  }
}

Variables

{
  "productCode": "abc123"
}

Response

{
  "data": {
    "termsAndConditionsForProduct": [
      {
        "name": "abc123",
        "pdfUrl": "abc123",
        "brandCode": "abc123",
        "markdown": "abc123",
        "html": "abc123",
        "version": "abc123",
        "effectiveFrom": "2020-01-01T00:00:00.000Z"
      }
    ]
  }
}

termsandconditions

Type:OEJPTermsAndConditionsType

URL:https://api.oejp-kraken.energy/v1/graphql/

Returns the Terms and conditions based on the code and version

Arguments

NameDescription

brandCode (String)

versionMajor (Int)

versionMinor (Int)

Query

query Termsandconditions(
  $brandCode: String,
  $versionMajor: Int,
  $versionMinor: Int
) {
  termsandconditions(
    brandCode: $brandCode,
    versionMajor: $versionMajor,
    versionMinor: $versionMinor
  ) {
    text
    createdAt
    name
    pdfUrl
    brandCode
    markdown
    html
    version
    effectiveFrom
  }
}

Variables

{
  "brandCode": "abc123",
  "versionMajor": 1,
  "versionMinor": 1
}

Response

{
  "data": {
    "termsandconditions": {
      "text": "abc123",
      "createdAt": "2020-01-01T00:00:00.000Z",
      "name": "abc123",
      "pdfUrl": "abc123",
      "brandCode": "abc123",
      "markdown": "abc123",
      "html": "abc123",
      "version": "abc123",
      "effectiveFrom": "2020-01-01T00:00:00.000Z"
    }
  }
}

typicalConsumptionByHalfHourInterval

Type:[Decimal]!

URL:https://api.oejp-kraken.energy/v1/graphql/

Typical consumption by half-hour interval for a given grid operator code, month, and product code.

Arguments

NameDescription

gridOperatorCode (String!)

Grid operator code.

month (Int!)

Month index, starting from 1. January = 1, ..., December = 12.

productCode (String!)

Product code.

Query

query TypicalConsumptionByHalfHourInterval(
  $gridOperatorCode: String!,
  $month: Int!,
  $productCode: String!
) {
  typicalConsumptionByHalfHourInterval(
    gridOperatorCode: $gridOperatorCode,
    month: $month,
    productCode: $productCode
  )
}

Variables

{
  "gridOperatorCode": "abc123",
  "month": 1,
  "productCode": "abc123"
}

Response

{
  "data": {
    "typicalConsumptionByHalfHourInterval": 1.0
  }
}

viewer

Type:AccountUser

URL:https://api.oejp-kraken.energy/v1/graphql/

The currently authenticated user.

This field requires the Authorization header to be set.

Query

query Viewer {
  viewer {
    id
    number
    accounts {
      ...AccountInterfaceFragment
    }
    givenName
    familyName
    email
    mobile
    landline
    title
    pronouns
    isDeceased
    liveSecretKey
    portfolios {
      ...PortfolioConnectionTypeConnectionFragment
    }
    dateOfBirth
    details {
      ...AccountUserDetailTypeFragment
    }
    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",
      "portfolios": PortfolioConnectionTypeConnection,
      "dateOfBirth": "2020-01-01",
      "details": [AccountUserDetailType],
      "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
    }
  }
}

Authentication Server

authorizedApplications

Type:[AuthorizedApplication]

URL:https://auth.oejp-kraken.energy/graphql/

Get all the confidential-client applications the current user has authorized.

Query

query AuthorizedApplications {
  authorizedApplications {
    name
    clientId
  }
}

Response

{
  "data": {
    "authorizedApplications": [
      {
        "name": "abc123",
        "clientId": "abc123"
      }
    ]
  }
}

Query

query KrakenVersion {
  krakenVersion {
    number
    SHA
  }
}

Response

{
  "data": {
    "krakenVersion": {
      "number": "abc123",
      "SHA": "abc123"
    }
  }
}

mfaDevices

Type:[MfaDevice]

URL:https://auth.oejp-kraken.energy/graphql/

Get all MFA devices for the current user.

Query

query MfaDevices {
  mfaDevices {
    deviceType
    isConfirmed
  }
}

Response

{
  "data": {
    "mfaDevices": [
      {
        "deviceType": "abc123",
        "isConfirmed": true
      }
    ]
  }
}