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:TelcoAccountType
URL:https://api.cuckoogb.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
users {
...AccountUserTypeFragment
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
billingTriggerConfiguration {
...BillingTriggerConfigurationFragment
}
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
}
customerAssets {
...CustomerAssetTypeFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
activeContract {
...ContractTypeFragment
}
latestQuote {
...CreateTelcoQuoteOutputFragment
}
telcoLedgers {
...TelcoLedgerTypeFragment
}
contracts {
...ContractFragment
}
services {
...ServiceTypeFragment
}
usesProductCatalog
billingDocument {
...TelcoStatementBillingDocumentTypeFragment
}
renewalIntention {
...RenewalIntentionFragment
}
unbilledCalls {
...CallDetailRecordConnectionFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"account": {
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"users": AccountUserType,
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"billingTriggerConfiguration": BillingTriggerConfiguration,
"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,
"customerAssets": [CustomerAssetType],
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"activeContract": ContractType,
"latestQuote": CreateTelcoQuoteOutput,
"telcoLedgers": [TelcoLedgerType],
"contracts": [Contract],
"services": [ServiceType],
"usesProductCatalog": true,
"billingDocument": TelcoStatementBillingDocumentType,
"renewalIntention": RenewalIntention,
"unbilledCalls": CallDetailRecordConnection
}
}
}accountChargeReasons
Type:[ChargeReasonType]
URL:https://api.cuckoogb.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.cuckoogb.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 TelcoAccountType {
...TelcoAccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...TelcoAccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
notes {
...ContractNoteTypeFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}Response
{
"data": {
"accountContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": TelcoAccountType,
"subject": [TelcoAccountType],
"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,
"notes": [ContractNoteType],
"terms": TermInterface
}
}
}accountCreditReasons
Type:[CreditReasonType]
URL:https://api.cuckoogb.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.cuckoogb.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 |
|---|---|
| Filter account references by this value. |
Query
query AccountReference($value: String) {
accountReference(value: $value) {
namespace
value
createdAt
updatedAt
account {
...TelcoAccountTypeFragment
}
}
}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": TelcoAccountType
}
]
}
}accountUser
Type:AccountUserType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Entry point to retrieve an AccountUser by number.
The possible errors that can be raised are:
- KT-CT-5421: Account user not found.
- KT-CT-10914: Must provide either user ID or user number.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The user’s Kraken number. Either user_id or number must be specified. |
| The user's Kraken internal ID. Either user_id or number must be specified. |
Query
query AccountUser(
$number: ID,
$userId: Int
) {
accountUser(
number: $number,
userId: $userId
) {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
createdAt
permissions {
...AccountUserPermissionFragment
}
displayName
firstName
lastName
fullName
preferredName
isActive
address {
...RichAddressTypeFragment
}
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
businesses {
...BusinessConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
label
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}Variables
{
"number": "abc123",
"userId": 1
}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",
"createdAt": "2020-01-01T00:00:00.000Z",
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"isActive": true,
"address": RichAddressType,
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"businesses": BusinessConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}accounts
Type:[TelcoAccountType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get details about multiple accounts.
The possible errors that can be raised are:
- KT-CT-4184: Exactly one of phoneNumber or portfolioNumber must be provided.
- KT-CT-1113: Disabled GraphQL field requested.
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
users {
...AccountUserTypeFragment
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
billingTriggerConfiguration {
...BillingTriggerConfigurationFragment
}
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
}
customerAssets {
...CustomerAssetTypeFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
activeContract {
...ContractTypeFragment
}
latestQuote {
...CreateTelcoQuoteOutputFragment
}
telcoLedgers {
...TelcoLedgerTypeFragment
}
contracts {
...ContractFragment
}
services {
...ServiceTypeFragment
}
usesProductCatalog
billingDocument {
...TelcoStatementBillingDocumentTypeFragment
}
renewalIntention {
...RenewalIntentionFragment
}
unbilledCalls {
...CallDetailRecordConnectionFragment
}
}
}Variables
{
"phoneNumber": "abc123",
"portfolioNumber": "abc123"
}Response
{
"data": {
"accounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"users": AccountUserType,
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"billingTriggerConfiguration": BillingTriggerConfiguration,
"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,
"customerAssets": [CustomerAssetType],
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"activeContract": ContractType,
"latestQuote": CreateTelcoQuoteOutput,
"telcoLedgers": [TelcoLedgerType],
"contracts": [Contract],
"services": [ServiceType],
"usesProductCatalog": true,
"billingDocument": TelcoStatementBillingDocumentType,
"renewalIntention": RenewalIntention,
"unbilledCalls": CallDetailRecordConnection
}
]
}
}accountsSearch
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Search for account that are already in Kraken and match the search terms.
The possible errors that can be raised are:
- KT-CT-4183: One of more search terms failed validations.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Search operators. |
| The maximum number of results to return. |
Query
query AccountsSearch(
$searchTerms: AccountSearchInputType,
$maxResults: Int
) {
accountsSearch(
searchTerms: $searchTerms,
maxResults: $maxResults
) {
account {
...TelcoAccountTypeFragment
}
score
}
}Variables
{
"searchTerms": AccountSearchInputType,
"maxResults": 1
}Response
{
"data": {
"accountsSearch": [
{
"account": TelcoAccountType,
"score": "1.0"
}
]
}
}activeAccountDunningProcess
Type:ActiveAccountDunningProcessType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Active dunning process for an account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-11302: No active dunning process found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number. |
Query
query ActiveAccountDunningProcess($accountNumber: String!) {
activeAccountDunningProcess(accountNumber: $accountNumber) {
activeDunningProcessId
activeDunningProcessPathName
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"activeAccountDunningProcess": {
"activeDunningProcessId": 1,
"activeDunningProcessPathName": "abc123"
}
}
}activeAffiliateReferralScheme
Type:ReferralSchemeType
URL:https://api.cuckoogb.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. |
| The account type for which to get the referral scheme. |
Query
query ActiveAffiliateReferralScheme(
$subdomain: String!,
$accountType: ReferralSchemeAccountTypeOptions
) {
activeAffiliateReferralScheme(
subdomain: $subdomain,
accountType: $accountType
) {
referralUrl
referralDisplayUrl
referrerRewardAmount
referredRewardAmount
combinedRewardAmount
loyaltyPointsBonus
canBeReferred
code
referrerGivenName
referrerFamilyName
schemeType
maxRecurrence
isUsageAtCapacity
}
}Variables
{
"subdomain": "abc123",
"accountType": "DOMESTIC"
}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.cuckoogb.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
}
}
}activeSalesChannels
Type:[SalesChannelType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
A list of active sales channels.
The possible errors that can be raised are:
- KT-CT-12702: Invalid datetime range.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The datetime from which to filter active sales channels. |
| The datetime up to which to filter active sales channels. |
Query
query ActiveSalesChannels(
$activeFrom: DateTime,
$activeTo: DateTime
) {
activeSalesChannels(
activeFrom: $activeFrom,
activeTo: $activeTo
) {
name
code
description
hierarchicalName
}
}Variables
{
"activeFrom": "2020-01-01T00:00:00.000Z",
"activeTo": "2020-01-01T00:00:00.000Z"
}Response
{
"data": {
"activeSalesChannels": [
{
"name": "abc123",
"code": "abc123",
"description": "abc123",
"hierarchicalName": "abc123"
}
]
}
}addressesLookup
Type:[AddressType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
List of all available addresses.
The possible errors that can be raised are:
- KT-CT-4410: Invalid postcode.
- KT-CT-10926: OSS currently unavailable.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Post code. |
Query
query AddressesLookup($postCode: String!) {
addressesLookup(postCode: $postCode) {
line1
line2
line3
postalCode
serviceLocation {
...ServiceLocationTypeFragment
}
allServiceLocations {
...ServiceLocationTypeFragment
}
}
}Variables
{
"postCode": "abc123"
}Response
{
"data": {
"addressesLookup": [
{
"line1": "abc123",
"line2": "abc123",
"line3": "abc123",
"postalCode": "abc123",
"serviceLocation": ServiceLocationType,
"allServiceLocations": [ServiceLocationType]
}
]
}
}affiliateLink
Type:AffiliateLinkType!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Link object for an affiliate organization.
The possible errors that can be raised are:
- KT-CT-7713: Invalid data.
- KT-CT-7718: Affiliate link is expired.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The affiliate link subdomain. |
Query
query AffiliateLink($subdomain: String!) {
affiliateLink(subdomain: $subdomain) {
id
organisation {
...AffiliateOrganisationTypeFragment
}
subdomain
trainingStatus
isBusiness
contactName
contactEmail
landingUrl
}
}Variables
{
"subdomain": "abc123"
}Response
{
"data": {
"affiliateLink": {
"id": "abc123",
"organisation": AffiliateOrganisationType,
"subdomain": "abc123",
"trainingStatus": "NOT_APPLICABLE",
"isBusiness": true,
"contactName": "abc123",
"contactEmail": "abc123",
"landingUrl": "abc123"
}
}
}affiliateLinks
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Links (urls) for the affiliate organizations.
Arguments
| Name | Description |
|---|---|
| Email address of the affiliate agent. |
Query
query AffiliateLinks($agentContactEmail: String!) {
affiliateLinks(agentContactEmail: $agentContactEmail) {
id
organisation {
...AffiliateOrganisationTypeFragment
}
subdomain
trainingStatus
isBusiness
contactName
contactEmail
landingUrl
}
}Variables
{
"agentContactEmail": "abc123"
}Response
{
"data": {
"affiliateLinks": {
"id": "abc123",
"organisation": AffiliateOrganisationType,
"subdomain": "abc123",
"trainingStatus": "NOT_APPLICABLE",
"isBusiness": true,
"contactName": "abc123",
"contactEmail": "abc123",
"landingUrl": "abc123"
}
}
}affiliateOrganisation
Type:AffiliateOrganisationType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Return the details of a given affiliate organization, if any exists.
The possible errors that can be raised are:
- KT-CT-7701: The affiliate organisation was not found.
- KT-CT-7702: Either id or number must be provided.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The affiliate organisation ID. |
| The affiliate organisation number. |
Query
query AffiliateOrganisation(
$id: Int,
$number: String
) {
affiliateOrganisation(
id: $id,
number: $number
) {
id
number
name
contactEmail
canRenewTariffs
defaultAccountType
allowAlternativePaymentMethods
canRegisterBusinessMeterPoints
canRegisterPortfolioAccounts
canRegisterCustomersWithoutEmailAddress
canUseIvrSupportApi
skipMeterPointAddressValidation
salesChannel
salesChannelCode
isFieldSalesOnlyProduct
}
}Variables
{
"id": 1,
"number": "abc123"
}Response
{
"data": {
"affiliateOrganisation": {
"id": "abc123",
"number": "abc123",
"name": "abc123",
"contactEmail": "abc123",
"canRenewTariffs": true,
"defaultAccountType": "BUSINESS",
"allowAlternativePaymentMethods": true,
"canRegisterBusinessMeterPoints": true,
"canRegisterPortfolioAccounts": true,
"canRegisterCustomersWithoutEmailAddress": true,
"canUseIvrSupportApi": true,
"skipMeterPointAddressValidation": true,
"salesChannel": "DIRECT",
"salesChannelCode": "abc123",
"isFieldSalesOnlyProduct": true
}
}
}agentCallCenterStatus
Type:AgentCallCenterStatusType!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the call center status for a given agent.
The possible errors that can be raised are:
- KT-CT-7813: Support user not found with that username.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The support user name. |
Query
query AgentCallCenterStatus($supportUserName: String!) {
agentCallCenterStatus(supportUserName: $supportUserName) {
id
status
updatedAt
mostRecentCallId
}
}Variables
{
"supportUserName": "abc123"
}Response
{
"data": {
"agentCallCenterStatus": {
"id": "abc123",
"status": "abc123",
"updatedAt": "2020-01-01T00:00:00.000Z",
"mostRecentCallId": 1
}
}
}agreement
Type:CommonAgreementType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get an agreement by its ID.
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 identifier. |
Query
query Agreement($id: ID!) {
agreement(id: $id) {
id
validFrom
validTo
agreedAt
terminatedAt
rescissionDeadlineAt
account {
...TelcoAccountTypeFragment
}
supplyPoint {
...SupplyPointTypeFragment
}
product {
...SupplyProductTypeFragment
}
isActive
characteristicValues {
...CharacteristicValueInterfaceFragment
}
agreedFrom
agreedTo
isRevoked
params
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"agreement": {
"id": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedAt": "2020-01-01T00:00:00.000Z",
"terminatedAt": "2020-01-01T00:00:00.000Z",
"rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
"account": TelcoAccountType,
"supplyPoint": SupplyPointType,
"product": SupplyProductType,
"isActive": true,
"characteristicValues": CharacteristicValueInterface,
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true,
"params": {"key": "value"}
}
}
}agreementRollover
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get an agreement rollover by its number.
The possible errors that can be raised are:
- KT-CT-13705: Agreement rollover not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Number of the agreement rollover. |
Query
query AgreementRollover($number: String!) {
agreementRollover(number: $number) {
id
number
agreement {
...CommonAgreementTypeFragment
}
rolledOnTo {
...CommonAgreementTypeFragment
}
quoteRequests {
...MarketSupplyQuoteRequestTypeFragment
}
rolloverType
expectedSendDate
status
params
failureReason
actualSendDate
suppressComms
tags
createdAt
updatedAt
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"agreementRollover": {
"id": "abc123",
"number": "abc123",
"agreement": CommonAgreementType,
"rolledOnTo": CommonAgreementType,
"quoteRequests": MarketSupplyQuoteRequestType,
"rolloverType": "DEFAULT",
"expectedSendDate": "2020-01-01",
"status": "PENDING",
"params": {"key": "value"},
"failureReason": "abc123",
"actualSendDate": "2020-01-01",
"suppressComms": true,
"tags": ["abc123"],
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z"
}
}
}agreementsForRollover
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get agreements eligible for the rollover process.
Arguments
| Name | Description |
|---|---|
| Days before the agreement expiration. |
| Window size in days. |
Query
query AgreementsForRollover(
$daysBeforeExpiration: Int!,
$windowSize: Int!
) {
agreementsForRollover(
daysBeforeExpiration: $daysBeforeExpiration,
windowSize: $windowSize
) {
id
validFrom
validTo
agreedAt
terminatedAt
rescissionDeadlineAt
account {
...TelcoAccountTypeFragment
}
supplyPoint {
...SupplyPointTypeFragment
}
product {
...SupplyProductTypeFragment
}
isActive
characteristicValues {
...CharacteristicValueInterfaceFragment
}
agreedFrom
agreedTo
isRevoked
params
}
}Variables
{
"daysBeforeExpiration": 1,
"windowSize": 1
}Response
{
"data": {
"agreementsForRollover": [
{
"id": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedAt": "2020-01-01T00:00:00.000Z",
"terminatedAt": "2020-01-01T00:00:00.000Z",
"rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
"account": TelcoAccountType,
"supplyPoint": SupplyPointType,
"product": SupplyProductType,
"isActive": true,
"characteristicValues": CharacteristicValueInterface,
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true,
"params": {"key": "value"}
}
]
}
}Arguments
| Name | Description |
|---|---|
| Statuses to filter for. Otherwise return active and upcoming brownouts. |
| |
| |
| |
|
Query
query ApiBrownouts(
$input: APIBrownoutInput,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
apiBrownouts(
input: $input,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...APIBrownoutEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"input": APIBrownoutInput,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"apiBrownouts": {
"pageInfo": PageInfo,
"edges": APIBrownoutEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}apiExceptions
Type:APIExceptionConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a connection containing API Exceptions.
Arguments
| Name | Description |
|---|---|
| Fields to filter for. Otherwise don't filter at all. |
| |
| |
| |
|
Query
query ApiExceptions(
$input: APIExceptionQueryInput,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
apiExceptions(
input: $input,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...APIExceptionConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"input": APIExceptionQueryInput,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"apiExceptions": {
"pageInfo": PageInfo,
"edges": APIExceptionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}appSessions
Type:AppSessionConnectionTypeConnection!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
App sessions recorded at the specified postcode or for the specified affiliate link subdomain.
Arguments
| Name | Description |
|---|---|
| The postcode of the address at which the app session was recorded. |
| The affiliate link subdomain to filter app sessions by. |
| |
| |
| |
|
Query
query AppSessions(
$postcode: String,
$subdomain: String,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
appSessions(
postcode: $postcode,
subdomain: $subdomain,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...AppSessionConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"postcode": "abc123",
"subdomain": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"appSessions": {
"pageInfo": PageInfo,
"edges": AppSessionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}authorizedApplications
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get all the confidential-client applications the current user has authorized.
Query
query AuthorizedApplications {
authorizedApplications {
name
clientId
}
}Response
{
"data": {
"authorizedApplications": [
{
"name": "abc123",
"clientId": "abc123"
}
]
}
}availableOfferings
Type:[OfferingType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a list of actively available offerings from the catalog.
Query
query AvailableOfferings {
availableOfferings {
identifier
internalName
customerName
customerDescription
isSellable
lifecycle {
...LifecycleTypeFragment
}
tags {
...TagTypeFragment
}
productComponents {
...ProductComponentTypeFragment
}
offeringComponents {
...OfferingComponentTypeFragment
}
termTemplateComponents {
...TermTemplateComponentTypeFragment
}
groups {
...GroupTypeFragment
}
isAmendable
isExpired
isActive
isDraft
isLatestVersion
isFirstDraft
}
}Response
{
"data": {
"availableOfferings": [
{
"identifier": "abc123",
"internalName": "abc123",
"customerName": "abc123",
"customerDescription": "abc123",
"isSellable": true,
"lifecycle": LifecycleType,
"tags": [TagType],
"productComponents": [ProductComponentType],
"offeringComponents": [OfferingComponentType],
"termTemplateComponents": [TermTemplateComponentType],
"groups": [GroupType],
"isAmendable": true,
"isExpired": true,
"isActive": true,
"isDraft": true,
"isLatestVersion": true,
"isFirstDraft": true
}
]
}
}availableProductSwitchDates
Type:[Date]
URL:https://api.cuckoogb.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"]
}
}availableProducts
Type:[SupplyProductType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get available products for the given market.
The possible errors that can be raised are:
- KT-CT-4930: Unsupported market.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Products available for the target market. |
Query
query AvailableProducts($marketName: String!) {
availableProducts(marketName: $marketName) {
id
code
fullName
displayName
description
availableFrom
availableTo
term
notes
isHidden
endsAt
brandCode
marketName
availabilityStatus
termsContractType
termsAndConditionsTypes {
...TermsAndConditionsTypeFragment
}
params
tags {
...SupplyProductTagTypeFragment
}
}
}Variables
{
"marketName": "abc123"
}Response
{
"data": {
"availableProducts": [
{
"id": "abc123",
"code": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"term": 1,
"notes": "abc123",
"isHidden": true,
"endsAt": "2020-01-01T00:00:00.000Z",
"brandCode": "abc123",
"marketName": "abc123",
"availabilityStatus": "EVERYONE",
"termsContractType": "abc123",
"termsAndConditionsTypes": TermsAndConditionsType,
"params": {"key": "value"},
"tags": SupplyProductTagType
}
]
}
}availableTelcoProducts
Type:[TelcoProductType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
List of all available telco products.
Arguments
| Name | Description |
|---|---|
| Brand code. |
Query
query AvailableTelcoProducts($brand: String!) {
availableTelcoProducts(brand: $brand) {
id
marketName
code
fullName
displayName
description
availableFrom
availableTo
term
termsContractType
tags {
...ProductTagFragment
}
}
}Variables
{
"brand": "abc123"
}Response
{
"data": {
"availableTelcoProducts": [
{
"id": "abc123",
"marketName": "abc123",
"code": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"term": 1,
"termsContractType": "abc123",
"tags": [ProductTag]
}
]
}
}backendScreen
Type:BackendScreenType
URL:https://api.cuckoogb.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
}
... on FormScreenType {
...FormScreenTypeFragment
}
}
}Variables
{
"screenId": "abc123",
"params": BackendScreenParamInputType,
"maxVersionSupported": 1
}Response
{
"data": {
"backendScreen": ComponentListType
}
}backendScreenEventIds
Type:[String]
URL:https://api.cuckoogb.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.cuckoogb.kraken.tech/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}Arguments
| Name | Description |
|---|---|
| The IBAN of the bank account. |
Query
query BankDetailsValidation($iban: NonEmptyString!) {
bankDetailsValidation(iban: $iban) {
areValid
message
}
}Variables
{
"iban": NonEmptyString
}Response
{
"data": {
"bankDetailsValidation": {
"areValid": true,
"message": "abc123"
}
}
}billingTriggerConfigurations
Type:BillingTriggerConfigurationsConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Query billing trigger configurations for a specific target. By default returns only active configurations. Specify effectivefrom/effectiveto for time range filtering. Use include_children=true on parent target to get configurations for all child targets.
Arguments
| Name | Description |
|---|---|
| The target to query configurations for. |
| Start of the time range to query configurations for. |
| End of the time range to query configurations for. |
| Include all child targets of the specified target. |
| |
| |
| |
|
Query
query BillingTriggerConfigurations(
$target: TargetInput!,
$effectiveFrom: DateTime,
$effectiveTo: DateTime,
$includeChildren: Boolean,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
billingTriggerConfigurations(
target: $target,
effectiveFrom: $effectiveFrom,
effectiveTo: $effectiveTo,
includeChildren: $includeChildren,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...BillingTriggerConfigurationsEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"target": TargetInput,
"effectiveFrom": "2020-01-01T00:00:00.000Z",
"effectiveTo": "2020-01-01T00:00:00.000Z",
"includeChildren": true,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"billingTriggerConfigurations": {
"pageInfo": PageInfo,
"edges": BillingTriggerConfigurationsEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}business
Type:BusinessType
URL:https://api.cuckoogb.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-11107: Unauthorized.
- KT-CT-1605: Invalid input.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The business ID. |
| List of business detail key-value pairs to filter by. |
Query
query Business(
$id: ID,
$details: [BusinessDetailInput]
) {
business(
id: $id,
details: $details
) {
id
name
number
businessType
sectors
details {
...BusinessDetailTypeFragment
}
billingAddress {
...RichAddressTypeFragment
}
legalAddress {
...RichAddressTypeFragment
}
linkedAccountNumber
linkedAccountNumbers
segmentName
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}Variables
{
"id": "abc123",
"details": BusinessDetailInput
}Response
{
"data": {
"business": {
"id": "abc123",
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"sectors": BusinessSectorString,
"details": [BusinessDetailType],
"billingAddress": RichAddressType,
"legalAddress": RichAddressType,
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}businessAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.cuckoogb.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.cuckoogb.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 TelcoAccountType {
...TelcoAccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...TelcoAccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
notes {
...ContractNoteTypeFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"identifier": "abc123",
"accountNumber": "abc123",
"version": 1
}Response
{
"data": {
"businessContract": {
"identifier": NonEmptyString,
"title": "abc123",
"party": TelcoAccountType,
"subject": [TelcoAccountType],
"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,
"notes": [ContractNoteType],
"terms": TermInterface
}
}
}call
Type:CallInterface!
URL:https://api.cuckoogb.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 {
...TelcoAccountTypeFragment
}
metadata {
...CallMetadataItemTypeFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"call": {
"id": "abc123",
"account": TelcoAccountType,
"metadata": CallMetadataItemType
}
}
}callTag
Type:CallTagType!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the call tag for a given ID.
The possible errors that can be raised are:
- KT-CT-11809: Call tag not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The call tag ID. |
Query
query CallTag($id: ID!) {
callTag(id: $id) {
id
name
isActive
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"callTag": {
"id": "abc123",
"name": "abc123",
"isActive": true
}
}
}callTags
Type:CallTagConnectionTypeConnection!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get call tags.
Arguments
| Name | Description |
|---|---|
| Filter by call tag name. |
| Filter by active status. |
| |
| |
| |
|
Query
query CallTags(
$name: String,
$isActive: Boolean,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
callTags(
name: $name,
isActive: $isActive,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CallTagConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"name": "abc123",
"isActive": true,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"callTags": {
"pageInfo": PageInfo,
"edges": CallTagConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}campaigns
Type:AccountCampaignConnectionTypeConnection
URL:https://api.cuckoogb.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
}
}
}canRescindAgreement
Type:Boolean
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check if an agreement can be rescinded.
The possible errors that can be raised are:
- KT-CT-1501: Agreement not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ID of the agreement to check. |
Query
query CanRescindAgreement($agreementId: Int!) {
canRescindAgreement(agreementId: $agreementId)
}Variables
{
"agreementId": 1
}Response
{
"data": {
"canRescindAgreement": true
}
}collectionProcessDetails
Type:CollectionProcessDetailsType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Collection process record details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-11201: No Collection Process Records associated with id.
- KT-CT-11206: Unable to retrieve disconnection related data for collection process.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The collection process record number. |
Query
query CollectionProcessDetails($collectionProcessRecordNumber: String!) {
collectionProcessDetails(collectionProcessRecordNumber: $collectionProcessRecordNumber) {
collectionProcessRecordNumber
isPaused
isComplete
isActive
completionType
associatedItems {
...CollectionProcessRecordAssociatedItemTypeFragment
}
pausedDays
collectionProcessType
targetObjectIdentifier
}
}Variables
{
"collectionProcessRecordNumber": "abc123"
}Response
{
"data": {
"collectionProcessDetails": {
"collectionProcessRecordNumber": "abc123",
"isPaused": true,
"isComplete": true,
"isActive": true,
"completionType": "abc123",
"associatedItems": [CollectionProcessRecordAssociatedItemType],
"pausedDays": 1,
"collectionProcessType": "ACCOUNT",
"targetObjectIdentifier": "abc123"
}
}
}complaint
Type:ComplaintType
URL:https://api.cuckoogb.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"
}
}
}consentTypes
Type:[ConsentTypeType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
A list of the consent types available.
Query
query ConsentTypes {
consentTypes {
code
description
name
defaultValue
}
}Response
{
"data": {
"consentTypes": [
{
"code": "abc123",
"description": "abc123",
"name": "abc123",
"defaultValue": "ACCEPTED"
}
]
}
}contractCreationJourney
Type:ContractCreationJourneyType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get details about a contract creation journey.
The possible errors that can be raised are:
- KT-CT-10017: The contract journey could not be found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The number of the contract journey. |
Query
query ContractCreationJourney($number: String!) {
contractCreationJourney(number: $number) {
number
status
contractDetails {
...ContractDetailsFragment
}
journeyType
requestedAt
orderReference
notes {
...ContractNoteTypeFragment
}
context {
...ContractCreationContextFragment
}
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"contractCreationJourney": {
"number": NonEmptyString,
"status": "IN_PROGRESS",
"contractDetails": ContractDetails,
"journeyType": "CONTRACT_CREATION",
"requestedAt": "2020-01-01T00:00:00.000Z",
"orderReference": "abc123",
"notes": [ContractNoteType],
"context": ContractCreationContext
}
}
}contractNoteReasons
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a list of contract note reasons, optionally filtered by activity types.
Arguments
| Name | Description |
|---|---|
| Filter reasons applicable to any of the given contract activity types. |
Query
query ContractNoteReasons($activityTypes: [ContractActivityTypeOptions]) {
contractNoteReasons(activityTypes: $activityTypes) {
slug
description
activityTypes
}
}Variables
{
"activityTypes": "ALL_ACTIVITY_TYPES"
}Response
{
"data": {
"contractNoteReasons": [
{
"slug": "abc123",
"description": "abc123",
"activityTypes": "ALL_ACTIVITY_TYPES"
}
]
}
}contracts
Type:[Contract]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a list of contracts filtered by party or subject.
The possible errors that can be raised are:
- KT-CT-10029: Missing contract filters.
- KT-CT-10030: Filter by subject is not implemented.
- KT-CT-10031: Invalid party filter.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Filters to apply when querying contracts. At least one filter must be provided. |
Query
query Contracts($filters: ContractFiltersInput!) {
contracts(filters: $filters) {
identifier
title
party {
... on TelcoAccountType {
...TelcoAccountTypeFragment
}
... on BusinessType {
...BusinessTypeFragment
}
}
subject {
...TelcoAccountTypeFragment
}
status
validFrom
validTo
signedAt
cancelledAt
lifecycle {
...ContractVersionFragment
}
notes {
...ContractNoteTypeFragment
}
terms {
...TermInterfaceFragment
}
}
}Variables
{
"filters": ContractFiltersInput
}Response
{
"data": {
"contracts": [
{
"identifier": NonEmptyString,
"title": "abc123",
"party": TelcoAccountType,
"subject": [TelcoAccountType],
"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,
"notes": [ContractNoteType],
"terms": TermInterface
}
]
}
}Query
query ContributionSchemes {
contributionSchemes {
id
code
displayName
taxable
acceptingContributions
}
}Response
{
"data": {
"contributionSchemes": [
{
"id": "abc123",
"code": "abc123",
"displayName": "abc123",
"taxable": true,
"acceptingContributions": true
}
]
}
}createdTelcoQuoteRequest
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The telco quote created.
The possible errors that can be raised are:
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-4619: Quote with given code not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The code for the quote request. |
Query
query CreatedTelcoQuoteRequest($code: String!) {
createdTelcoQuoteRequest(code: $code) {
code
telcoProducts {
...TelcoProductsFragment
}
}
}Variables
{
"code": "abc123"
}Response
{
"data": {
"createdTelcoQuoteRequest": {
"code": "abc123",
"telcoProducts": [TelcoProducts]
}
}
}customerAsset
Type:CustomerAssetType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get customer asset by ID.
Arguments
| Name | Description |
|---|---|
| Customer asset ID. |
Query
query CustomerAsset($customerAssetId: String!) {
customerAsset(customerAssetId: $customerAssetId) {
id
physicalId
name
type
activeFrom
activeTo
accountNumber
}
}Variables
{
"customerAssetId": "abc123"
}Response
{
"data": {
"customerAsset": {
"id": "abc123",
"physicalId": "abc123",
"name": "abc123",
"type": "abc123",
"activeFrom": "2020-01-01T00:00:00.000Z",
"activeTo": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
}
}customerFeedbackForms
Type:CustomerFeedbackFormConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Returns all active customer feedback forms for the account's brand.
Arguments
| Name | Description |
|---|---|
| The account number. |
| Feedback sources currently supported. |
| |
| |
| |
|
Query
query CustomerFeedbackForms(
$accountNumber: String!,
$feedbackSource: CustomerFeedbackSourceChoices,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
customerFeedbackForms(
accountNumber: $accountNumber,
feedbackSource: $feedbackSource,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CustomerFeedbackFormConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"feedbackSource": "FEEDBACK_SOURCE_PHONE_CALL_FOLLOW_UP",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"customerFeedbackForms": {
"pageInfo": PageInfo,
"edges": CustomerFeedbackFormConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}dashboardScreen
Type:Dashboard
URL:https://api.cuckoogb.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.cuckoogb.kraken.tech/v1/graphql/
Get the default payment instruction for the account's main ledger.
Deprecated
The 'defaultPaymentInstruction' field is deprecated.
Please use 'usablePaymentInstructions' on the Ledger type to get all usable instructions, or 'paymentPreferenceAtTime' on the Ledger type to get a specific one. Both require explicitly requesting a ledger.
- Marked as deprecated on 2026-01-28.
- Scheduled for removal on or after 2026-07-28.
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.cuckoogb.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
}
}depositAgreements
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get deposit agreements for a given 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 DepositAgreements($accountNumber: String!) {
depositAgreements(accountNumber: $accountNumber) {
depositKey
depositAmount
acceptedAt
fulfilledAt
collectionDate
dueDate
returnStrategy
currentEligibilityStatus {
...CurrentEligibilityStatusOutputFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"depositAgreements": [
{
"depositKey": "abc123",
"depositAmount": 1,
"acceptedAt": "2020-01-01T00:00:00.000Z",
"fulfilledAt": "2020-01-01T00:00:00.000Z",
"collectionDate": "2020-01-01",
"dueDate": "2020-01-01",
"returnStrategy": "abc123",
"currentEligibilityStatus": CurrentEligibilityStatusOutput
}
]
}
}domesticAccountReferralRewardScheme
Type:ReferralSchemeType
URL:https://api.cuckoogb.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
}
}
}domesticAccountReferrals
Type:AccountReferralsType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Referrals that were applied to an account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number. |
Query
query DomesticAccountReferrals($accountNumber: String!) {
domesticAccountReferrals(accountNumber: $accountNumber) {
referralCode
pendingReferrals
paidReferrals
cancelledReferrals
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"domesticAccountReferrals": {
"referralCode": "abc123",
"pendingReferrals": 1,
"paidReferrals": 1,
"cancelledReferrals": 1
}
}
}domesticJoiningRewardScheme
Type:ReferralSchemeType
URL:https://api.cuckoogb.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.cuckoogb.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.cuckoogb.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.cuckoogb.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]
}
}
}externalAccountEvents
Type:ExternalAccountEventConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a list of audit account events, of type external, for a given account.
Arguments
| Name | Description |
|---|---|
| Account number to filter by. |
| |
| |
| |
|
Query
query ExternalAccountEvents(
$accountNumber: String!,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
externalAccountEvents(
accountNumber: $accountNumber,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...ExternalAccountEventConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"externalAccountEvents": {
"pageInfo": PageInfo,
"edges": ExternalAccountEventConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}fieldSalesProperties
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The properties for the specified postcode.
The possible errors that can be raised are:
- KT-GB-6620: Invalid data.
- KT-GB-6611: We couldn't find a match for this postcode. Please verify it and try again.
- KT-CT-10926: OSS currently unavailable.
- KT-CT-4410: Invalid postcode.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The postal code. |
Query
query FieldSalesProperties($postcode: String!) {
fieldSalesProperties(postcode: $postcode) {
addressKey
addressType
display
line1
line2
line3
line4
line5
postcode
propertyIdentifier
account {
...TelcoAccountTypeFragment
}
fieldSalesVisits {
...FieldSalesVisitTypeFragment
}
}
}Variables
{
"postcode": "abc123"
}Response
{
"data": {
"fieldSalesProperties": [
{
"addressKey": "abc123",
"addressType": "DOMESTIC",
"display": "abc123",
"line1": "abc123",
"line2": "abc123",
"line3": "abc123",
"line4": "abc123",
"line5": "abc123",
"postcode": "abc123",
"propertyIdentifier": "abc123",
"account": TelcoAccountType,
"fieldSalesVisits": [FieldSalesVisitType]
}
]
}
}fraudMeterPointChecks
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check if a given meter point ID is in suspicious meter point IDs list.
Arguments
| Name | Description |
|---|---|
| The meter point ID. |
Query
query FraudMeterPointChecks($meterPointId: String!) {
fraudMeterPointChecks(meterPointId: $meterPointId) {
meterPointId
isInSuspiciousList
}
}Variables
{
"meterPointId": "abc123"
}Response
{
"data": {
"fraudMeterPointChecks": {
"meterPointId": "abc123",
"isInSuspiciousList": true
}
}
}fraudRiskLevel
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check if a given ID and type have a financial risk level.
Arguments
| Name | Description |
|---|---|
| The ID to be checked. |
| The type of object the ID represents. |
Query
query FraudRiskLevel(
$identifierValue: String!,
$identifierType: String!
) {
fraudRiskLevel(
identifierValue: $identifierValue,
identifierType: $identifierType
) {
identifierValue
identifierType
riskLevel
isInRiskList
}
}Variables
{
"identifierValue": "abc123",
"identifierType": "abc123"
}Response
{
"data": {
"fraudRiskLevel": {
"identifierValue": "abc123",
"identifierType": "abc123",
"riskLevel": "1.0",
"isInRiskList": true
}
}
}getAccountEquipmentDetailsFromOrder
Type:[EquipmentItemType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get equipment information for the given product order for the given Account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4643: Product order not found for account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The Account linked to the given broadband order. |
| The broadband order id for the equipment information. |
Query
query GetAccountEquipmentDetailsFromOrder(
$accountNumber: String!,
$orderId: String!
) {
getAccountEquipmentDetailsFromOrder(
accountNumber: $accountNumber,
orderId: $orderId
) {
id
serialNumber
sku
description
status
createdAt
updatedAt
ownership
ownedAt
}
}Variables
{
"accountNumber": "abc123",
"orderId": "abc123"
}Response
{
"data": {
"getAccountEquipmentDetailsFromOrder": [
{
"id": "abc123",
"serialNumber": "abc123",
"sku": "abc123",
"description": "abc123",
"status": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"ownership": "CUSTOMER_OWNED",
"ownedAt": "2020-01-01T00:00:00.000Z"
}
]
}
}getAccountEquipmentOrders
Type:[EquipmentOrderType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get equipment information for the chosen Account product.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4643: Product order not found for account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The Account linked to the given broadband order. |
| The broadband order id for the equipment information. |
Query
query GetAccountEquipmentOrders(
$accountNumber: String!,
$orderId: String!
) {
getAccountEquipmentOrders(
accountNumber: $accountNumber,
orderId: $orderId
) {
uuid
supplyPoint {
...SupplyPointTypeFragment
}
deliveryAddress
createdAt
updatedAt
orderLines {
...EquipmentOrderLineTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"orderId": "abc123"
}Response
{
"data": {
"getAccountEquipmentOrders": [
{
"uuid": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"supplyPoint": SupplyPointType,
"deliveryAddress": {"key": "value"},
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"orderLines": [EquipmentOrderLineType]
}
]
}
}getAccountNumberForSupplyPointId
Type:AccountType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get account number for supplypointid.
The possible errors that can be raised are:
- KT-CT-4645: No supply point found belonging to the account for the provided identifier.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Supply point id. |
Query
query GetAccountNumberForSupplyPointId($supplyPointId: Int!) {
getAccountNumberForSupplyPointId(supplyPointId: $supplyPointId) {
accountNumber
}
}Variables
{
"supplyPointId": 1
}Response
{
"data": {
"getAccountNumberForSupplyPointId": {
"accountNumber": "abc123"
}
}
}getAccountProductOrderStatus
Type:[GetAccountProductOrderStatusOutput]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the status of product orders associated with an account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number to query product orders. |
Query
query GetAccountProductOrderStatus($accountNumber: String!) {
getAccountProductOrderStatus(accountNumber: $accountNumber) {
orderId
orderType
orderedAt
status
cancellationReason
cancellationSubreason
products {
...TelcoProductTypeFragment
}
canAmendOrder
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"getAccountProductOrderStatus": [
{
"orderId": "abc123",
"orderType": "abc123",
"orderedAt": "2020-01-01T00:00:00.000Z",
"status": "abc123",
"cancellationReason": "abc123",
"cancellationSubreason": "abc123",
"products": [TelcoProductType],
"canAmendOrder": true
}
]
}
}getAppointmentsForAccountNumber
Type:AvailableInstallationAppointmentOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Available installation appointments for a given account.
The possible errors that can be raised are:
- KT-CT-4623: Unauthorized.
- KT-CT-4621: No current or future quote found for account.
- KT-CT-4918: Cannot rebook an installation appointment that has already been completed.
- KT-CT-4914: Unable to complete installation request.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
| The requested installation slot. |
Query
query GetAppointmentsForAccountNumber(
$accountNumber: String!,
$requestedInstallationSlot: Date
) {
getAppointmentsForAccountNumber(
accountNumber: $accountNumber,
requestedInstallationSlot: $requestedInstallationSlot
) {
availableInstallationAppointments {
...InstallationAppointmentTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"requestedInstallationSlot": "2020-01-01"
}Response
{
"data": {
"getAppointmentsForAccountNumber": {
"availableInstallationAppointments": [InstallationAppointmentType]
}
}
}getAppointmentsForQuote
Type:AvailableInstallationAppointmentOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Available installation appointments for a given quote.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-4916: Unable to look up installation appointments.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The code for the quote request. |
| The requested installation slot. |
Query
query GetAppointmentsForQuote(
$quotingCode: String!,
$requestedInstallationSlot: Date
) {
getAppointmentsForQuote(
quotingCode: $quotingCode,
requestedInstallationSlot: $requestedInstallationSlot
) {
availableInstallationAppointments {
...InstallationAppointmentTypeFragment
}
}
}Variables
{
"quotingCode": "abc123",
"requestedInstallationSlot": "2020-01-01"
}Response
{
"data": {
"getAppointmentsForQuote": {
"availableInstallationAppointments": [InstallationAppointmentType]
}
}
}getBasketSummary
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The basket summary for the quote request.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The code for the quote request. |
Query
query GetBasketSummary($quotingCode: String!) {
getBasketSummary(quotingCode: $quotingCode) {
quotingCode
selectedOffering {
...QuotedCatalogOfferingFragment
}
installationAppointment {
...InstallationAppointmentTypeFragment
}
address {
...AddressTypeFragment
}
}
}Variables
{
"quotingCode": "abc123"
}Response
{
"data": {
"getBasketSummary": {
"quotingCode": "abc123",
"selectedOffering": QuotedCatalogOffering,
"installationAppointment": InstallationAppointmentType,
"address": AddressType
}
}
}getBusinessRulesResults
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Business Rules Evaluation Resutls For Recontract.
The possible errors that can be raised are:
- KT-CT-12502: Flow not found.
- KT-CT-10006: Account not found.
- KT-CT-10003: Contract not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number for account. |
Query
query GetBusinessRulesResults($accountNumber: String!) {
getBusinessRulesResults(accountNumber: $accountNumber) {
adminFeesForEarlyRenewal
suspectedFraud
accountInDunning
openCeaseOrder
suspendedServices
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"getBusinessRulesResults": {
"adminFeesForEarlyRenewal": true,
"suspectedFraud": true,
"accountInDunning": true,
"openCeaseOrder": true,
"suspendedServices": true
}
}
}getCancelledContractDetails
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Cancellation details for the chosen contract.
The possible errors that can be raised are:
- NOT_IMPLEMENTED: Not implemented.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The id of the associated account for the chosen contract. |
| The id of the chosen contract. |
Query
query GetCancelledContractDetails(
$accountId: String,
$contractId: String
) {
getCancelledContractDetails(
accountId: $accountId,
contractId: $contractId
) {
status
cancellationDate
}
}Variables
{
"accountId": "abc123",
"contractId": "abc123"
}Response
{
"data": {
"getCancelledContractDetails": {
"status": "abc123",
"cancellationDate": "2020-01-01"
}
}
}getCpeOptions
Type:[CPEOption]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
List of CPE options for service.
The possible errors that can be raised are:
- KT-CT-4178: No account found with given account number.
- KT-CT-10902: Service not found.
- KT-CT-4634: Quoted product with given id not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number to which service belongs. |
| Id of service to get CPE options for. |
Query
query GetCpeOptions(
$accountNumber: String!,
$serviceId: Int!
) {
getCpeOptions(
accountNumber: $accountNumber,
serviceId: $serviceId
) {
cpeFamily
currentQuantity
supportedQuantities
}
}Variables
{
"accountNumber": "abc123",
"serviceId": 1
}Response
{
"data": {
"getCpeOptions": [
{
"cpeFamily": "abc123",
"currentQuantity": 1,
"supportedQuantities": [1]
}
]
}
}getEarlyTerminationFee
Type:EarlyTerminationFee
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Early termination fee for the chosen product.
The possible errors that can be raised are:
- NOT_IMPLEMENTED: Not implemented.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account id for the termination fee. |
| The contract id for the termination fee. |
| The cancellation date for the termination fee. |
Query
query GetEarlyTerminationFee(
$accountId: String,
$contractId: String,
$cancellationDate: Date
) {
getEarlyTerminationFee(
accountId: $accountId,
contractId: $contractId,
cancellationDate: $cancellationDate
) {
amount
}
}Variables
{
"accountId": "abc123",
"contractId": "abc123",
"cancellationDate": "2020-01-01"
}Response
{
"data": {
"getEarlyTerminationFee": {
"amount": "1.0"
}
}
}getEquipmentOrders
Type:[EquipmentOrderType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get equipment information for the chosen product.
The possible errors that can be raised are:
- KT-CT-4101: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The broadband order id for the equipment information. |
Query
query GetEquipmentOrders($orderId: String) {
getEquipmentOrders(orderId: $orderId) {
uuid
supplyPoint {
...SupplyPointTypeFragment
}
deliveryAddress
createdAt
updatedAt
orderLines {
...EquipmentOrderLineTypeFragment
}
}
}Variables
{
"orderId": "abc123"
}Response
{
"data": {
"getEquipmentOrders": [
{
"uuid": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"supplyPoint": SupplyPointType,
"deliveryAddress": {"key": "value"},
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"orderLines": [EquipmentOrderLineType]
}
]
}
}getExtrasForSelectedProduct
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Available extras for the chosen product.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-4626: No product selected for the given quote code.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The code for the quote request. |
Query
query GetExtrasForSelectedProduct($quotingCode: String!) {
getExtrasForSelectedProduct(quotingCode: $quotingCode) {
family
productExtra {
...TelcoProductExtraTypeFragment
}
}
}Variables
{
"quotingCode": "abc123"
}Response
{
"data": {
"getExtrasForSelectedProduct": [
{
"family": "abc123",
"productExtra": [TelcoProductExtraType]
}
]
}
}getFaultAppointmentsForAccount
Type:[FaultAppointment]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Retrieve fault appointments for a telco account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-10958: Fault not linked to provided account.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account identifier. |
| A list of complaint UUIDs to filter by. If empty, appointments for all faults will be returned. |
| A list of statuses to filter by. If empty, all statuses are accepted. |
| a list of types to filter by. If empty, all types are accepted. |
Query
query GetFaultAppointmentsForAccount(
$accountNumber: String!,
$faultIds: [String],
$statuses: [AppointmentStatusNames],
$appointmentTypes: [FaultAppointmentType]!
) {
getFaultAppointmentsForAccount(
accountNumber: $accountNumber,
faultIds: $faultIds,
statuses: $statuses,
appointmentTypes: $appointmentTypes
) {
id
appointmentType
status
startsAt
endsAt
provider
providerReference
customerContact {
...CustomerContactTypeFragment
}
notes {
...FaultAppointmentNotesTypeFragment
}
requestedAt
confirmedAt
cancelledAt
createdAt
updatedAt
}
}Variables
{
"accountNumber": "abc123",
"faultIds": ["abc123"],
"statuses": "PENDING",
"appointmentTypes": "NETWORK"
}Response
{
"data": {
"getFaultAppointmentsForAccount": [
{
"id": "abc123",
"appointmentType": "NETWORK",
"status": "PENDING",
"startsAt": "2020-01-01T00:00:00.000Z",
"endsAt": "2020-01-01T00:00:00.000Z",
"provider": "OPENREACH",
"providerReference": "abc123",
"customerContact": CustomerContactType,
"notes": FaultAppointmentNotesType,
"requestedAt": "2020-01-01T00:00:00.000Z",
"confirmedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z"
}
]
}
}getHardwareTrackingStatus
Type:[HardwareTrackingStatusType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Hardware tracking status for the chosen account.
The possible errors that can be raised are:
- NOT_IMPLEMENTED: Not implemented.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account ID for the chosen account. |
Query
query GetHardwareTrackingStatus($accountId: String!) {
getHardwareTrackingStatus(accountId: $accountId) {
upcomingDeliveries {
...UpcomingDeliveryTypeFragment
}
pastDeliveries {
...PastDeliveryTypeFragment
}
}
}Variables
{
"accountId": "abc123"
}Response
{
"data": {
"getHardwareTrackingStatus": [
{
"upcomingDeliveries": [UpcomingDeliveryType],
"pastDeliveries": [PastDeliveryType]
}
]
}
}getLatestFailedPaymentAttempts
Type:LatestFailedPaymentAttemptsType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Checks if all attempts of the latest payment failed.
The possible errors that can be raised are:
- KT-CT-4178: No account found with given account number.
- KT-CT-3983: The ledger has no failed payment.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account number. |
Query
query GetLatestFailedPaymentAttempts($accountNumber: String!) {
getLatestFailedPaymentAttempts(accountNumber: $accountNumber) {
maxAttemptsAllowed
allAttemptsTriedAndFailed
isFirstAttempt
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"getLatestFailedPaymentAttempts": {
"maxAttemptsAllowed": 1,
"allAttemptsTriedAndFailed": true,
"isFirstAttempt": true
}
}
}getOnSiteJobsAppointmentByExternalReference
Type:OnSiteJobsAppointmentType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get appointment by external reference and agent.
Arguments
| Name | Description |
|---|---|
| The external reference of the appointment to return. |
| The agent for the appointment. |
Query
query GetOnSiteJobsAppointmentByExternalReference(
$externalReference: String!,
$agent: OnSiteJobsAgent!
) {
getOnSiteJobsAppointmentByExternalReference(
externalReference: $externalReference,
agent: $agent
) {
id
externalReference
createdAt
request {
...OnSiteJobsRequestTypeFragment
}
startAt
endAt
preferredStartDate
deadlineDate
jobDetails
jobNotes
comments
cancellationSubCategory
externalJobType
externalJobTypeMapping {
...OnSiteJobsExternalJobTypeMappingTypeFragment
}
krakenWorkCategory
agent
status
commsStrategy
cancellationCategory
appointmentActions {
...OnSiteJobsAppointmentActionConnectionTypeConnectionFragment
}
assets {
...OnSiteJobsAssetConnectionTypeConnectionFragment
}
}
}Variables
{
"externalReference": "abc123",
"agent": "GENERIC_AGENT"
}Response
{
"data": {
"getOnSiteJobsAppointmentByExternalReference": {
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"externalReference": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"request": OnSiteJobsRequestType,
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"preferredStartDate": "2020-01-01",
"deadlineDate": "2020-01-01",
"jobDetails": {"key": "value"},
"jobNotes": {"key": "value"},
"comments": "abc123",
"cancellationSubCategory": "abc123",
"externalJobType": "abc123",
"externalJobTypeMapping": OnSiteJobsExternalJobTypeMappingType,
"krakenWorkCategory": "EXCHANGE",
"agent": "GENERIC_AGENT",
"status": "PENDING",
"commsStrategy": "SEND_ALL",
"cancellationCategory": "CANCELLED_BY_CUSTOMER",
"appointmentActions": OnSiteJobsAppointmentActionConnectionTypeConnection,
"assets": OnSiteJobsAssetConnectionTypeConnection
}
}
}getOnSiteJobsAppointmentById
Type:OnSiteJobsAppointmentType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a specific appointment by Kraken ID.
Arguments
| Name | Description |
|---|---|
| The Kraken ID of the appointment to return. |
Query
query GetOnSiteJobsAppointmentById($appointmentId: UUID) {
getOnSiteJobsAppointmentById(appointmentId: $appointmentId) {
id
externalReference
createdAt
request {
...OnSiteJobsRequestTypeFragment
}
startAt
endAt
preferredStartDate
deadlineDate
jobDetails
jobNotes
comments
cancellationSubCategory
externalJobType
externalJobTypeMapping {
...OnSiteJobsExternalJobTypeMappingTypeFragment
}
krakenWorkCategory
agent
status
commsStrategy
cancellationCategory
appointmentActions {
...OnSiteJobsAppointmentActionConnectionTypeConnectionFragment
}
assets {
...OnSiteJobsAssetConnectionTypeConnectionFragment
}
}
}Variables
{
"appointmentId": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}Response
{
"data": {
"getOnSiteJobsAppointmentById": {
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"externalReference": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"request": OnSiteJobsRequestType,
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"preferredStartDate": "2020-01-01",
"deadlineDate": "2020-01-01",
"jobDetails": {"key": "value"},
"jobNotes": {"key": "value"},
"comments": "abc123",
"cancellationSubCategory": "abc123",
"externalJobType": "abc123",
"externalJobTypeMapping": OnSiteJobsExternalJobTypeMappingType,
"krakenWorkCategory": "EXCHANGE",
"agent": "GENERIC_AGENT",
"status": "PENDING",
"commsStrategy": "SEND_ALL",
"cancellationCategory": "CANCELLED_BY_CUSTOMER",
"appointmentActions": OnSiteJobsAppointmentActionConnectionTypeConnection,
"assets": OnSiteJobsAssetConnectionTypeConnection
}
}
}getOnSiteJobsAppointmentSlots
Type:OnSiteJobsAppointmentSlotResultsType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get appointment slot results using appointment booking session ID.
Arguments
| Name | Description |
|---|---|
| Appointment booking session ID to fetch slots for. ID can be obtained via |
| Appointment date (inclusive) to fetch slots from. |
Query
query GetOnSiteJobsAppointmentSlots(
$appointmentBookingSessionId: UUID!,
$appointmentDate: Date!
) {
getOnSiteJobsAppointmentSlots(
appointmentBookingSessionId: $appointmentBookingSessionId,
appointmentDate: $appointmentDate
) {
slots {
...OnSiteJobsAppointmentSlotTypeFragment
}
isComplete
}
}Variables
{
"appointmentBookingSessionId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"appointmentDate": "2020-01-01"
}Response
{
"data": {
"getOnSiteJobsAppointmentSlots": {
"slots": OnSiteJobsAppointmentSlotType,
"isComplete": true
}
}
}getOnSiteJobsCheckResults
Type:OnSiteJobsCheckResultsType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get check results for creating requests and appointments.
Arguments
| Name | Description |
|---|---|
| Supply point identifier to market name mapping. If this is provided, |
| List of internal IDs of supply points. If this is provided, |
| Job type for appointment checks. |
Query
query GetOnSiteJobsCheckResults(
$supplyPointIdentifierToMarketNameMapping: [SupplyPointIdentifierToMarketNameMappingInput],
$supplyPointInternalIds: [Int],
$jobType: String
) {
getOnSiteJobsCheckResults(
supplyPointIdentifierToMarketNameMapping: $supplyPointIdentifierToMarketNameMapping,
supplyPointInternalIds: $supplyPointInternalIds,
jobType: $jobType
) {
requestCheckResults {
...CheckResultTypeFragment
}
appointmentCheckResults {
...CheckResultTypeFragment
}
canCreateRequest
canCreateAppointment
hasRequestWarnings
hasAppointmentWarnings
}
}Variables
{
"supplyPointIdentifierToMarketNameMapping": SupplyPointIdentifierToMarketNameMappingInput,
"supplyPointInternalIds": [1],
"jobType": "abc123"
}Response
{
"data": {
"getOnSiteJobsCheckResults": {
"requestCheckResults": [CheckResultType],
"appointmentCheckResults": [CheckResultType],
"canCreateRequest": true,
"canCreateAppointment": true,
"hasRequestWarnings": true,
"hasAppointmentWarnings": true
}
}
}getOnSiteJobsJobTypes
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get available job types for an on-site jobs request.
Arguments
| Name | Description |
|---|---|
| The ID of the request for which to fetch available job types. |
| Work category to filter job types by. If it's left as blank, all job types will be returned. |
Query
query GetOnSiteJobsJobTypes(
$requestId: UUID!,
$workCategory: OnSiteJobsWorkCategory
) {
getOnSiteJobsJobTypes(
requestId: $requestId,
workCategory: $workCategory
) {
id
name
}
}Variables
{
"requestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"workCategory": "EXCHANGE"
}Response
{
"data": {
"getOnSiteJobsJobTypes": [
{
"id": "abc123",
"name": "abc123"
}
]
}
}getOnSiteJobsRequestById
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a specific request by ID.
Arguments
| Name | Description |
|---|---|
| The ID of the request to return. |
Query
query GetOnSiteJobsRequestById($requestId: UUID) {
getOnSiteJobsRequestById(requestId: $requestId) {
id
reason
subReason
isEmergency
externalReference
agent
comment
account
marketSupplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
property {
...PropertyTypeFragment
}
status
overallActionsStatus
requestActions {
...OnSiteJobsRequestActionConnectionTypeConnectionFragment
}
assets {
...OnSiteJobsAssetConnectionTypeConnectionFragment
}
appointments {
...OnSiteJobsAppointmentConnectionTypeConnectionFragment
}
createdBy
}
}Variables
{
"requestId": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}Response
{
"data": {
"getOnSiteJobsRequestById": {
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"reason": "abc123",
"subReason": "abc123",
"isEmergency": true,
"externalReference": "abc123",
"agent": "abc123",
"comment": "abc123",
"account": "abc123",
"marketSupplyPoints": SupplyPointConnectionTypeConnection,
"property": PropertyType,
"status": "HELD",
"overallActionsStatus": "SKIPPED",
"requestActions": OnSiteJobsRequestActionConnectionTypeConnection,
"assets": OnSiteJobsAssetConnectionTypeConnection,
"appointments": OnSiteJobsAppointmentConnectionTypeConnection,
"createdBy": 1
}
}
}getOnSiteJobsRequests
Type:OnSiteJobsRequestConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Filter On-Site Jobs Requests.
Arguments
| Name | Description |
|---|---|
| A list of supply point identifiers to filter requests by. If this is provided, |
| List of internal IDs of supply points to filter requests by. If this is provided, |
| A list of statuses to filter requests by. |
| A list of account numbers to filter requests by. |
| |
| |
| |
|
Query
query GetOnSiteJobsRequests(
$supplyPointsToMarketNamesMapping: [SupplyPointIdentifierToMarketNameMappingInput],
$supplyPointInternalIds: [Int],
$statuses: [OnSiteJobsRequestStatus],
$accountNumbers: [NonEmptyString!],
$before: String,
$after: String,
$first: Int,
$last: Int
) {
getOnSiteJobsRequests(
supplyPointsToMarketNamesMapping: $supplyPointsToMarketNamesMapping,
supplyPointInternalIds: $supplyPointInternalIds,
statuses: $statuses,
accountNumbers: $accountNumbers,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...OnSiteJobsRequestConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"supplyPointsToMarketNamesMapping": SupplyPointIdentifierToMarketNameMappingInput,
"supplyPointInternalIds": [1],
"statuses": "HELD",
"accountNumbers": [NonEmptyString],
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"getOnSiteJobsRequests": {
"pageInfo": PageInfo,
"edges": OnSiteJobsRequestConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}getProductOrderStatus
Type:GetProductOrderStatusOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the status of a product order.
The possible errors that can be raised are:
- KT-CT-4643: Product order not found for account.
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Product Order status input. |
Query
query GetProductOrderStatus($input: GetProductOrderStatusInput!) {
getProductOrderStatus(input: $input) {
orderId
orderType
status
cancellationReason
cancellationSubreason
workflows {
...WorkflowOutputFragment
}
products {
...TelcoProductTypeFragment
}
}
}Variables
{
"input": GetProductOrderStatusInput
}Response
{
"data": {
"getProductOrderStatus": {
"orderId": "abc123",
"orderType": "abc123",
"status": "abc123",
"cancellationReason": "abc123",
"cancellationSubreason": "abc123",
"workflows": [WorkflowOutput],
"products": [TelcoProductType]
}
}
}getRenewalDetails
Type:CreateTelcoRenewalQuoteBaseOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The renewal details for a given account.
The possible errors that can be raised are:
- KT-CT-4623: Unauthorized.
- KT-CT-10918: Could not find rollover for given account.
- KT-CT-10919: Could not find quote request for given rollover.
- KT-CT-1501: Agreement not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
Query
query GetRenewalDetails($accountNumber: String!) {
getRenewalDetails(accountNumber: $accountNumber) {
code
telcoProducts {
...TelcoProductsFragment
}
currentProductExtras {
...TelcoProductExtrasTypeFragment
}
newContractStartDate
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"getRenewalDetails": {
"code": "abc123",
"telcoProducts": TelcoProducts,
"currentProductExtras": TelcoProductExtrasType,
"newContractStartDate": "2020-01-01"
}
}
}getSelectedProductAndExtras
Type:QuotedTelcoProductOutputType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The selected product and extras for the quote request.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The code for the quote request. |
Query
query GetSelectedProductAndExtras($quotingCode: String!) {
getSelectedProductAndExtras(quotingCode: $quotingCode) {
quotingCode
product {
...QuotedTelcoProductTypeFragment
}
productExtras {
...TelcoProductExtrasTypeFragment
}
}
}Variables
{
"quotingCode": "abc123"
}Response
{
"data": {
"getSelectedProductAndExtras": {
"quotingCode": "abc123",
"product": QuotedTelcoProductType,
"productExtras": [TelcoProductExtrasType]
}
}
}getSpecialCircumstanceTypes
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
List of the current special circumstances in use.
Query
query GetSpecialCircumstanceTypes {
getSpecialCircumstanceTypes {
circumstanceCode
description
}
}Response
{
"data": {
"getSpecialCircumstanceTypes": [
{
"circumstanceCode": "abc123",
"description": "abc123"
}
]
}
}getSwitchMatchResult
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Switch match results.
The possible errors that can be raised are:
- KT-GB-10602: Invalid match request ID.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Switch match request id. |
Query
query GetSwitchMatchResult($matchRequestId: UUID!) {
getSwitchMatchResult(matchRequestId: $matchRequestId) {
residentialSwitchMatchConfirmation {
...ResidentialSwitchMatchConfirmationTypeFragment
}
residentialSwitchMatchFailure {
...ResidentialSwitchMatchFailureTypeFragment
}
messageDeliveryFailure {
...MessageDeliveryFailureTypeFragment
}
matchRequestStatus
}
}Variables
{
"matchRequestId": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}Response
{
"data": {
"getSwitchMatchResult": {
"residentialSwitchMatchConfirmation": ResidentialSwitchMatchConfirmationType,
"residentialSwitchMatchFailure": ResidentialSwitchMatchFailureType,
"messageDeliveryFailure": MessageDeliveryFailureType,
"matchRequestStatus": "abc123"
}
}
}getTelcoTroubleshootingSessions
Type:[TroubleshootingSessionType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Retrieve troubleshooting sessions for a telco account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-10942: No active services found.
- KT-CT-10942: No active services found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account identifier. |
| A list of session IDs to retrieve. If empty or null, all sessions for the account are returned. |
| A list of statuses to filter by. If empty, all statuses are accepted. |
| The maximum number of steps to retrieve per session. |
Query
query GetTelcoTroubleshootingSessions(
$accountNumber: String!,
$sessionIds: [ID],
$statuses: [TroubleshootingSessionStatus],
$stepsLimit: Int
) {
getTelcoTroubleshootingSessions(
accountNumber: $accountNumber,
sessionIds: $sessionIds,
statuses: $statuses,
stepsLimit: $stepsLimit
) {
sessionId
playbookVersion
status
createdAt
context {
...TroubleshootingContextEntryTypeFragment
}
steps {
...TroubleshootingStepInstanceTypeFragment
}
nextRecommendedStep {
...TroubleshootingStepDefinitionTypeFragment
}
otherNextSteps {
...TroubleshootingStepDefinitionTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"sessionIds": ["abc123"],
"statuses": "OPEN",
"stepsLimit": 1
}Response
{
"data": {
"getTelcoTroubleshootingSessions": [
{
"sessionId": "abc123",
"playbookVersion": "abc123",
"status": "OPEN",
"createdAt": "2020-01-01T00:00:00.000Z",
"context": TroubleshootingContextEntryType,
"steps": TroubleshootingStepInstanceType,
"nextRecommendedStep": TroubleshootingStepDefinitionType,
"otherNextSteps": [TroubleshootingStepDefinitionType]
}
]
}
}getTostcoBrands
Type:[TOSTCoBrand]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
List of all UK communication providers registered with TOTSCo.
Query
query GetTostcoBrands {
getTostcoBrands {
name
id
customerAssistUrl
salesAssistUrl
isActive
}
}Response
{
"data": {
"getTostcoBrands": [
{
"name": "abc123",
"id": "abc123",
"customerAssistUrl": "abc123",
"salesAssistUrl": "abc123",
"isActive": true
}
]
}
}getWifiPolicy
Type:WifiPolicyOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a user's wifi policy.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-10929: An error was encountered retrieving the wifi policy settings.
- KT-CT-10930: An error was encountered retrieving the customer's reference.
- KT-CT-10926: OSS currently unavailable.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Input for getting a user's wifi policy. |
Query
query GetWifiPolicy($input: GetWifiPolicyInput!) {
getWifiPolicy(input: $input) {
antiMalwareEnabled
scamSafeEnabled
homeworkTime {
...HomeworkTimeTypeFragment
}
kidsSafe {
...KidsSafeTypeFragment
}
}
}Variables
{
"input": GetWifiPolicyInput
}Response
{
"data": {
"getWifiPolicy": {
"antiMalwareEnabled": true,
"scamSafeEnabled": true,
"homeworkTime": HomeworkTimeType,
"kidsSafe": KidsSafeType
}
}
}goodsProducts
Type:GoodsProductConnectionTypeConnection
URL:https://api.cuckoogb.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.cuckoogb.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.cuckoogb.kraken.tech/v1/graphql/
List quotes given an account number or retrieve a Goods quote given a quote code.
The possible errors that can be raised are:
- KT-CT-8204: Invalid arguments.
- KT-CT-8223: Unauthorized.
- KT-CT-8201: Received an invalid quoteId.
- KT-CT-8204: Invalid arguments.
- KT-CT-1113: Disabled GraphQL field requested.
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
}
]
}
}hasEeroRouter
Type:Boolean
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Does the user's first account have an Eero Pro 6 as their primary router.
Query
query HasEeroRouter {
hasEeroRouter
}Response
{
"data": {
"hasEeroRouter": true
}
}inboundCallAverageWaitTime
Type:InboundCallAverageWaitTimeType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the average wait time for an inbound call.
Query
query InboundCallAverageWaitTime {
inboundCallAverageWaitTime {
yesterday
recent
}
}Response
{
"data": {
"inboundCallAverageWaitTime": {
"yesterday": 1,
"recent": 1
}
}
}inkCommsTemplate
Type:String!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Fetch the content of a given comms template name.
The possible errors that can be raised are:
- KT-CT-7648: The comms template was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the comms template. |
Query
query InkCommsTemplate($templateIdentifier: String!) {
inkCommsTemplate(templateIdentifier: $templateIdentifier)
}Variables
{
"templateIdentifier": "abc123"
}Response
{
"data": {
"inkCommsTemplate": "abc123"
}
}inkConversation
Type:InkConversation!
URL:https://api.cuckoogb.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
}
accountNumber
events {
...InkConversationEventsConnectionFragment
}
buckets {
...InkBucketFragment
}
tags {
...InkTagFragment
}
}
}Variables
{
"accountNumber": "abc123",
"conversationRelayId": "abc123"
}Response
{
"data": {
"inkConversation": {
"id": "abc123",
"status": "OPEN",
"contactChannelIdentities": InkContactChannelIdentities,
"accountUsers": [AccountUserType],
"accountNumber": "abc123",
"events": InkConversationEventsConnection,
"buckets": [InkBucket],
"tags": [InkTag]
}
}
}inkMessage
Type:InkMessage!
URL:https://api.cuckoogb.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
}
... on InkLiveChatMessage {
...InkLiveChatMessageFragment
}
}
}Variables
{
"messageRelayId": "abc123"
}Response
{
"data": {
"inkMessage": InkEmail
}
}inkMessageAttributes
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get attributes of a message at time of query.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The message's vendor. |
| The message's vendor id. |
Query
query InkMessageAttributes(
$vendor: String!,
$vendorId: String!
) {
inkMessageAttributes(
vendor: $vendor,
vendorId: $vendorId
) {
accounts
accountType
buckets
conversationId
hourOccurredAt
hoursWaiting
isAssignedToUserBucket
isFirstFromContact
isNewThread
opsTeam
recentlyReceivedAutoReplies
replyToCommsSms
weekDayOccurredAt
}
}Variables
{
"vendor": "abc123",
"vendorId": "abc123"
}Response
{
"data": {
"inkMessageAttributes": {
"accounts": "abc123",
"accountType": "abc123",
"buckets": ["abc123"],
"conversationId": 1,
"hourOccurredAt": 1,
"hoursWaiting": 1,
"isAssignedToUserBucket": true,
"isFirstFromContact": true,
"isNewThread": true,
"opsTeam": "abc123",
"recentlyReceivedAutoReplies": "abc123",
"replyToCommsSms": "abc123",
"weekDayOccurredAt": 1
}
}
}inkMessageTextContent
Type:String!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Fetch the text content of a given message.
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The message's id or relay id. |
Query
query InkMessageTextContent($messageId: ID!) {
inkMessageTextContent(messageId: $messageId)
}Variables
{
"messageId": "abc123"
}Response
{
"data": {
"inkMessageTextContent": "abc123"
}
}internalCompanies
Type:InternalCompanyConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get all internal companies.
Query
query InternalCompanies(
$before: String,
$after: String,
$first: Int,
$last: Int
) {
internalCompanies(
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...InternalCompanyConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"internalCompanies": {
"pageInfo": PageInfo,
"edges": InternalCompanyConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}internalCompany
Type:InternalCompanyType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get an internal company by a set of criteria. Criteria will be added as needed, check documentation for the criteria object to see what is currently supported.
The possible errors that can be raised are:
- KT-CT-14401: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Criteria to identify the internal company. |
Query
query InternalCompany($criteria: SearchCriteriaInput!) {
internalCompany(criteria: $criteria) {
id
displayableNumber
name
primaryRegistrationNumber
secondaryRegistrationNumber
primaryTaxIdentifierNumber
legalAddress {
...RichAddressTypeFragment
}
}
}Variables
{
"criteria": SearchCriteriaInput
}Response
{
"data": {
"internalCompany": {
"id": "abc123",
"displayableNumber": "abc123",
"name": "abc123",
"primaryRegistrationNumber": "abc123",
"secondaryRegistrationNumber": "abc123",
"primaryTaxIdentifierNumber": "abc123",
"legalAddress": RichAddressType
}
}
}isCustomerEligibleToGiveFeedbackFollowingCall
Type:Boolean
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check if customer is eligible to give feedback following a phone call.
The possible errors that can be raised are:
- KT-CT-5519: Voice call not found.
- KT-CT-5521: Eligibility configuration not found.
- KT-CT-5522: Invalid eligibility configuration.
- KT-CT-5523: Invalid account or account user.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Number of the account. |
| Number of the account user. |
| ID of the voice call. |
Query
query IsCustomerEligibleToGiveFeedbackFollowingCall(
$accountNumber: String!,
$accountUserNumber: String!,
$callId: Int!
) {
isCustomerEligibleToGiveFeedbackFollowingCall(
accountNumber: $accountNumber,
accountUserNumber: $accountUserNumber,
callId: $callId
)
}Variables
{
"accountNumber": "abc123",
"accountUserNumber": "abc123",
"callId": 1
}Response
{
"data": {
"isCustomerEligibleToGiveFeedbackFollowingCall": true
}
}isCustomerEligibleToGiveFeedbackFollowingEmail
Type:Boolean
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check if customer is eligible to give feedback following an email conversation.
The possible errors that can be raised are:
- KT-CT-5520: Ink conversation not found.
- KT-CT-5521: Eligibility configuration not found.
- KT-CT-5522: Invalid eligibility configuration.
- KT-CT-5523: Invalid account or account user.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Number of the account. |
| Number of the account user. |
| ID of the Ink conversation. |
| Datetime when the conversation was closed. |
Query
query IsCustomerEligibleToGiveFeedbackFollowingEmail(
$accountNumber: String!,
$accountUserNumber: String!,
$inkConversationId: Int!,
$conversationClosedAt: DateTime!
) {
isCustomerEligibleToGiveFeedbackFollowingEmail(
accountNumber: $accountNumber,
accountUserNumber: $accountUserNumber,
inkConversationId: $inkConversationId,
conversationClosedAt: $conversationClosedAt
)
}Variables
{
"accountNumber": "abc123",
"accountUserNumber": "abc123",
"inkConversationId": 1,
"conversationClosedAt": "2020-01-01T00:00:00.000Z"
}Response
{
"data": {
"isCustomerEligibleToGiveFeedbackFollowingEmail": true
}
}isPasswordResetTokenValid
Type:Boolean
URL:https://api.cuckoogb.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
}
}joinSupplierProcess
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The possible errors that can be raised are:
- KT-CT-10332: Join supplier process not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The join supplier process number, e.g. JS-12345678. |
Query
query JoinSupplierProcess($number: String!) {
joinSupplierProcess(number: $number) {
id
status
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
number
subtype
contractIdentifiers
currentProcessData {
...JoinSupplierProcessDataTypeFragment
}
ledgerAssignments {
...JoinSupplierLedgerAssignmentConnectionTypeConnectionFragment
}
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"joinSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection,
"number": "abc123",
"subtype": "abc123",
"contractIdentifiers": ["abc123"],
"currentProcessData": JoinSupplierProcessDataType,
"ledgerAssignments": JoinSupplierLedgerAssignmentConnectionTypeConnection
}
}
}krakenVersion
Type:KrakenVersionType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
isPinned
}
}Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123",
"isPinned": true
}
}
}leadBlocklistValidations
Type:LeadBlockListValidationOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Run a blocklist validation out of some dynamic client entry types.
Arguments
| Name | Description |
|---|---|
| List of client-configured black list entry types. |
Query
query LeadBlocklistValidations($blockListEntries: LeadBlockListValidationInput) {
leadBlocklistValidations(blockListEntries: $blockListEntries) {
valid
blockListHits
}
}Variables
{
"blockListEntries": LeadBlockListValidationInput
}Response
{
"data": {
"leadBlocklistValidations": {
"valid": true,
"blockListHits": ["abc123"]
}
}
}leadByNumber
Type:LeadOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get lead details by number.
The possible errors that can be raised are:
- KT-CT-8907: Lead not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Lead number. |
Query
query LeadByNumber($number: String) {
leadByNumber(number: $number) {
leadId
accountNumber
givenName
familyName
billingName
billingAddress {
...AddressOutputFragment
}
billingRichAddress {
...RichAddressTypeFragment
}
email
phoneNumber
number
funnel {
...SalesFunnelFragment
}
stage
extraDetails
extraDetailItems {
...ExtraDetailFragment
}
brand
salesChannel
assignedToTeam
assignedToUser
nationalId
leadType
consents {
...ConsentOutputFragment
}
assignedToAffiliateNumber
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"leadByNumber": {
"leadId": "abc123",
"accountNumber": "abc123",
"givenName": "abc123",
"familyName": "abc123",
"billingName": "abc123",
"billingAddress": AddressOutput,
"billingRichAddress": RichAddressType,
"email": "abc123",
"phoneNumber": "abc123",
"number": "abc123",
"funnel": SalesFunnel,
"stage": "abc123",
"extraDetails": {"key": "value"},
"extraDetailItems": [ExtraDetail],
"brand": "abc123",
"salesChannel": "abc123",
"assignedToTeam": "abc123",
"assignedToUser": "abc123",
"nationalId": "abc123",
"leadType": "abc123",
"consents": [ConsentOutput],
"assignedToAffiliateNumber": "abc123"
}
}
}leads
Type:LeadsConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Fetch all leads for this Kraken, with optional filtering.
Arguments
| Name | Description |
|---|---|
| Input fields for retrieving leads. |
| |
| |
| |
| |
|
Query
query Leads(
$input: LeadsQueryInput,
$offset: Int,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
leads(
input: $input,
offset: $offset,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...LeadsEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"input": LeadsQueryInput,
"offset": 1,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}leaveSupplierProcess
URL:https://api.cuckoogb.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-10333: Missing either number of leave supplier process id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The leave supplier process number, e.g. LS-12345678. |
| The leave supplier process ID. |
Query
query LeaveSupplierProcess(
$number: String,
$leaveSupplierProcessId: ID
) {
leaveSupplierProcess(
number: $number,
leaveSupplierProcessId: $leaveSupplierProcessId
) {
id
status
number
supplyPoints {
...SupplyPointConnectionTypeConnectionFragment
}
subtype
}
}Variables
{
"number": "abc123",
"leaveSupplierProcessId": "abc123"
}Response
{
"data": {
"leaveSupplierProcess": {
"id": "abc123",
"status": "PENDING",
"number": "abc123",
"supplyPoints": SupplyPointConnectionTypeConnection,
"subtype": "abc123"
}
}
}legacyOrderDetails
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The possible errors that can be raised are:
- KT-CT-13101: Order not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Order identifier. |
Query
query LegacyOrderDetails($identifier: String!) {
legacyOrderDetails(identifier: $identifier) {
order {
...LegacyOrderTypeFragment
}
status
resources {
...LegacyOrderResourceFragment
}
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"legacyOrderDetails": {
"order": LegacyOrderType,
"status": "PENDING",
"resources": [LegacyOrderResource]
}
}
}lifecycleProcesses
URL:https://api.cuckoogb.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.cuckoogb.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"
}
}
}lookupFaultAppointmentSlots
Type:AvailableFaultAppointmentSlotsResultType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Retrieve available fault appointment slots for an account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-10941: No active faults found.
- KT-CT-10949: No active broadband service found.
- KT-CT-10950: Invalid date range.
- KT-CT-10951: External service error.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account identifier. |
| Type of fault appointment. |
| Start of date range for available slots. |
| End of date range for available slots. |
| The identifier of the related ticket. This is required in case of adding/changing an appointment for an existing fault. |
Query
query LookupFaultAppointmentSlots(
$accountNumber: String!,
$appointmentType: FaultAppointmentType!,
$earliestDate: Date!,
$latestDate: Date!,
$relatedTicketId: String
) {
lookupFaultAppointmentSlots(
accountNumber: $accountNumber,
appointmentType: $appointmentType,
earliestDate: $earliestDate,
latestDate: $latestDate,
relatedTicketId: $relatedTicketId
) {
slots {
...FaultAppointmentSlotTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"appointmentType": "NETWORK",
"earliestDate": "2020-01-01",
"latestDate": "2020-01-01",
"relatedTicketId": "abc123"
}Response
{
"data": {
"lookupFaultAppointmentSlots": {
"slots": FaultAppointmentSlotType
}
}
}lookupInstallationAppointments
Type:LookupInstallationAppointmentOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Available installation appointments for a given quote. Requires either a Promise ID to fetch an existing lookup result or a Quoting Code to perform a new lookup.
The possible errors that can be raised are:
- KT-CT-10926: OSS currently unavailable.
- KT-CT-4619: Quote with given code not found.
- KT-CT-4620: Badly formed hexadecimal UUID string.
- KT-CT-4916: Unable to look up installation appointments.
- KT-CT-10905: Invalid format for promise.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
Appointment lookup promise input. |
Query
query LookupInstallationAppointments($input: LookupInstallationAppointmentInput!) {
lookupInstallationAppointments(input: $input) {
promiseId
result {
...AvailableInstallationAppointmentOutputFragment
}
}
}Variables
{
"input": LookupInstallationAppointmentInput
}Response
{
"data": {
"lookupInstallationAppointments": {
"promiseId": "abc123",
"result": AvailableInstallationAppointmentOutput
}
}
}loyaltyCards
Type:[LoyaltyCardType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get all loyalty cards for the given account user.
The possible errors that can be raised are:
- KT-CT-5412: No account user exists with the given id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Account user id. |
Query
query LoyaltyCards($accountUserId: String!) {
loyaltyCards(accountUserId: $accountUserId) {
id
scheme
number
status
}
}Variables
{
"accountUserId": "abc123"
}Response
{
"data": {
"loyaltyCards": [
{
"id": "abc123",
"scheme": "abc123",
"number": "abc123",
"status": "abc123"
}
]
}
}loyaltyPointLedgerEntry
Type:LoyaltyPointLedgerEntryType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Resolve a loyalty point ledger entry.
The possible errors that can be raised are:
- KT-CT-9215: Loyalty points balance query disabled.
- KT-CT-9223: Loyalty points ledger entry not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query LoyaltyPointLedgerEntry($input: LoyaltyPointLedgerEntryInput!) {
loyaltyPointLedgerEntry(input: $input) {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
idempotencyKey
postedAt
accountNumber
}
}Variables
{
"input": LoyaltyPointLedgerEntryInput
}Response
{
"data": {
"loyaltyPointLedgerEntry": {
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
}
}loyaltyPointLedgers
Type:[LoyaltyPointLedgerEntryType]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the Loyalty Point ledger entries for the passed user.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The input object for retrieving a loyalty point ledger entry. |
Query
query LoyaltyPointLedgers($input: LoyaltyPointLedgersInput) {
loyaltyPointLedgers(input: $input) {
id
ledgerType
value
balanceBroughtForward
balanceCarriedForward
reasonCode
idempotencyKey
postedAt
accountNumber
}
}Variables
{
"input": LoyaltyPointLedgersInput
}Response
{
"data": {
"loyaltyPointLedgers": [
{
"id": "abc123",
"ledgerType": "abc123",
"value": "abc123",
"balanceBroughtForward": "abc123",
"balanceCarriedForward": "abc123",
"reasonCode": "abc123",
"idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"postedAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}
]
}
}loyaltyPointsBalance
URL:https://api.cuckoogb.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-9222: Loyalty points balance query requires either accountNumber field (deprecated) or input object (preferred) with account number and optional account user id.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
|
Query
query LoyaltyPointsBalance(
$accountNumber: String,
$input: LoyaltyPointsBalanceInput
) {
loyaltyPointsBalance(
accountNumber: $accountNumber,
input: $input
) {
loyaltyPoints
totalMonetaryAmount
}
}Variables
{
"accountNumber": "abc123",
"input": LoyaltyPointsBalanceInput
}Response
{
"data": {
"loyaltyPointsBalance": {
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}
}
}metadata
Type:[Metadata]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Metadata for a linked object.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4124: Unauthorized.
- KT-CT-8411: Invalid data.
- KT-CT-4177: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
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.cuckoogb.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"}
}
}
}mfaDevices
Type:[MfaDevice]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get all MFA devices for the current user.
Query
query MfaDevices {
mfaDevices {
deviceType
isConfirmed
}
}Response
{
"data": {
"mfaDevices": [
{
"deviceType": "abc123",
"isConfirmed": true
}
]
}
}node
Type:Node
URL:https://api.cuckoogb.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"
}
}
}Arguments
| Name | Description |
|---|---|
| The identifier of the offer to query. |
Query
query OfferForQuoting($identifier: ID) {
offerForQuoting(identifier: $identifier) {
identifier
quote {
...QuoteType_Fragment
}
description
validFrom
validTo
acceptedAt
rejectedAt
createdBy {
...ActorTypeFragment
}
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"offerForQuoting": {
"identifier": "abc123",
"quote": QuoteType_,
"description": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"acceptedAt": "2020-01-01T00:00:00.000Z",
"rejectedAt": "2020-01-01T00:00:00.000Z",
"createdBy": ActorType
}
}
}Arguments
| Name | Description |
|---|---|
| The identifier of the offer group to query. |
Query
query OfferGroupForQuoting($identifier: ID) {
offerGroupForQuoting(identifier: $identifier) {
identifier
offers {
...OfferTypeFragment
}
createdAt
createdBy {
...ActorTypeFragment
}
}
}Variables
{
"identifier": "abc123"
}offering
Type:OfferingType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get details about a product offering.
The possible errors that can be raised are:
- KT-CT-12001: Product catalogue offering with given identifier not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the offering to query. |
Query
query Offering($identifier: String) {
offering(identifier: $identifier) {
identifier
internalName
customerName
customerDescription
isSellable
lifecycle {
...LifecycleTypeFragment
}
tags {
...TagTypeFragment
}
productComponents {
...ProductComponentTypeFragment
}
offeringComponents {
...OfferingComponentTypeFragment
}
termTemplateComponents {
...TermTemplateComponentTypeFragment
}
groups {
...GroupTypeFragment
}
isAmendable
isExpired
isActive
isDraft
isLatestVersion
isFirstDraft
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"offering": {
"identifier": "abc123",
"internalName": "abc123",
"customerName": "abc123",
"customerDescription": "abc123",
"isSellable": true,
"lifecycle": LifecycleType,
"tags": [TagType],
"productComponents": [ProductComponentType],
"offeringComponents": [OfferingComponentType],
"termTemplateComponents": [TermTemplateComponentType],
"groups": [GroupType],
"isAmendable": true,
"isExpired": true,
"isActive": true,
"isDraft": true,
"isLatestVersion": true,
"isFirstDraft": true
}
}
}opportunities
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Fetch all opportunities for this Kraken, with optional filtering.
Arguments
| Name | Description |
|---|---|
| Input fields for retrieving opportunities. |
| |
| |
| |
| |
|
Query
query Opportunities(
$input: OpportunitiesQueryInput,
$offset: Int,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
opportunities(
input: $input,
offset: $offset,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...OpportunitiesEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"input": OpportunitiesQueryInput,
"offset": 1,
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"opportunities": {
"pageInfo": PageInfo,
"edges": OpportunitiesEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}opportunityByNumber
Type:OpportunityOutput
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get opportunity details by number.
The possible errors that can be raised are:
- KT-CT-8906: Opportunity not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Opportunity number identifier. |
Query
query OpportunityByNumber($number: String) {
opportunityByNumber(number: $number) {
opportunityId
leadNumber
leadType
name
email
phoneNumber
number
funnel {
...SalesFunnelFragment
}
stage
extraDetails
extraDetailItems {
...ExtraDetailFragment
}
opportunityAddress {
...AddressOutputFragment
}
opportunityRichAddress {
...RichAddressTypeFragment
}
salesChannel
assignedToTeam
assignedToUser
productOfferingId
productOffering {
...OfferingTypeFragment
}
offerGroupId
consents {
...ConsentOutputFragment
}
notes
attachments {
...OpportunityAttachmentFragment
}
supplyPoints {
...LeadSupplyPointTypeFragment
}
assignedToAffiliateNumber
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"opportunityByNumber": {
"opportunityId": "abc123",
"leadNumber": "abc123",
"leadType": "abc123",
"name": "abc123",
"email": "abc123",
"phoneNumber": "abc123",
"number": "abc123",
"funnel": SalesFunnel,
"stage": "abc123",
"extraDetails": {"key": "value"},
"extraDetailItems": [ExtraDetail],
"opportunityAddress": AddressOutput,
"opportunityRichAddress": RichAddressType,
"salesChannel": "abc123",
"assignedToTeam": "abc123",
"assignedToUser": "abc123",
"productOfferingId": "abc123",
"productOffering": OfferingType,
"offerGroupId": "abc123",
"consents": [ConsentOutput],
"notes": "abc123",
"attachments": [OpportunityAttachment],
"supplyPoints": [LeadSupplyPointType],
"assignedToAffiliateNumber": "abc123"
}
}
}opportunityProductSummary
Type:[OpportunityProductSummary!]!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Return summaries of all products in opportunity's accepted offer. Supports multi-product offerings like dual fuel.
The possible errors that can be raised are:
- KT-CT-8906: Opportunity not found.
- KT-CT-8923: The opportunity does not have a linked offer group.
- KT-CT-8922: The opportunity does not have an accepted offer.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Opportunity number. |
Query
query OpportunityProductSummary($number: String) {
opportunityProductSummary(number: $number) {
productOfferingIdentifier
productIdentifier
productCode
productCharacteristics
market
}
}Variables
{
"number": "abc123"
}Response
{
"data": {
"opportunityProductSummary": {
"productOfferingIdentifier": "abc123",
"productIdentifier": "abc123",
"productCode": "abc123",
"productCharacteristics": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"market": "abc123"
}
}
}opportunityValueByKey
Type:String
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the value of a given key that is stored in an opportunity's related JSONFields.
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.cuckoogb.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"]
}
}paymentFingerprintChecks
Type:PaymentFingerPrintCheckType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check if a given payment fingerprint already exists and/or is risk-listed.
Arguments
| Name | Description |
|---|---|
| Fingerprint. |
Query
query PaymentFingerprintChecks($fingerprint: String!) {
paymentFingerprintChecks(fingerprint: $fingerprint) {
fingerprint
isFound
isRiskListed
}
}Variables
{
"fingerprint": "abc123"
}Response
{
"data": {
"paymentFingerprintChecks": {
"fingerprint": "abc123",
"isFound": true,
"isRiskListed": true
}
}
}paymentRequests
Type:PaymentRequestsType
URL:https://api.cuckoogb.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.cuckoogb.kraken.tech/v1/graphql/
Get details about a portfolio, using its portfolio number.
The possible errors that can be raised are:
- KT-CT-9403: Received an invalid portfolioId.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Portfolio number to be retrieved. |
Query
query Portfolio($portfolioNumber: String!) {
portfolio(portfolioNumber: $portfolioNumber) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}Variables
{
"portfolioNumber": "abc123"
}Response
{
"data": {
"portfolio": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}portfolioByReference
Type:PortfolioType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get details about a portfolio, using its reference.
The possible errors that can be raised are:
- KT-CT-9409: Invalid portfolio reference.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Portfolio reference namespace-value pair to filter by. |
Query
query PortfolioByReference($portfolioReference: PortfolioReferenceInput!) {
portfolioByReference(portfolioReference: $portfolioReference) {
id
number
createdAt
updatedAt
billingName
collectiveBilling
operationsTeam {
...OperationsTeamTypeFragment
}
leadAccountNumber
brand
name
depth
parent {
...PortfolioTypeFragment
}
ancestors {
...PortfolioConnectionTypeConnectionFragment
}
descendants {
...PortfolioConnectionTypeConnectionFragment
}
accounts {
...AccountConnectionTypeConnectionFragment
}
}
}Variables
{
"portfolioReference": PortfolioReferenceInput
}Response
{
"data": {
"portfolioByReference": {
"id": "abc123",
"number": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"billingName": "abc123",
"collectiveBilling": true,
"operationsTeam": OperationsTeamType,
"leadAccountNumber": "abc123",
"brand": "abc123",
"name": "abc123",
"depth": 1,
"parent": PortfolioType,
"ancestors": PortfolioConnectionTypeConnection,
"descendants": PortfolioConnectionTypeConnection,
"accounts": AccountConnectionTypeConnection
}
}
}possibleErrors
URL:https://api.cuckoogb.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]
}
}
}printBatch
Type:PrintBatchType!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get print batch details, including messages in the batch.
The possible errors that can be raised are:
- KT-CT-9013: Invalid data.
- KT-CT-9012: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query PrintBatch(
$printBatchId: Int,
$batchId: ID
) {
printBatch(
printBatchId: $printBatchId,
batchId: $batchId
) {
id
status
messages {
...PrintMessageTypeConnectionFragment
}
}
}Variables
{
"printBatchId": 1,
"batchId": "abc123"
}Response
{
"data": {
"printBatch": {
"id": "abc123",
"status": "OPEN",
"messages": PrintMessageTypeConnection
}
}
}propertiesSearch
URL:https://api.cuckoogb.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.cuckoogb.kraken.tech/v1/graphql/
A property with the given ID. Usually associated with supply points.
The possible errors that can be raised are:
- KT-CT-6622: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
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
}
parent {
...PropertyInterfaceFragment
}
descendants {
...PropertyConnectionFragment
}
ancestors {
...PropertyConnectionFragment
}
measurements {
...MeasurementConnectionFragment
}
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"property": {
"id": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"parent": PropertyInterface,
"descendants": PropertyConnection,
"ancestors": PropertyConnection,
"measurements": MeasurementConnection
}
}
}propertySearch
Type:[PropertyType]
URL:https://api.cuckoogb.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
}
parent {
...PropertyInterfaceFragment
}
descendants {
...PropertyConnectionFragment
}
ancestors {
...PropertyConnectionFragment
}
measurements {
...MeasurementConnectionFragment
}
}
}Variables
{
"searchTerm": "abc123"
}Response
{
"data": {
"propertySearch": [
{
"id": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"parent": PropertyInterface,
"descendants": PropertyConnection,
"ancestors": PropertyConnection,
"measurements": MeasurementConnection
}
]
}
}queryComplexity
Type:QueryComplexityOutputType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the complexity of a query.
Arguments
| Name | Description |
|---|---|
| Query and relevant variables required to calculate the complexity. |
Query
query QueryComplexity($input: QueryComplexityInputType!) {
queryComplexity(input: $input) {
complexityValue
}
}Variables
{
"input": QueryComplexityInputType
}Response
{
"data": {
"queryComplexity": {
"complexityValue": 1
}
}
}question
Type:String
URL:https://api.cuckoogb.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"
}
}quotingParamDefinitionsForProductOffering
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The possible errors that can be raised are:
- KT-CT-12403: Product offering not found.
- KT-CT-12404: Product offering has expired.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the product offering. |
Query
query QuotingParamDefinitionsForProductOffering($productOfferingIdentifier: ID) {
quotingParamDefinitionsForProductOffering(productOfferingIdentifier: $productOfferingIdentifier) {
offeringIdentifier
productComponents {
...QuotedProductComponentTypeFragment
}
offeringComponents {
...QuotedOfferingParamsTypeFragment
}
}
}Variables
{
"productOfferingIdentifier": "abc123"
}Response
{
"data": {
"quotingParamDefinitionsForProductOffering": {
"offeringIdentifier": "abc123",
"productComponents": [QuotedProductComponentType],
"offeringComponents": [QuotedOfferingParamsType]
}
}
}rateLimitInfo
Type:CombinedRateLimitInformation
URL:https://api.cuckoogb.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
}
}
}returnSchedule
Type:[DepositReturnScheduleOutput]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get deposit agreement related return schedules for a given 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 ReturnSchedule($accountNumber: String!) {
returnSchedule(accountNumber: $accountNumber) {
dueDate
amount
status
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"returnSchedule": [
{
"dueDate": "2020-01-01",
"amount": 1,
"status": "abc123"
}
]
}
}routingAttributes
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get routing attributes available for call routing configuration.
The possible errors that can be raised are:
- KT-CT-11816: Invalid routing attribute category.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Filter by category (LANGUAGE, OPERATIONS_GROUP, SKILL). |
| Filter by friendly name (case-insensitive). |
Query
query RoutingAttributes(
$category: String,
$search: String
) {
routingAttributes(
category: $category,
search: $search
) {
ref
category
subcategory
friendlyName
isActive
}
}Variables
{
"category": "abc123",
"search": "abc123"
}Response
{
"data": {
"routingAttributes": {
"ref": "abc123",
"category": "abc123",
"subcategory": "abc123",
"friendlyName": "abc123",
"isActive": true
}
}
}salesFunnelByCode
Type:SalesFunnel
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the sales funnel by input.
The possible errors that can be raised are:
- KT-CT-8912: Funnel not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Input fields for retrieving the sales funnel. |
Query
query SalesFunnelByCode($input: SalesFunnelInput!) {
salesFunnelByCode(input: $input) {
code
name
funnelType
status
stages {
...SalesFunnelStageFragment
}
collections {
...CollectionFragment
}
uncollectedFields {
...FunnelFieldFragment
}
rules {
...SalesFunnelRuleFragment
}
}
}Variables
{
"input": SalesFunnelInput
}Response
{
"data": {
"salesFunnelByCode": {
"code": "abc123",
"name": "abc123",
"funnelType": "LEAD",
"status": "DRAFT",
"stages": [SalesFunnelStage],
"collections": [Collection],
"uncollectedFields": [FunnelField],
"rules": [SalesFunnelRule]
}
}
}salesFunnels
Type:[SalesFunnel]
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get all sales funnels.
Arguments
| Name | Description |
|---|---|
| Input fields for retrieving the sales funnels. |
Query
query SalesFunnels($input: SalesFunnelsInput) {
salesFunnels(input: $input) {
code
name
funnelType
status
stages {
...SalesFunnelStageFragment
}
collections {
...CollectionFragment
}
uncollectedFields {
...FunnelFieldFragment
}
rules {
...SalesFunnelRuleFragment
}
}
}Variables
{
"input": SalesFunnelsInput
}Response
{
"data": {
"salesFunnels": [
{
"code": "abc123",
"name": "abc123",
"funnelType": "LEAD",
"status": "DRAFT",
"stages": [SalesFunnelStage],
"collections": [Collection],
"uncollectedFields": [FunnelField],
"rules": [SalesFunnelRule]
}
]
}
}searchLead
Type:LeadIdType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Search and return the identifiers of a lead.
The possible errors that can be raised are:
- KT-CT-8920: Search filters are invalid.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Filters to search for leads. All passed filters will be checked against the lead. |
Query
query SearchLead($filters: SearchLeadFilters!) {
searchLead(filters: $filters) {
leadId
number
}
}Variables
{
"filters": SearchLeadFilters
}Response
{
"data": {
"searchLead": {
"leadId": "abc123",
"number": "abc123"
}
}
}siteworksRequests
Type:CoreSiteworksRequestConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
A query to get a subset of Requests.
Deprecated
The 'siteworksRequests' field is deprecated.
Please use getOnSiteJobsRequests instead.
- Marked as deprecated on 2026-03-01.
- Scheduled for removal on or after 2026-09-01.
Arguments
| Name | Description |
|---|---|
| A list of request IDs. If provided, only these requests will be returned. |
| Only requests created after this datetime will be included. |
| Only requests with a status in this list will be included. |
| |
| |
| |
|
Query
query SiteworksRequests(
$ids: [UUID],
$createdAfter: DateTime,
$statuses: [RequestStatus],
$before: String,
$after: String,
$first: Int,
$last: Int
) {
siteworksRequests(
ids: $ids,
createdAfter: $createdAfter,
statuses: $statuses,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...CoreSiteworksRequestConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"ids": ["500c164d-38c7-4f74-9ac6-be210197e9e4"],
"createdAfter": "2020-01-01T00:00:00.000Z",
"statuses": "APPROVAL_PENDING",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"siteworksRequests": {
"pageInfo": PageInfo,
"edges": CoreSiteworksRequestConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}supplyPoint
Type:SupplyPointType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get a supply point by its market specific id.
The possible errors that can be raised are:
- KT-CT-4722: Supply point readings API not configured.
- KT-CT-4719: No supply point found for identifier provided.
- KT-CT-4723: Invalid market name provided.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The market specific supply point id. |
| The name of the market in which this supply point exists. |
Query
query SupplyPoint(
$externalIdentifier: String!,
$marketName: String!
) {
supplyPoint(
externalIdentifier: $externalIdentifier,
marketName: $marketName
) {
id
marketName
externalIdentifier
readings {
...ReadingsFragment
}
property {
...PropertyTypeFragment
}
devices {
...DevicesConnectionFragment
}
}
}Variables
{
"externalIdentifier": "abc123",
"marketName": "abc123"
}Response
{
"data": {
"supplyPoint": {
"id": "abc123",
"marketName": "abc123",
"externalIdentifier": "abc123",
"readings": Readings,
"property": PropertyType,
"devices": DevicesConnection
}
}
}supplyPoints
Type:SupplyPointConnectionTypeConnection
URL:https://api.cuckoogb.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.cuckoogb.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"
}
}
}Query
query TelcoAccounts {
telcoAccounts {
id
number
status
users {
...AccountUserTypeFragment
}
complaints {
...ComplaintConnectionTypeConnectionFragment
}
brand
balance
overdueBalance
urn
billingName
billingSubName
billingEmail
billingAddress
billingAddressLine1
billingAddressLine2
billingAddressLine3
billingAddressLine4
billingAddressLine5
billingAddressPostcode
billingCountryCode
billingDeliveryPointIdentifier
splitBillingAddress
address {
...RichAddressTypeFragment
}
portfolio {
...PortfolioTypeFragment
}
ledgers {
...LedgerTypeFragment
}
metadata {
...MetadataFragment
}
canRequestRefund
requestRefundEligibility {
...RequestRefundEligibilityTypeFragment
}
payments {
...AccountPaymentConnectionTypeConnectionFragment
}
repayments {
...AccountRepaymentConnectionTypeConnectionFragment
}
paymentPlans {
...PaymentPlanConnectionTypeConnectionFragment
}
paymentSchedules {
...PaymentScheduleConnectionTypeConnectionFragment
}
paymentForecast {
...PaymentForecastTypeFragment
}
paginatedPaymentForecast {
...PaymentForecastConnectionTypeConnectionFragment
}
referrals {
...ReferralConnectionTypeConnectionFragment
}
referralsCreated
rewards {
...RewardTypeFragment
}
activeReferralSchemes {
...ReferralSchemeTypesFragment
}
transactions {
...TransactionConnectionTypeConnectionFragment
}
provisionalTransactions {
...ProvisionalTransactionConnectionTypeConnectionFragment
}
annualStatements {
...AnnualStatementConnectionTypeConnectionFragment
}
bills {
...BillConnectionTypeConnectionFragment
}
billingOptions {
...BillingOptionsTypeFragment
}
billingTriggerConfiguration {
...BillingTriggerConfigurationFragment
}
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
}
customerAssets {
...CustomerAssetTypeFragment
}
properties {
...PropertyTypeFragment
}
marketSupplyAgreements {
...AgreementConnectionFragment
}
canModifyPayments {
...CanModifyPaymentsTypeFragment
}
activeContract {
...ContractTypeFragment
}
latestQuote {
...CreateTelcoQuoteOutputFragment
}
telcoLedgers {
...TelcoLedgerTypeFragment
}
contracts {
...ContractFragment
}
services {
...ServiceTypeFragment
}
usesProductCatalog
billingDocument {
...TelcoStatementBillingDocumentTypeFragment
}
renewalIntention {
...RenewalIntentionFragment
}
unbilledCalls {
...CallDetailRecordConnectionFragment
}
}
}Response
{
"data": {
"telcoAccounts": [
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"users": AccountUserType,
"complaints": ComplaintConnectionTypeConnection,
"brand": "abc123",
"balance": 1,
"overdueBalance": 1,
"urn": "abc123",
"billingName": "abc123",
"billingSubName": "abc123",
"billingEmail": "abc123",
"billingAddress": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingAddressPostcode": "abc123",
"billingCountryCode": "abc123",
"billingDeliveryPointIdentifier": "abc123",
"splitBillingAddress": ["abc123"],
"address": RichAddressType,
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"billingTriggerConfiguration": BillingTriggerConfiguration,
"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,
"customerAssets": [CustomerAssetType],
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"activeContract": ContractType,
"latestQuote": CreateTelcoQuoteOutput,
"telcoLedgers": [TelcoLedgerType],
"contracts": [Contract],
"services": [ServiceType],
"usesProductCatalog": true,
"billingDocument": TelcoStatementBillingDocumentType,
"renewalIntention": RenewalIntention,
"unbilledCalls": CallDetailRecordConnection
}
]
}
}termsAndConditionsForProduct
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the active terms and conditions for a market supply product.
The possible errors that can be raised are:
- KT-CT-8501: No active terms and conditions found for product.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The product code of the market supply product. |
Query
query TermsAndConditionsForProduct($productCode: String!) {
termsAndConditionsForProduct(productCode: $productCode) {
name
pdfUrl
brandCode
markdown
html
version
effectiveFrom
}
}Variables
{
"productCode": "abc123"
}Response
{
"data": {
"termsAndConditionsForProduct": [
{
"name": "abc123",
"pdfUrl": "abc123",
"brandCode": "abc123",
"markdown": "abc123",
"html": "abc123",
"version": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}
]
}
}thirdPartyViewer
Type:ThirdPartyOrganizationType
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
The currently authenticated third party.
This field requires the Authorization header to be set.
Query
query ThirdPartyViewer {
thirdPartyViewer {
name
permissions {
...ThirdPartyPermissionFragment
}
}
}Response
{
"data": {
"thirdPartyViewer": {
"name": "abc123",
"permissions": [ThirdPartyPermission]
}
}
}trigger
Type:Trigger!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the details of a published trigger with a given ID.
The possible errors that can be raised are:
- KT-CT-9904: Trigger not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The ID of the trigger. |
Query
query Trigger($triggerId: ID!) {
trigger(triggerId: $triggerId) {
id
triggerTypeCode
createdAt
accountsLinkedAt
accounts {
...AccountConnectionTypeConnectionFragment
}
messages {
...MessageConnectionFragment
}
processingStatus
}
}Variables
{
"triggerId": "abc123"
}Response
{
"data": {
"trigger": {
"id": "abc123",
"triggerTypeCode": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"accountsLinkedAt": "2020-01-01T00:00:00.000Z",
"accounts": AccountConnectionTypeConnection,
"messages": MessageConnection,
"processingStatus": "UNPROCESSED"
}
}
}Arguments
| Name | Description |
|---|---|
| Referral claim code value. |
Query
query ValidateReferralCode($value: String!) {
validateReferralCode(value: $value) {
id
value
referralScheme {
...ReferralSchemeTypeFragment
}
accountReferral {
...ReferralTypeFragment
}
isValid
createdAt
}
}Variables
{
"value": "abc123"
}Response
{
"data": {
"validateReferralCode": {
"id": 1,
"value": "abc123",
"referralScheme": ReferralSchemeType,
"accountReferral": ReferralType,
"isValid": true,
"createdAt": "2020-01-01T00:00:00.000Z"
}
}
}verificationStatus
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Check the verification status of a given email address.
Arguments
| Name | Description |
|---|---|
| The email address to be checked. |
Query
query VerificationStatus($email: String!) {
verificationStatus(email: $email) {
email
status
}
}Variables
{
"email": "abc123"
}Response
{
"data": {
"verificationStatus": {
"email": "abc123",
"status": "NOT_SENT"
}
}
}viewer
Type:AccountUserType
URL:https://api.cuckoogb.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
createdAt
permissions {
...AccountUserPermissionFragment
}
displayName
firstName
lastName
fullName
preferredName
isActive
address {
...RichAddressTypeFragment
}
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
businesses {
...BusinessConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
label
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}Response
{
"data": {
"viewer": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"isActive": true,
"address": RichAddressType,
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"businesses": BusinessConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}voiceCampaign
Type:VoiceCampaignType!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the voice campaign for a given ID.
The possible errors that can be raised are:
- KT-CT-11501: Voice campaign not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The campaign ID. |
Query
query VoiceCampaign($campaignId: String!) {
voiceCampaign(campaignId: $campaignId) {
id
name
description
customOutboundPhoneNumber
tags {
...CallTagConnectionTypeConnectionFragment
}
status
campaignType
campaignItems {
...VoiceCampaignItemConnectionTypeConnectionFragment
}
preventDuplicateRecords
}
}Variables
{
"campaignId": "abc123"
}Response
{
"data": {
"voiceCampaign": {
"id": "abc123",
"name": "abc123",
"description": "abc123",
"customOutboundPhoneNumber": "abc123",
"tags": CallTagConnectionTypeConnection,
"status": "ACTIVE",
"campaignType": "PREVIEW",
"campaignItems": VoiceCampaignItemConnectionTypeConnection,
"preventDuplicateRecords": true
}
}
}voiceCampaigns
Type:VoiceCampaignConnectionTypeConnection!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get voice campaigns.
Arguments
| Name | Description |
|---|---|
| Filter by campaign status. |
| Filter by campaign type. |
| Filter by campaign name. |
| |
| |
| |
|
Query
query VoiceCampaigns(
$status: CampaignStatus,
$campaignType: TypeOfVoiceCampaign,
$name: String,
$before: String,
$after: String,
$first: Int,
$last: Int
) {
voiceCampaigns(
status: $status,
campaignType: $campaignType,
name: $name,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...VoiceCampaignConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"status": "ACTIVE",
"campaignType": "PREVIEW",
"name": "abc123",
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"voiceCampaigns": {
"pageInfo": PageInfo,
"edges": VoiceCampaignConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}vouchersBalanceDetail
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Query the detail of vouchers balance for an account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4178: No account found with given account number.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number. |
Query
query VouchersBalanceDetail($accountNumber: ID!) {
vouchersBalanceDetail(accountNumber: $accountNumber) {
redeemableToday
redeemableInFuture
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"vouchersBalanceDetail": {
"redeemableToday": 1,
"redeemableInFuture": 1
}
}
}vouchersForAccount
Type:VoucherPurchaseConnectionTypeConnection
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Query the voucher purchases for an account.
Arguments
| Name | Description |
|---|---|
| The account number. |
| Whether to only return vouchers that can be redeemable. |
| An optional date to limit the response to vouchers that have been purchased from the particular date (inclusive) onwards. |
| An optional date to limit the response to vouchers that have been purchased before the particular date (exclusive). |
| An optional date to limit the response to vouchers that are available from the particular date (inclusive) onwards. |
| An optional date to limit the response to vouchers that are available before the particular date (exclusive). |
| Whether to exclude refunded vouchers from the response. By default, refunded vouchers will be included in the response. |
| An optional list of display names to exclude from the results (case-insensitive). |
| |
| |
| |
|
Query
query VouchersForAccount(
$accountNumber: ID!,
$redeemableOnly: Boolean!,
$purchasedFromDate: Date,
$purchasedBeforeDate: Date,
$availableFromDate: Date,
$availableBeforeDate: Date,
$excludeRefunded: Boolean,
$excludeByDisplayName: [String],
$before: String,
$after: String,
$first: Int,
$last: Int
) {
vouchersForAccount(
accountNumber: $accountNumber,
redeemableOnly: $redeemableOnly,
purchasedFromDate: $purchasedFromDate,
purchasedBeforeDate: $purchasedBeforeDate,
availableFromDate: $availableFromDate,
availableBeforeDate: $availableBeforeDate,
excludeRefunded: $excludeRefunded,
excludeByDisplayName: $excludeByDisplayName,
before: $before,
after: $after,
first: $first,
last: $last
) {
pageInfo {
...PageInfoFragment
}
edges {
...VoucherPurchaseConnectionTypeEdgeFragment
}
totalCount
edgeCount
}
}Variables
{
"accountNumber": "abc123",
"redeemableOnly": true,
"purchasedFromDate": "2020-01-01",
"purchasedBeforeDate": "2020-01-01",
"availableFromDate": "2020-01-01",
"availableBeforeDate": "2020-01-01",
"excludeRefunded": true,
"excludeByDisplayName": ["abc123"],
"before": "abc123",
"after": "abc123",
"first": 1,
"last": 1
}Response
{
"data": {
"vouchersForAccount": {
"pageInfo": PageInfo,
"edges": VoucherPurchaseConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}
}
}workSchedule
Type:WorkScheduleType!
URL:https://api.cuckoogb.kraken.tech/v1/graphql/
Get the work schedule with the given identifier.
The possible errors that can be raised are:
- KT-CT-11804: Work schedule not found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The identifier of the work schedule (also known as the 'slug'). |
Query
query WorkSchedule($identifier: String!) {
workSchedule(identifier: $identifier) {
identifier
name
isOpen
isPublicHoliday
openOrClosedReason
}
}Variables
{
"identifier": "abc123"
}Response
{
"data": {
"workSchedule": {
"identifier": "abc123",
"name": "abc123",
"isOpen": true,
"isPublicHoliday": true,
"openOrClosedReason": "CLOSED_DUE_TO_PUBLIC_HOLIDAY"
}
}
}