About Queries
Every GraphQL schema has a root type for both queries and mutations. The query type defines GraphQL operations that retrieve data from the server.
API Site
account
Type:AccountType
URL:https://api.st.kraken.tech/v1/graphql/
Get details about an account.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Query
query Account($accountNumber: String!) {
account(accountNumber: $accountNumber) {
id
number
status
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
users {
...AccountUserTypeFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
bill {
...BillInterfaceFragment
}
directDebitInstructions {
...DirectDebitInstructionConnectionTypeConnectionFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
events {
...AccountEventConnectionTypeConnectionFragment
}
applications {
...AccountApplicationConnectionTypeConnectionFragment
}
accountType
businessType
business {
...BusinessTypeFragment
}
commsDeliveryPreference
communicationDeliveryPreference
documentAccessibility
references {
...AccountReferenceTypeFragment
}
fileAttachments {
...AccountFileAttachmentFragment
}
paginatedFileAttachments {
...AccountFileAttachmentConnectionTypeConnectionFragment
}
maximumRefund {
...MaximumRefundTypeFragment
}
campaigns {
...AccountCampaignTypeFragment
}
isInHardship
activeHardshipAgreements {
...HardshipAgreementTypeFragment
}
notes {
...AccountNoteTypeFragment
}
contributionAgreements {
...ContributionAgreementTypeFragment
}
assistanceAgreements {
...AssistanceAgreementTypeFragment
}
debtCollectionProceedings {
...DebtCollectionProceedingTypeFragment
}
createdAt
preferredLanguageForComms
consents {
...ConsentTypeFragment
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
agreements {
...AgreementConnectionTypeConnectionFragment
}
isLatestPaymentScheduleFromAnnualBilling
isMeasured
hasActiveDunningProcess
hasActiveDebtCollectionProceeding
hasActiveSocialAgreement
hasActiveWatersureAgreement
hasActiveAssessedAgreement
hasCompletedUpcomingAnnualBilling
potentialSwitchToMeasured {
...PotentialTariffSwitchTypeFragment
}
isOnPccDunningJourney
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"account": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"notes": [AccountNoteType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"debtCollectionProceedings": [DebtCollectionProceedingType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"complaints": ComplaintConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"agreements": AgreementConnectionTypeConnection,
"isLatestPaymentScheduleFromAnnualBilling": true,
"isMeasured": true,
"hasActiveDunningProcess": true,
"hasActiveDebtCollectionProceeding": true,
"hasActiveSocialAgreement": true,
"hasActiveWatersureAgreement": true,
"hasActiveAssessedAgreement": true,
"hasCompletedUpcomingAnnualBilling": true,
"potentialSwitchToMeasured": PotentialTariffSwitchType,
"isOnPccDunningJourney": true
}
}
}
accountChargeReasons
Type:[ChargeReasonType]
URL:https://api.st.kraken.tech/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.st.kraken.tech/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 AccountType {
...AccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}
Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}
Response
{
"data": {
"accountContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": AccountType,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}
}
}
accountCreditReasons
Type:[CreditReasonType]
URL:https://api.st.kraken.tech/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
URL:https://api.st.kraken.tech/v1/graphql/
List of matching account references.
The possible errors that can be raised are:
- KT-CT-8310: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
|
Query
query AccountReference($value: String) {
accountReference(value: $value) {
namespace
value
createdAt
updatedAt
account {
...AccountTypeFragment
}
}
}
Variables
{
"value": "abc123"
}
Response
{
"data": {
"accountReference": [
{
"namespace": "abc123",
"value": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"account": AccountType
}
]
}
}
accountUser
Type:AccountUserType
URL:https://api.st.kraken.tech/v1/graphql/
Get account user by ID or unique and non-encrypted detail. If both ID and detail are provided, ID is used.
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-CT-5416: Account user detail namespace is invalid.
- KT-CT-5417: Search could not find a unique account user.
- KT-GB-5417: Invalid input data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The ID of the account user. |
| The unique detail. |
Query
query AccountUser(
$id: ID,
$detail: StringKeyValueInput
) {
accountUser(
id: $id,
detail: $detail
) {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
displayName
firstName
lastName
fullName
preferredName
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
hasSetPassword
commsPreferences {
...AccountUserCommsPreferencesTypeFragment
}
isPsrRenewalDue
hasRestrictedAccess
}
}
Variables
{
"id": "abc123",
"detail": StringKeyValueInput
}
Response
{
"data": {
"accountUser": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"hasSetPassword": true,
"commsPreferences": AccountUserCommsPreferencesType,
"isPsrRenewalDue": true,
"hasRestrictedAccess": true
}
}
}
accountUserByUniqueDetailValue
Type:AccountUserType
URL:https://api.st.kraken.tech/v1/graphql/
Search account user by unique and non-encrypted detail.
This field requires the Authorization
header to be set.
The possible errors that can be raised are:
- KT-CT-5416: Account user detail namespace is invalid.
- KT-CT-5417: Search could not find a unique account user.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'accountUserByUniqueDetailValue' field is deprecated.
Please use `accountUser` query instead.
- Marked as deprecated on 2025-02-05.
- Scheduled for removal on or after 2025-06-01.
Arguments
Name | Description |
---|---|
| The unique detail namespace. |
| Value searched for in the given namespace. |
Query
query AccountUserByUniqueDetailValue(
$namespace: String!,
$value: String!
) {
accountUserByUniqueDetailValue(
namespace: $namespace,
value: $value
) {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
displayName
firstName
lastName
fullName
preferredName
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
hasSetPassword
commsPreferences {
...AccountUserCommsPreferencesTypeFragment
}
isPsrRenewalDue
hasRestrictedAccess
}
}
Variables
{
"namespace": "abc123",
"value": "abc123"
}
Response
{
"data": {
"accountUserByUniqueDetailValue": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"hasSetPassword": true,
"commsPreferences": AccountUserCommsPreferencesType,
"isPsrRenewalDue": true,
"hasRestrictedAccess": true
}
}
}
accounts
Type:[AccountType]
URL:https://api.st.kraken.tech/v1/graphql/
Get details about multiple accounts.
Arguments
Name | Description |
---|---|
| A phone number to find accounts associated with. |
| A portfolio number to find accounts associated with. |
Query
query Accounts(
$phoneNumber: String,
$portfolioNumber: String
) {
accounts(
phoneNumber: $phoneNumber,
portfolioNumber: $portfolioNumber
) {
id
number
status
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
users {
...AccountUserTypeFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
bill {
...BillInterfaceFragment
}
directDebitInstructions {
...DirectDebitInstructionConnectionTypeConnectionFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
events {
...AccountEventConnectionTypeConnectionFragment
}
applications {
...AccountApplicationConnectionTypeConnectionFragment
}
accountType
businessType
business {
...BusinessTypeFragment
}
commsDeliveryPreference
communicationDeliveryPreference
documentAccessibility
references {
...AccountReferenceTypeFragment
}
fileAttachments {
...AccountFileAttachmentFragment
}
paginatedFileAttachments {
...AccountFileAttachmentConnectionTypeConnectionFragment
}
maximumRefund {
...MaximumRefundTypeFragment
}
campaigns {
...AccountCampaignTypeFragment
}
isInHardship
activeHardshipAgreements {
...HardshipAgreementTypeFragment
}
notes {
...AccountNoteTypeFragment
}
contributionAgreements {
...ContributionAgreementTypeFragment
}
assistanceAgreements {
...AssistanceAgreementTypeFragment
}
debtCollectionProceedings {
...DebtCollectionProceedingTypeFragment
}
createdAt
preferredLanguageForComms
consents {
...ConsentTypeFragment
}
reminders {
...AccountReminderConnectionTypeConnectionFragment
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
agreements {
...AgreementConnectionTypeConnectionFragment
}
isLatestPaymentScheduleFromAnnualBilling
isMeasured
hasActiveDunningProcess
hasActiveDebtCollectionProceeding
hasActiveSocialAgreement
hasActiveWatersureAgreement
hasActiveAssessedAgreement
hasCompletedUpcomingAnnualBilling
potentialSwitchToMeasured {
...PotentialTariffSwitchTypeFragment
}
isOnPccDunningJourney
}
}
Variables
{
"phoneNumber": "abc123",
"portfolioNumber": "abc123"
}
Response
{
"data": {
"accounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"users": AccountUserType,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"notes": [AccountNoteType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"debtCollectionProceedings": [DebtCollectionProceedingType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"complaints": ComplaintConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"agreements": AgreementConnectionTypeConnection,
"isLatestPaymentScheduleFromAnnualBilling": true,
"isMeasured": true,
"hasActiveDunningProcess": true,
"hasActiveDebtCollectionProceeding": true,
"hasActiveSocialAgreement": true,
"hasActiveWatersureAgreement": true,
"hasActiveAssessedAgreement": true,
"hasCompletedUpcomingAnnualBilling": true,
"potentialSwitchToMeasured": PotentialTariffSwitchType,
"isOnPccDunningJourney": true
}
]
}
}
activeAffiliateReferralScheme
Type:ReferralSchemeType
URL:https://api.st.kraken.tech/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.st.kraken.tech/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
}
}
}
availableProductSwitchDates
Type:[Date]
URL:https://api.st.kraken.tech/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"]
}
}
availableServiceOrderAppointments
Type:ServiceOrderAppointmentType!
URL:https://api.st.kraken.tech/v1/graphql/
Available appointment slots for service order.
Arguments
Name | Description |
---|---|
| The property id. |
| |
| Additional notes. |
| Start time of available appointment slots. |
| End time of available appointment slots. |
Query
query AvailableServiceOrderAppointments(
$propertyId: ID!,
$jobName: ServiceOrderJourney!,
$notes: String,
$startAt: DateTime,
$endAt: DateTime
) {
availableServiceOrderAppointments(
propertyId: $propertyId,
jobName: $jobName,
notes: $notes,
startAt: $startAt,
endAt: $endAt
) {
vendorReference
availableTimeslots {
...AppointmentSlotConnectionTypeConnectionFragment
}
}
}
Variables
{
"propertyId": "abc123",
"jobName": "APPLY_FOR_METER",
"notes": "abc123",
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z"
}
Response
{
"data": {
"availableServiceOrderAppointments": {
"vendorReference": "abc123",
"availableTimeslots": AppointmentSlotConnectionTypeConnection
}
}
}
backendScreen
Type:BackendScreenType
URL:https://api.st.kraken.tech/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.st.kraken.tech/v1/graphql/
Get all registered backend screen event IDs.
Query
query BackendScreenEventIds {
backendScreenEventIds
}
Response
{
"data": {
"backendScreenEventIds": ["abc123"]
}
}
backendScreenIds
Type:[String]
URL:https://api.st.kraken.tech/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}
Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}
billingAddresses
Type:BillingAddressConnectionTypeConnection
URL:https://api.st.kraken.tech/v1/graphql/
Get a list of GBR addresses within given postcode.
Arguments
Name | Description |
---|---|
| Postcode. |
| |
| |
| |
|
Query
query BillingAddresses(
$postcode: String,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
billingAddresses(
postcode: $postcode,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...BillingAddressConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"postcode": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"billingAddresses": {
"pageInfo": PageInfo,
"edges": BillingAddressConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
blackholeEmailAccount
Type:BlackholeEmailAccountType
URL:https://api.st.kraken.tech/v1/graphql/
Details of the account of an account user updating their blackhole email.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'blackholeEmailAccount' field is deprecated.
Please use `blackholeEmailAccountUser.accounts` query instead.
- Marked as deprecated on 2024-07-09.
- Scheduled for removal on or after 2024-11-01.
Arguments
Name | Description |
---|---|
| The account number. |
Query
query BlackholeEmailAccount($accountNumber: String!) {
blackholeEmailAccount(accountNumber: $accountNumber) {
number
address
accountUserNames {
...AccountUserNameTypeFragment
}
isBusinessAccount
isPortfolioLeadAccount
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"blackholeEmailAccount": {
"number": "abc123",
"address": "abc123",
"accountUserNames": [AccountUserNameType],
"isBusinessAccount": true,
"isPortfolioLeadAccount": true
}
}
}
blackholeEmailAccountUser
Type:BlackholeEmailAccountUserType
URL:https://api.st.kraken.tech/v1/graphql/
Details of account user updating their blackhole email.
This field requires the Authorization
header to be set.
Query
query BlackholeEmailAccountUser {
blackholeEmailAccountUser {
email
fullName
givenName
familyName
hasSetPassword
userId
hasMobileNumber
hasDateOfBirth
accounts {
...BlackholeEmailAccountTypeFragment
}
}
}
Response
{
"data": {
"blackholeEmailAccountUser": {
"email": "abc123",
"fullName": "abc123",
"givenName": "abc123",
"familyName": "abc123",
"hasSetPassword": true,
"userId": "abc123",
"hasMobileNumber": true,
"hasDateOfBirth": true,
"accounts": [BlackholeEmailAccountType]
}
}
}
business
Type:BusinessType
URL:https://api.st.kraken.tech/v1/graphql/
Get details about a business.
The possible errors that can be raised are:
- KT-CT-11101: The viewer is not authorized to execute the query/mutation. Check the ownership/permissions of provided data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The business ID. |
Query
query Business($id: ID!) {
business(id: $id) {
name
number
businessType
details {
...BusinessDetailTypeFragment
}
billingAddress {
...RichAddressTypeFragment
}
linkedAccountNumber
linkedAccountNumbers
segmentName
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"business": {
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"details": [BusinessDetailType],
"billingAddress": RichAddressType,
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}
businessAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.st.kraken.tech/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.st.kraken.tech/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 AccountType {
...AccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...AccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
terms {
...TermInterfaceFragment
}
}
}
Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}
Response
{
"data": {
"businessContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": AccountType,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}
}
}
call
Type:CallInterface!
URL:https://api.st.kraken.tech/v1/graphql/
Get a call for a given ID.
The possible errors that can be raised are:
- KT-CT-11802: Call not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The call ID. |
Query
query Call($id: ID!) {
call(id: $id) {
id
account {
...AccountTypeFragment
}
metadata {
...CallMetadataItemTypeFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"call": {
"id": "abc123",
"account": AccountType,
"metadata": CallMetadataItemType
}
}
}
campaigns
Type:AccountCampaignConnectionTypeConnection
URL:https://api.st.kraken.tech/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.st.kraken.tech/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"
}
}
}
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.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/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
}
}
}
eligibilityToJoinLoyaltyPointsProgram
Type:LoyaltyPointsProgramEligibilityType
URL:https://api.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/v1/graphql/
The current energy generation mix.
Query
query EnergyMixData {
energyMixData {
carbonIntensityIndex
}
}
Response
{
"data": {
"energyMixData": {
"carbonIntensityIndex": "abc123"
}
}
}
estimateReading
Type:EstimatedReadingType
URL:https://api.st.kraken.tech/v1/graphql/
Get the estimated reading for the given meter.
The possible errors that can be raised are:
- KT-GB-6415: Water meter cannot be found.
- KT-GB-6416: Unable to estimate the reading for the given meter.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Date to estimate reading on. |
| Meter external reference. |
| Meter serial number. |
Query
query EstimateReading(
$estimateOn: Date!,
$meterExternalReference: String!,
$serialNumber: String
) {
estimateReading(
estimateOn: $estimateOn,
meterExternalReference: $meterExternalReference,
serialNumber: $serialNumber
) {
estimateOn
estimatedValue
}
}
Variables
{
"estimateOn": "2020-01-01",
"meterExternalReference": "abc123",
"serialNumber": "abc123"
}
Response
{
"data": {
"estimateReading": {
"estimateOn": "2020-01-01",
"estimatedValue": 1.0
}
}
}
goodsProducts
Type:GoodsProductConnectionTypeConnection
URL:https://api.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/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
}
]
}
}
initialPaymentEstimate
Type:InitialPaymentEstimateType!
URL:https://api.st.kraken.tech/v1/graphql/
Get the initial payment estimate for the given account.
The possible errors that can be raised are:
- KT-CT-3815: No active payment schedule found for this account.
- KT-CT-8802: Supply point missing area code.
- KT-GB-8801: No property type found for the supply point.
- KT-CT-6627: Property is missing number of occupants.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
Query
query InitialPaymentEstimate($accountNumber: String!) {
initialPaymentEstimate(accountNumber: $accountNumber) {
paymentAmount
paymentFrequency
paymentFrequencyMultiplier
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"initialPaymentEstimate": {
"paymentAmount": 1,
"paymentFrequency": "Weekly",
"paymentFrequencyMultiplier": 1
}
}
}
inkConversation
Type:InkConversation!
URL:https://api.st.kraken.tech/v1/graphql/
Get the Ink conversation for a given account.
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-4177: Unauthorized.
- KT-CT-7610: No Ink conversation for account.
- KT-CT-7617: Must supply account number or relay id to get a conversation.
- KT-CT-7638: Invalid conversation ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
| The conversation's relay id. |
Query
query InkConversation(
$accountNumber: String,
$conversationRelayId: String
) {
inkConversation(
accountNumber: $accountNumber,
conversationRelayId: $conversationRelayId
) {
id
status
contactChannelIdentities {
...InkContactChannelIdentitiesFragment
}
accountUsers {
...AccountUserTypeFragment
}
events {
...InkConversationEventsConnectionFragment
}
buckets {
...InkBucketFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"conversationRelayId": "abc123"
}
Response
{
"data": {
"inkConversation": {
"id": "abc123",
"status": "OPEN",
"contactChannelIdentities": InkContactChannelIdentities,
"accountUsers": [AccountUserType],
"events": InkConversationEventsConnection,
"buckets": [InkBucket]
}
}
}
inkMessage
Type:InkMessage!
URL:https://api.st.kraken.tech/v1/graphql/
Get the content for a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-7638: Invalid conversation ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The message's relay id. |
Query
query InkMessage($messageRelayId: String!) {
inkMessage(messageRelayId: $messageRelayId) {
... on InkEmail {
...InkEmailFragment
}
... on InkSMS {
...InkSMSFragment
}
... on InkLine {
...InkLineFragment
}
... on InkWhatsApp {
...InkWhatsAppFragment
}
... on InkTwilioWhatsApp {
...InkTwilioWhatsAppFragment
}
... on InkPost {
...InkPostFragment
}
... on InkGenericMessage {
...InkGenericMessageFragment
}
}
}
Variables
{
"messageRelayId": "abc123"
}
Response
{
"data": {
"inkMessage": InkEmail
}
}
isPasswordResetTokenValid
Type:Boolean
URL:https://api.st.kraken.tech/v1/graphql/
Check validity of a password reset token.
Arguments
Name | Description |
---|---|
| Base64 encoded user id. |
| Password reset token to check. |
Query
query IsPasswordResetTokenValid(
$userId: String!,
$token: String!
) {
isPasswordResetTokenValid(
userId: $userId,
token: $token
)
}
Variables
{
"userId": "abc123",
"token": "abc123"
}
Response
{
"data": {
"isPasswordResetTokenValid": true
}
}
krakenVersion
Type:KrakenVersionType
URL:https://api.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/v1/graphql/
Details associated with a LeaveSupplier process.
The possible errors that can be raised are:
- KT-CT-10302: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The leave supplier process ID. |
Query
query LeaveSupplierProcess($leaveSupplierProcessId: ID!) {
leaveSupplierProcess(leaveSupplierProcessId: $leaveSupplierProcessId) {
id
status
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
}
}
Variables
{
"leaveSupplierProcessId": "abc123"
}
Response
{
"data": {
"leaveSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection
}
}
}
lifecycleProcesses
URL:https://api.st.kraken.tech/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.st.kraken.tech/v1/graphql/
Get payment adequacy data with an up to date calculation.
The possible errors that can be raised are:
- KT-CT-3963: Could not calculate live PA data.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Kraken ledger number. |
Query
query LivePaymentAdequacyCalculation($ledgerNumber: String!) {
livePaymentAdequacyCalculation(ledgerNumber: $ledgerNumber) {
suggestedNewMonthlyAmount
consumption {
...ConsumptionBreakdownConnectionTypeConnectionFragment
}
averageMonthlyCharge
existingMonthlyAmount
balanceAdjustment
currentBalance
targetBalance
reviewedOn
}
}
Variables
{
"ledgerNumber": "abc123"
}
Response
{
"data": {
"livePaymentAdequacyCalculation": {
"suggestedNewMonthlyAmount": 1,
"consumption": ConsumptionBreakdownConnectionTypeConnection,
"averageMonthlyCharge": 1,
"existingMonthlyAmount": 1,
"balanceAdjustment": 1,
"currentBalance": 1,
"targetBalance": 1,
"reviewedOn": "2020-01-01"
}
}
}
loyaltyPointLedgers
Type:[LoyaltyPointLedgerEntryType]
URL:https://api.st.kraken.tech/v1/graphql/
Get the Loyalty Point ledger entries for the passed user.
Query
query LoyaltyPointLedgers {
loyaltyPointLedgers {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
postedAt
accountNumber
}
}
Response
{
"data": {
"loyaltyPointLedgers": [
{
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
]
}
}
loyaltyPointsBalance
URL:https://api.st.kraken.tech/v1/graphql/
Get the loyalty points balance for an account.
The possible errors that can be raised are:
- KT-CT-9218: Unauthorized.
- KT-CT-9217: Unauthorized.
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9216: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
Query
query LoyaltyPointsBalance($accountNumber: String!) {
loyaltyPointsBalance(accountNumber: $accountNumber) {
loyaltyPoints
totalMonetaryAmount
}
}
Variables
{
"accountNumber": "abc123"
}
Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}
}
}
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.st.kraken.tech/v1/graphql/
Metadata for a linked object with key.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4124: Unauthorized.
- KT-CT-8411: Invalid data.
- KT-CT-4179: No metadata found with given key.
- KT-CT-4155: Invalid data.
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| |
| |
|
Query
query MetadataForKey(
$linkedObjectType: LinkedObjectType,
$identifier: String!,
$key: String!
) {
metadataForKey(
linkedObjectType: $linkedObjectType,
identifier: $identifier,
key: $key
) {
key
value
}
}
Variables
{
"linkedObjectType": "ACCOUNT",
"identifier": "abc123",
"key": "abc123"
}
Response
{
"data": {
"metadataForKey": {
"key": "abc123",
"value": {"key": "value"}
}
}
}
node
Type:Node
URL:https://api.st.kraken.tech/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"
}
}
}
opportunityByNumber
Type:OpportunityOutput
URL:https://api.st.kraken.tech/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
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.st.kraken.tech/v1/graphql/
Override Field to add additional attributes and extend description with possible_errors
The possible errors that can be raised are:
- KT-CT-8903: Unable to update opportunity.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The identifier of the opportunity to query. |
| The key the a funnel-specific value you wish to obtain. |
Query
query OpportunityValueByKey(
$opportunityId: ID,
$key: String
) {
opportunityValueByKey(
opportunityId: $opportunityId,
key: $key
)
}
Variables
{
"opportunityId": "abc123",
"key": "abc123"
}
Response
{
"data": {
"opportunityValueByKey": "abc123"
}
}
passwordValidatorHelpTexts
Type:[String]
URL:https://api.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/v1/graphql/
Get details about a portfolio.
The possible errors that can be raised are:
- KT-CT-9403: Received an invalid portfolioId.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Portfolio number to be retrieved. |
Query
query Portfolio($portfolioNumber: String!) {
portfolio(portfolioNumber: $portfolioNumber) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}
Variables
{
"portfolioNumber": "abc123"
}
Response
{
"data": {
"portfolio": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}
possibleErrors
URL:https://api.st.kraken.tech/v1/graphql/
Possible errors of the requested query/mutation.
The possible errors that can be raised are:
- KT-CT-1606: Query/Mutation not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| Query or Mutation for which to get the possible errors list. |
Query
query PossibleErrors($input: PossibleErrorsInputType!) {
possibleErrors(input: $input) {
name
type
authErrors
possibleErrors {
...PossibleErrorTypeFragment
}
}
}
Variables
{
"input": PossibleErrorsInputType
}
Response
{
"data": {
"possibleErrors": {
"name": "abc123",
"type": "query",
"authErrors": true,
"possibleErrors": [PossibleErrorType]
}
}
}
propertiesSearch
URL:https://api.st.kraken.tech/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.st.kraken.tech/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
postcode
label
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
activeWaterMeters {
...WaterMeterTypeFragment
}
freshWaterSupplyPoint {
...FreshWaterSupplyPointTypeFragment
}
wasteWaterSupplyPoint {
...WasteWaterSupplyPointTypeFragment
}
propertyDetail {
...PropertyDetailTypeFragment
}
externalPropertyReference
serviceOrders {
...ServiceOrderConnectionTypeConnectionFragment
}
}
}
Variables
{
"id": "abc123"
}
Response
{
"data": {
"property": {
"id": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"activeWaterMeters": [WaterMeterType],
"freshWaterSupplyPoint": FreshWaterSupplyPointType,
"wasteWaterSupplyPoint": WasteWaterSupplyPointType,
"propertyDetail": PropertyDetailType,
"externalPropertyReference": "abc123",
"serviceOrders": ServiceOrderConnectionTypeConnection
}
}
}
propertySearch
Type:[PropertyType]
URL:https://api.st.kraken.tech/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
postcode
label
address
richAddress {
...PropertyRichAddressTypeFragment
}
splitAddress
occupancyPeriods {
...OccupancyPeriodTypeFragment
}
coordinates {
...CoordinatesTypeFragment
}
embeddedNetwork {
...EmbeddedNetworkTypeFragment
}
measurements {
...MeasurementConnectionFragment
}
activeWaterMeters {
...WaterMeterTypeFragment
}
freshWaterSupplyPoint {
...FreshWaterSupplyPointTypeFragment
}
wasteWaterSupplyPoint {
...WasteWaterSupplyPointTypeFragment
}
propertyDetail {
...PropertyDetailTypeFragment
}
externalPropertyReference
serviceOrders {
...ServiceOrderConnectionTypeConnectionFragment
}
}
}
Variables
{
"searchTerm": "abc123"
}
Response
{
"data": {
"propertySearch": [
{
"id": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"activeWaterMeters": [WaterMeterType],
"freshWaterSupplyPoint": FreshWaterSupplyPointType,
"wasteWaterSupplyPoint": WasteWaterSupplyPointType,
"propertyDetail": PropertyDetailType,
"externalPropertyReference": "abc123",
"serviceOrders": ServiceOrderConnectionTypeConnection
}
]
}
}
proposedDirectDebitPaymentSchedule
Type:ProposedDirectDebitPaymentScheduleType!
URL:https://api.st.kraken.tech/v1/graphql/
The payment schedule that would be set up with the given parameters. Used to inform customers of the Direct Debit plan that they are about to set up.
The possible errors that can be raised are:
- KT-CT-1128: Unauthorized.
- KT-GB-3922: This configuration of payment schedule is not supported.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
Name | Description |
---|---|
| The account number. |
| The type of schedule to create. |
Query
query ProposedDirectDebitPaymentSchedule(
$accountNumber: String!,
$scheduleType: DirectDebitScheduleChoices!
) {
proposedDirectDebitPaymentSchedule(
accountNumber: $accountNumber,
scheduleType: $scheduleType
) {
amount
firstPossibleCollectionDate
paymentAmounts {
...ProposedInstalmentsConnectionTypeConnectionFragment
}
}
}
Variables
{
"accountNumber": "abc123",
"scheduleType": "MONTHLY"
}
Response
{
"data": {
"proposedDirectDebitPaymentSchedule": {
"amount": 1,
"firstPossibleCollectionDate": "2020-01-01",
"paymentAmounts": ProposedInstalmentsConnectionTypeConnection
}
}
}
psrRecordType
Type:[PSRRecordType]
URL:https://api.st.kraken.tech/v1/graphql/
List of all available active PSR record types.
Query
query PsrRecordType {
psrRecordType {
id
description
internalCode
isTemporary
extraInfoFields
}
}
Response
{
"data": {
"psrRecordType": [
{
"id": "abc123",
"description": "abc123",
"internalCode": "abc123",
"isTemporary": true,
"extraInfoFields": ["abc123"]
}
]
}
}
question
Type:String
URL:https://api.st.kraken.tech/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"
}
}
rateLimitInfo
Type:CombinedRateLimitInformation
URL:https://api.st.kraken.tech/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
}
}
}
serviceableProperties
Type:PropertyMeterConnectionTypeConnection
URL:https://api.st.kraken.tech/v1/graphql/
Get a list of serviceable properties within the given postcode.
Arguments
Name | Description |
---|---|
| Postcode. |
| |
| |
| |
|
Query
query ServiceableProperties(
$postcode: String,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
serviceableProperties(
postcode: $postcode,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...PropertyMeterConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}
Variables
{
"postcode": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}
Response
{
"data": {
"serviceableProperties": {
"pageInfo": PageInfo,
"edges": PropertyMeterConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}
supplyPoint
Type:SupplyPointType
URL:https://api.st.kraken.tech/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
property {
...PropertyTypeFragment
}
readings {
...ReadingsConnectionFragment
}
}
}
Variables
{
"externalIdentifier": "abc123",
"marketName": "abc123"
}
Response
{
"data": {
"supplyPoint": {
"id": "abc123",
"marketName": "abc123",
"externalIdentifier": "abc123",
"property": PropertyType,
"readings": ReadingsConnection
}
}
}
supplyPoints
Type:SupplyPointConnectionTypeConnection
URL:https://api.st.kraken.tech/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.st.kraken.tech/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.st.kraken.tech/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"
}
]
}
}
verifyBlackholeEmailUserDetails
Type:Boolean
URL:https://api.st.kraken.tech/v1/graphql/
Verify mobile number or date of birth of the authenticated user.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
| The account number. |
| Date of birth. |
| Mobile number. |
Query
query VerifyBlackholeEmailUserDetails(
$accountNumber: String!,
$dateOfBirth: Date,
$mobileNumber: String
) {
verifyBlackholeEmailUserDetails(
accountNumber: $accountNumber,
dateOfBirth: $dateOfBirth,
mobileNumber: $mobileNumber
)
}
Variables
{
"accountNumber": "abc123",
"dateOfBirth": "2020-01-01",
"mobileNumber": "abc123"
}
Response
{
"data": {
"verifyBlackholeEmailUserDetails": true
}
}
verifyUserDetails
Type:Boolean
URL:https://api.st.kraken.tech/v1/graphql/
Verify the account number, mobile number or date of birth of the authenticated user.
This field requires the Authorization
header to be set.
Arguments
Name | Description |
---|---|
| The account number. |
| Date of birth. |
| Mobile number. |
Query
query VerifyUserDetails(
$accountNumber: String,
$dateOfBirth: Date,
$mobileNumber: String
) {
verifyUserDetails(
accountNumber: $accountNumber,
dateOfBirth: $dateOfBirth,
mobileNumber: $mobileNumber
)
}
Variables
{
"accountNumber": "abc123",
"dateOfBirth": "2020-01-01",
"mobileNumber": "abc123"
}
Response
{
"data": {
"verifyUserDetails": true
}
}
viewer
Type:AccountUserType
URL:https://api.st.kraken.tech/v1/graphql/
The currently authenticated user.
This field requires the Authorization
header to be set.
Query
query Viewer {
viewer {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
displayName
firstName
lastName
fullName
preferredName
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
hasSetPassword
commsPreferences {
...AccountUserCommsPreferencesTypeFragment
}
isPsrRenewalDue
hasRestrictedAccess
}
}
Response
{
"data": {
"viewer": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"hasSetPassword": true,
"commsPreferences": AccountUserCommsPreferencesType,
"isPsrRenewalDue": true,
"hasRestrictedAccess": true
}
}
}
Authentication Server
authorizedApplications
URL:https://auth.st.kraken.tech/graphql/
Get all the confidential-client applications the current user has authorized.
Query
query AuthorizedApplications {
authorizedApplications {
name
clientId
}
}
Response
{
"data": {
"authorizedApplications": [
{
"name": "abc123",
"clientId": "abc123"
}
]
}
}
krakenVersion
Type:KrakenVersionType
URL:https://auth.st.kraken.tech/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.st.kraken.tech/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}
Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}