Objects
Objects in GraphQL represent the resources you can access. An object can contain a list of fields, which are specifically typed.
API Site
APIBrownoutEdge
A Relay edge containing a APIBrownout and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(APIBrownout) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}APIExceptionConnectionTypeEdge
A Relay edge containing a APIExceptionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(APIExceptionType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}AcceptGoodsQuote
The possible errors that can be raised are:
- KT-CT-8223: Unauthorized.
- KT-CT-8201: Received an invalid quoteId.
- KT-CT-8224: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
goodsPurchase(GoodsPurchase) | Goods purchase created. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}AcceptOfferForQuoting
Accept a quoting offer in an offer group.
The possible errors that can be raised are:
- KT-CT-12402: Unable to accept offer.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
offer(OfferType) | Accepted quoting offer. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"offer": OfferType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountApplicationConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountApplicationConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountApplicationConnectionTypeEdge
A Relay edge containing a AccountApplicationConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountApplicationType) | The item at the end of the edge |
Example
{
"node": AccountApplicationType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
coolingOffEndDate(Date) | Last day of the cooling off period. Barring changes or objections, the account will be gained on the next business day after this date. This value will only be returned for current applications. |
dateOfSale(Date) | Date at which this account decided to switch to us. |
isMigrated(Boolean) | Whether this account application represents a migration into the current system or a regular gain. |
migrationSource(String) | The source system for a migrated account. This could be the previous supplier or the previous account management system. |
preferredSsd(Date) | Preferred supply start date. If null, it means ASAP. |
salesChannel(String!) | |
salesSubchannel(String) | The sales subchannel used when signing up. This could for example be a price comparison site. |
status(AccountApplicationStatus!) |
Example
{
"status": "CURRENT",
"salesChannel": "abc123",
"salesSubchannel": "abc123",
"dateOfSale": "2020-01-01",
"coolingOffEndDate": "2020-01-01",
"isMigrated": true,
"migrationSource": "abc123",
"preferredSsd": "2020-01-01"
}AccountCampaignConnectionTypeConnection
Paginator of Account Campaigns
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountCampaignConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountCampaignConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountCampaignConnectionTypeEdge
A Relay edge containing a AccountCampaignConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountCampaignType) | The item at the end of the edge |
Example
{
"node": AccountCampaignType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
campaignExpiryDate(Date) | The date on which the associated campaign itself concludes. |
expiryDate(Date) | The date on which the account's participation in the campaign ends. |
name(String) | The name of the campaign. |
slug(String) | The slug of the campaign. |
startDate(Date) | The date that the account's link to the campaign started. |
Example
{
"campaignExpiryDate": "2020-01-01",
"name": "abc123",
"slug": "abc123",
"expiryDate": "2020-01-01",
"startDate": "2020-01-01"
}Fields
| Name | Description |
|---|---|
data(JSONString) | A JSON object containing unstructured data about the account charge. |
updatedAt(DateTime) | The date and time the metadata was last updated. |
Example
{
"data": {"key": "value"},
"updatedAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
cclAmount(BigInt) | The climate change levy amount of the charge. |
displayNote(String) | The display note for the charge. |
grossAmount(BigInt) | The gross amount of the charge. |
id(ID) | The ID of the account charge. |
metadata(AccountChargeMetadataType) | JSON metadata containing unstructured data about the account charge. |
netAmount(BigInt) | The net amount of the charge. |
note(String) | The note for the charge. |
reason(String) | The reason for the charge. |
salesTaxAmount(BigInt) | The sales tax amount of the charge. |
Example
{
"id": "abc123",
"netAmount": 1,
"grossAmount": 1,
"salesTaxAmount": 1,
"cclAmount": 1,
"reason": "abc123",
"note": "abc123",
"displayNote": "abc123",
"metadata": AccountChargeMetadataType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountConnectionTypeEdge
A Relay edge containing a AccountConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountType) | The item at the end of the edge |
Example
{
"node": AccountType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
data(JSONString!) | |
updatedAt(DateTime!) |
Example
{
"data": {"key": "value"},
"updatedAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
grossAmount(BigInt!) | |
id(ID!) | |
metadata(AccountCreditMetadataType) | |
netAmount(BigInt!) | |
note(String!) | |
reason(String!) | |
salesTaxAmount(BigInt!) |
Example
{
"id": "abc123",
"grossAmount": 1,
"netAmount": 1,
"salesTaxAmount": 1,
"note": "abc123",
"reason": "abc123",
"metadata": AccountCreditMetadataType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountEventConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountEventConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountEventConnectionTypeEdge
A Relay edge containing a AccountEventConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountEvent) | The item at the end of the edge |
Example
{
"node": EmailEventType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
category(String!) | |
fetchUrl(String) | |
filename(String!) | |
id(ID!) | The ID of the object |
isReady(Boolean) | Is the file ready for use / downloadable? |
isUploaded(Boolean) | Is the file uploaded to S3? |
sizeInBytes(Int) |
Example
{
"id": "abc123",
"filename": "abc123",
"category": "abc123",
"isUploaded": true,
"isReady": true,
"fetchUrl": "abc123",
"sizeInBytes": 1
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountFileAttachmentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountFileAttachmentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountFileAttachmentConnectionTypeEdge
A Relay edge containing a AccountFileAttachmentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountFileAttachment) | The item at the end of the edge |
Example
{
"node": AccountFileAttachment,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
isEligibleForIo(Boolean) | Whether account is eligible to register devices with Intelligent Octopus or not. |
Example
{
"isEligibleForIo": true
}Fields
| Name | Description |
|---|---|
loyaltyPoints(Int) | The number of loyalty points the account (or user with the given id) has. |
totalMonetaryAmount(Int) | The net monetary value of the loyalty points in the currency's sub-units. |
Example
{
"loyaltyPoints": 1,
"totalMonetaryAmount": 1
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountPaymentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountPaymentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountPaymentConnectionTypeEdge
A Relay edge containing a AccountPaymentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountPaymentType) | The item at the end of the edge |
Example
{
"node": AccountPaymentType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
amount(BigInt!) | Amount of payment in the currency's minor unit |
id(ID!) | |
paymentDate(Date!) | The date this payment is scheduled to be debited |
paymentInstruction(PaymentInstructionType) | The payment instruction that was used to make this payment. |
reference(String!) | |
status(AccountPaymentStatusOptions) | The current status of the payment. |
surchargeAmount(Int) | Surcharge amount generated by this payment. |
transactionType(AccountPaymentTransactionTypeChoices) | The transaction type of the payment. |
Example
{
"id": "abc123",
"amount": 1,
"paymentDate": "2020-01-01",
"reference": "abc123",
"transactionType": "DD_FIRST_COLLECTION",
"status": "SCHEDULED",
"paymentInstruction": PaymentInstructionType,
"surchargeAmount": 1
}Fields
| Name | Description |
|---|---|
account(AccountType!) | |
createdAt(DateTime!) | |
namespace(String!) | |
updatedAt(DateTime!) | |
value(String!) |
Example
{
"namespace": "abc123",
"value": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"account": AccountType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountReminderConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountReminderConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountReminderConnectionTypeEdge
A Relay edge containing a AccountReminderConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(Reminder) | The item at the end of the edge |
Example
{
"node": Reminder,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountRepaymentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountRepaymentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountRepaymentConnectionTypeEdge
A Relay edge containing a AccountRepaymentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountRepaymentType) | The item at the end of the edge |
Example
{
"node": AccountRepaymentType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
amount(BigInt!) | Amount of payment in the currency's minor unit |
id(ID!) | |
paymentDate(Date!) | The date this payment is scheduled to be debited |
status(AccountRepaymentStatusOptions) | The current status of the repayment. |
Example
{
"id": "abc123",
"amount": 1,
"paymentDate": "2020-01-01",
"status": "REQUESTED"
}AccountType
The account object can be one of several attached to a Portfolio (which usually has an AccountUser which is used to authenticate access to the Portfolio's accounts). Typically a person has a single account attached to a portfolio and properties on the same account will appear on the same bill. Where separate bills are desired, multiple accounts are created and added to the same portfolio of accounts.
Fields
| Name | Description |
|---|---|
accountType(AccountTypeChoices) | The type of account. |
activeHardshipAgreements([HardshipAgreementType]) | List of active hardship agreements for the user when isinhardship is True. |
activeReferralSchemes(ReferralSchemeTypes) | The referral schemes currently active for this account. |
address(RichAddressType) | The billing address of this account, stored in the new libaddressinput-based format. Note that |
annualStatements(AnnualStatementConnectionTypeConnection) | Fetch annual statements for the account. |
applications(AccountApplicationConnectionTypeConnection) | Applications by this account to become our customer. More recent applications will be listed first. Arguments
The account application status. |
assistanceAgreements([AssistanceAgreementType]) | Assistance agreements for account. |
balance(Int!) | The current account balance. Arguments
If this variable is set to true, the balance will be calculated based on the sum of balances on all ledgers configured to contribute to this account's balance. Otherwise, only the main ledger's balance will be fetched (legacy behaviour). If you are unsure, set this value to true. |
bill(BillInterface) | Fetch a specific issued bill (invoice/statement) for the account. Arguments
The unique identifier of the bill.
The unique identifier of the bill. A pending billing document will not have an identifier yet. And not all finalized billing documents will have an identifier. Prefer using the id field unless advised by Kraken.
The number of the ledger for the bill. When provided, only the period- or item-based documentfor this account that is linked to that ledger is returned; pre-kraken, collective bills, and legacy bills are excluded. |
billingAddress(String) | The billing address of the account. |
billingAddressLine1(String) | Override Field to add additional attributes and extend description with possible_errors |
billingAddressLine2(String) | Override Field to add additional attributes and extend description with possible_errors |
billingAddressLine3(String) | Override Field to add additional attributes and extend description with possible_errors |
billingAddressLine4(String) | Override Field to add additional attributes and extend description with possible_errors |
billingAddressLine5(String) | Override Field to add additional attributes and extend description with possible_errors |
billingAddressPostcode(String) | Override Field to add additional attributes and extend description with possible_errors |
billingCountryCode(String) | Override Field to add additional attributes and extend description with possible_errors |
billingDeliveryPointIdentifier(String) | Override Field to add additional attributes and extend description with possible_errors |
billingEmail(String) | The billing email of the account. |
billingName(String) | The billing name of the account. |
billingOptions(BillingOptionsType) | Information about the account's billing cycle. |
billingPostcode(String) | The postcode of the billing address. |
billingSubName(String) | The billing sub name of the account. |
bills(BillConnectionTypeConnection) | Fetch issued bills (invoices/statements) for the account. Arguments
Optional date representing the beginning of the search results. This date value is inclusive.
Include bills without PDFs.
Include held statements within the results.
Include pre-Kraken / historical statements within the results.
Include open statements. This flag needs to be used along with includeBillsWithoutPDF=false otherwise results will prove unexpected.
Optional date representing the beginning of the search results based on issued date. This date value is inclusive.
Optional date representing the end of the search results based on issued date. This date value is exclusive.
The number of a ledger for the bill. When provided, only period- or item-based documents for this account that are linked to that ledger are returned; collective bills and legacy bills are excluded. Historic/pre-Kraken bills are unaffected by this filter and are included or excluded solely by includeHistoricStatements.
Only include bills emailed to the current user's email.
The order in which to return the bills.
Optional date representing the end of the search results. This date value is exclusive. |
brand(String) | The brand of the account. |
business(BusinessType) | Business info related to a business account. |
businessType(BusinessTypeOptions) | The company type of a business account. Deprecated The 'businessType' field is deprecated. |
campaigns([AccountCampaignType]) | The campaigns associated with an account. |
canBeWithdrawn(Boolean) | Whether an account can be withdrawn. |
canChangePayments(Boolean) | Whether an account can change their payment schedule. |
canInputMeterReadingsViaIvr(Boolean) | Whether on not the meter readings can be input via IVR. |
canModifyPayments(CanModifyPaymentsType) | Data about whether or not an account can modify their payments. |
canRenewTariff(Boolean) | Whether the account is eligible for tariff renewal. |
canRequestRefund(Boolean) | Whether the account can request a credit refund. |
commsDeliveryPreference(CommsDeliveryPreference) | The method the account has specified they prefer we contact them. |
communicationDeliveryPreference(String) | Deprecated The 'communicationDeliveryPreference' field is deprecated. |
complaints(ComplaintConnectionTypeConnection) | The complaints associated with an account. |
consents([ConsentType!]!) | Consents linked to this account. |
contributionAgreements([ContributionAgreementType]) | Contribution agreements for account. |
cotReadingWindowDays(Int) | The number of days around a move out a final meter reading can be given for. |
createdAt(DateTime) | The datetime that the account was originally created. |
currentEstimatedSsd(Date) | The current estimated supply start day on an account. |
debtCollectionProceedings([DebtCollectionProceedingType]) | Debt collection proceedings for account. |
directDebitInstructions(DirectDebitInstructionConnectionTypeConnection) | The direct debit instructions of the account Arguments
Filter the direct debit instructions by status |
documentAccessibility(DocumentAccessibilityChoices) | The document accessibility preference of the account. |
earliestPossibleSsd(Date) | The earliest possible supply start day on an account. |
electricityAgreements([ElectricityAgreementType]) | The electricity agreements belonging to the account. Arguments
Whether to return active agreements only. Will otherwise include all active and future agreements that have not been revoked. |
eligibilityForWarmHomeDiscount(WarmHomeDiscountEligibility) | Whether the account is eligible to apply for Warm Home Discount as part of the Scottish Broader Group. |
events(AccountEventConnectionTypeConnection) | The account events that were recorded for the account. Arguments
Filter the account events by their type.
|
fileAttachments([AccountFileAttachment]) | Files attached to this account. |
gasAgreements([GasAgreementType]) | The gas agreements belonging to the account. Arguments
Whether to return active agreements only. Will otherwise include all active and future agreements that have not been revoked. |
greenAccomplishments(GreenAccomplishmentsType) | The green benefits achieved over the lifetime of an account. |
hasActiveCollectionsProceedings(Boolean) | Whether or not the account has active collections proceedings. |
hasActiveDunningProcess(Boolean) | Whether or not the account has an active Dunning process. |
id(ID!) | |
isEligibleForElectricityReadingIncentive(Boolean) | Whether or not an account is eligible for an electricity reading incentive. Deprecated The 'isEligibleForElectricityReadingIncentive' field is deprecated. |
isEligibleForGasReadingIncentive(Boolean) | Whether or not an account is eligible for a gas reading incentive. Deprecated The 'isEligibleForGasReadingIncentive' field is deprecated. |
isInBlockingMigration(Boolean) | Whether or not the account is a part of a migration for which we want to switch supplier without customer actions. |
isInHardship(Boolean) | True if there is an active Hardship Agreement for this account. False otherwise. |
latestPossibleSsd(Date) | The latest possible supply start day on an account. |
ledgers([LedgerType]) | Ledgers provide the foundation of bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular customer account. |
marketSupplyAgreements(AgreementConnection) | Retrieve all market supply agreements under this account. Note that when |
maximumRefund(MaximumRefundType) | The maximum amount a customer is allowed to request as a refund and the reason why that's the maximum amount. Arguments
The ledger number to calculate maximum refund for. |
metadata([Metadata]) | Metadata associated with the account. |
notes([AccountNoteType]) | Notes for the account. |
number(String) | A code that uniquely identifies the account. |
operationsTeam(OperationsTeamType) | The operations team that the account belongs to. |
overdueBalance(Int) | The current account overdue balance. |
paginatedFileAttachments(AccountFileAttachmentConnectionTypeConnection) | Files attached to this account. |
paginatedPaymentForecast(PaymentForecastConnectionTypeConnection) | Paginated payment forecasts for an account. Starts from today's date (inclusive). The interface supports Arguments
The end date to retrieve forecasts for. This end date is inclusive.
The ledger to return payment forecasts from. Defaults to the main ledger when no ID is passed.
The number of the ledger to return payment forecasts from. Defaults to the main ledger when no number is passed. |
paymentAdequacy(PaymentAdequacyType) | Results of the latest review of the account's payments. |
paymentForecast([PaymentForecastType]) | A list displaying the payment forecast for an account. The list starts from today's date (inclusive). Deprecated The 'paymentForecast' field is deprecated. Arguments
The end date to retrieve forecasts for. This end date is inclusive.
The ledger to return payment forecasts from. Defaults to the main ledger when no ID is passed.
The number of the ledger to return payment forecasts from. Defaults to the main ledger when no number is passed. |
paymentMethods(PaymentInstructionConnectionTypeConnection) | The payment instructions of the account. Arguments
Filter the payment instructions by status. |
paymentPlans(PaymentPlanConnectionTypeConnection) | The payment plans that have been created for this account. |
paymentSchedules(PaymentScheduleConnectionTypeConnection) | The schedules that describe how we would expect to take payments for an account on a given month. Arguments
If false, we remove the currently valid schedule if it has already fulfilled its purpose and will have no further impact on customer payments, along with any schedules which are not valid from today.
The ledger id to return the payment schedules from.
The ledger number to return the payment schedules from.
The ledger to return transactions from.
|
payments(AccountPaymentConnectionTypeConnection) | The payments made into an account from a payment instruction. Arguments
Whether to include payment promises (of any kind: made, broken or fulfilled) or not. The default is to include them.
The id of the ledger to return payments from.
WARNING: Will be mandatory in future versions The number of the ledger to return payments from.
Filter for payments that were taken for a particular reason.
|
portfolio(PortfolioType) | The portfolio this account is linked to. |
preferredLanguageForComms(String) | The language that the account preferred for communications. |
projectedBalance(Int) | Expected balance in a year's time. |
properties([PropertyType]) | Properties linked to the account now and in the future. Arguments
Returns properties that have an effective period that ends at or after the given activeFrom datetime. |
provisionalTransactions(ProvisionalTransactionConnectionTypeConnection) | |
recommendedBalanceAdjustment(Int) | Top up payment amount in pence that we recommend for an account. |
references([AccountReferenceType]) | Account references linked to this account. |
referrals(ReferralConnectionTypeConnection) | The referrals created by this account. Arguments
Only return referrals with the specified status. Return all referrals by default. |
referralsCreated(Int) | Number of referrals created by this account. |
reminders(AccountReminderConnectionTypeConnection) | The reminders associated with an account. |
repayments(AccountRepaymentConnectionTypeConnection) | The repayments that have been requested for this account. Arguments
Only return repayments whose status matches one of these statuses. |
requestRefundEligibility(RequestRefundEligibilityType) | Details about the eligibility status for requesting a refund. Arguments
The ledger number to check refund eligibility. |
rewards([RewardType]) | The rewards applied to this account. |
shouldReviewPayments(Boolean) | Whether the account's payment should be adjusted. |
smets2Interest(SmartMeterInterestChoices) | The interest of an account in procuring smart meters. |
smets2RefusalReason(SMETS2InterestReason) | The reason why the account holder is not interested in having a smart meter installed. |
splitBillingAddress([String]) | List of billing address lines. |
status(AccountStatus) | The current status of the account. |
trackerTariffDailyPricing(TrackerTariffDailyPricing) | Only relevant for Kraken instances that support daily tracker tariffs. Returns null if not applicable. |
transactions(TransactionConnectionTypeConnection) | Fetch transactions that have taken place on the account. Arguments
Optional date representing the beginning of the postedDate range filter. This date value is inclusive.
In a multi-ledger scenario, include all ledgers' transactions if
The ledger to return transactions from.
The number of the ledger to return transactions from.
The order in which to return the transactions.
Optional date representing the end of the postedDate range filter. This date value is exclusive.
Include only these specific transaction types in the result.
Exclude these specific transaction types from the result. |
urn(String) | Unique reference number from a 3rd party enrolment. |
users([AccountUserType!]!) | |
warmHomeDiscount(WarmHomeDiscount) | Get details about warm home discount applications and records. |
Example
{
"id": "abc123",
"number": "abc123",
"status": "PENDING",
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"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,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"projectedBalance": 1,
"shouldReviewPayments": true,
"recommendedBalanceAdjustment": 1,
"electricityAgreements": [ElectricityAgreementType],
"gasAgreements": [GasAgreementType],
"warmHomeDiscount": WarmHomeDiscount,
"eligibilityForWarmHomeDiscount": WarmHomeDiscountEligibility,
"billingPostcode": "abc123",
"canRenewTariff": true,
"trackerTariffDailyPricing": TrackerTariffDailyPricing,
"paymentAdequacy": PaymentAdequacyType,
"smets2Interest": "PRIORITY",
"smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME",
"greenAccomplishments": GreenAccomplishmentsType,
"canChangePayments": true,
"cotReadingWindowDays": 1,
"canBeWithdrawn": true,
"currentEstimatedSsd": "2020-01-01",
"earliestPossibleSsd": "2020-01-01",
"latestPossibleSsd": "2020-01-01",
"operationsTeam": OperationsTeamType,
"canInputMeterReadingsViaIvr": true,
"hasActiveDunningProcess": true,
"hasActiveCollectionsProceedings": true,
"isEligibleForElectricityReadingIncentive": true,
"isEligibleForGasReadingIncentive": true,
"isInBlockingMigration": true
}AccountUserCommsPreferences
Information about the preferences set up for a user.
Fields
| Name | Description |
|---|---|
emailFormat(EmailFormats) | What format the user would like to receive their emails in. |
fontSizeMultiplier(Float) | This setting allows the user to adjust the default font size of the communications sent to them. |
isOptedInMeterReadingConfirmations(Boolean) | Whether the user has opted in to receive meter reading confirmation emails. |
isOptedInToClientMessages(Boolean) | Whether a user has opted in to receive messages from the client or client group. For example, for Octopus Energy this describes whether a user is opted in to offers from Octopus Investments. |
isOptedInToLifeSupportCall(Boolean) | Whether the user is opted in to life support call. |
isOptedInToOfferMessages(Boolean) | Whether a user has opted in to receive messages offering discounts or other services not directly related to the services the client provides. |
isOptedInToRecommendedMessages(Boolean) | Whether a user has opted in to receive messages we recommend they read, but are not vital to the utilities the client provides. For example, these could be reminders that the client will take a payment. |
isOptedInToSmsMessages(Boolean) | Whether the user has opted in to receive SMS messages. |
isOptedInToThirdPartyMessages(Boolean) | Whether a user has opted in to receive messages from the client's preferred third parties. |
isOptedInToUpdateMessages(Boolean) | Whether a user has opted in to receive messages updating them on client activities. |
isUsingInvertedEmailColours(Boolean) | Whether a user has opted to have inverted colours in their emails. This is currently only relevant to the Octopus Energy brand, whose emails have a dark background by default. |
preferredHoldMusic(Songs) | Song which will be used as hold music for the user. |
smsOptInLastChangeDate(DateTime) | The date the SMS opt-in was last changed. |
Example
{
"isOptedInToClientMessages": true,
"isOptedInToOfferMessages": true,
"isOptedInToRecommendedMessages": true,
"isOptedInToUpdateMessages": true,
"isOptedInToThirdPartyMessages": true,
"emailFormat": "TEXT",
"isUsingInvertedEmailColours": true,
"fontSizeMultiplier": 1.0,
"isOptedInMeterReadingConfirmations": true,
"isOptedInToSmsMessages": true,
"preferredHoldMusic": "NO_SONG_PREFERRED",
"smsOptInLastChangeDate": "2020-01-01T00:00:00.000Z",
"isOptedInToLifeSupportCall": true
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountUserConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountUserConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountUserConnectionTypeEdge
A Relay edge containing a AccountUserConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountUserType) | The item at the end of the edge |
Example
{
"node": AccountUserType,
"cursor": "abc123"
}AccountUserConsents
Information about the consents for an account user.
Fields
| Name | Description |
|---|---|
consents([ConsentType!]!) | Consents linked to this user. |
Example
{
"consents": ConsentType
}Fields
| Name | Description |
|---|---|
isSensitive(Boolean) | Whether the value is sensitive and encrypted. |
namespace(String) | The namespace for the property. |
value(String) | The property value. |
Example
{
"namespace": "abc123",
"value": "abc123",
"isSensitive": true
}AccountUserPermission
Holds information about a specific permission.
Fields
| Name | Description |
|---|---|
permission(String) | The short name of the permission. |
Example
{
"permission": "abc123"
}AccountUserRoleType
The role a user has in association with one account.
Fields
| Name | Description |
|---|---|
account(AccountType!) | |
id(ID!) | |
role(RoleString) | The account role. |
user(AccountUserType!) |
Example
{
"id": "abc123",
"user": AccountUserType,
"account": AccountType,
"role": RoleString
}AccountUserType
User objects are the core of the authentication system. They typically represent a customer who manages a portfolio of one or more accounts.
Fields
| Name | Description |
|---|---|
accountUserRoles([AccountUserRoleType]) | List of roles a user has for each account they're linked to. Arguments
Optionally filter the user's account roles to only return those linked to specific accounts. |
accounts([AccountInterface]) | List of accounts that the user is linked to either via portfolio role or account role. Arguments
Optionally filter the user's accounts to only return those linked to portfolios on the specified brands.
Optionally exclude accounts with any of the given account types.
Optionally exclude accounts that have never had an agreement.
Optionally restrict user accounts to only return those with the specified account numbers.
Optionally restrict user accounts to only return those linked to portfolios on public facing brands. |
address(RichAddressType) | This user's address. |
alternativePhoneNumbers([String]) | List of alternative phone numbers for the account user. |
businesses(BusinessConnectionTypeConnection) | List of businesses that the user has access to through their granted roles. |
consents([ConsentType!]!) | Consents linked to this user. |
createdAt(DateTime!) | |
dateOfBirth(Date) | AccountUser's date of birth. |
details([AccountUserDetailType]) | List of details linked to this user. |
displayName(String) | We recommend you use fullName instead of this field. Deprecated The 'displayName' field is deprecated. |
email(String!) | |
familyName(String!) | |
firstName(String) | We recommend you use preferredName or fullName instead of this field. Deprecated The 'firstName' field is deprecated. |
fullName(String) | The user's full name. |
givenName(String!) | |
hasFamilyIssues(Boolean) | Whether there are family issues. |
holdMusicChoices([TrackOptionType]) | List of hold music options. |
id(ID!) | |
isActive(Boolean) | Whether this user is active. |
isDeceased(Boolean!) | Designates whether this user is deceased. |
isInHardship(Boolean) | True if user is linked to an account with an active hardship agreement. |
isOptedInToWof(Boolean) | Override Field to add additional attributes and extend description with possible_errors |
label(String) | A free text field to help identifying the customer (e.g. for a job title). |
landline(String!) | |
landlinePhoneNumber(String) | The user's landline phone number. Deprecated The 'landlinePhoneNumber' field is deprecated. |
lastName(String) | We recommend you use preferredName or fullName instead of this field. Deprecated The 'lastName' field is deprecated. |
liveSecretKey(String) | The user's secret key to access the Developer API. |
mobile(String!) | |
number(String) | A code that uniquely identifies the account user. |
paymentMethods(PaymentInstructionConnectionTypeConnection) | List payment instructions linked to this user. |
permissions([AccountUserPermission]) | Holds information about the permissions of the current viewer. |
portfolioId(ID) | We recommend you use portfolioIds instead of this field. Deprecated The 'portfolioId' field is deprecated. |
portfolioIds([ID]) | List of portfolio ids that the user is linked to via their portfolio roles. Arguments
Optionally filter the user's portfolios to only return those linked to specified brands.
Optionally restrict the user portfolios to only return those linked to public facing brands. |
portfolioUserRoles([PortfolioUserRoleType]) | List of roles a user has for each portfolio they're linked to. |
portfolios(PortfolioConnectionTypeConnection) | List of portfolios that the user is linked to via their portfolio roles. Arguments
Optionally filter the user's portfolios to only return those linked to specified brands.
Optionally restrict the user portfolios to only return those linked to public facing brands. |
preferences(AccountUserCommsPreferences) | |
preferredName(String) | The user's preferred name. |
pronouns(String) | The user's pronouns e.g. 'she/her', 'he/him', 'they/them'. |
specialCircumstances(SpecialCircumstancesType) | |
title(String) |
Example
{
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"portfolios": PortfolioConnectionTypeConnection,
"address": RichAddressType,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"isActive": true,
"details": [AccountUserDetailType],
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"businesses": BusinessConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"holdMusicChoices": [TrackOptionType],
"isOptedInToWof": true
}Fields
| Name | Description |
|---|---|
agent(SiteworksAppointmentAgent) | |
agentReference(String) | |
appointmentDate(Date) | |
cancellationCategory(CancellationCategory) | The reason the appointment was cancelled (category). |
cancellationSubCategory(String) | The reason the appointment was cancelled (sub-category). |
createdAt(DateTime!) | |
date(Date) | |
id(UUID!) | |
isTradToSmartExchange(Boolean) | Is the appointment switching from a traditional (not SMETS1) meter to a smart meter? |
requestId(String) | |
status(AppointmentStatus) | The current status of the Siteworks application. |
timeSlotEnd(Time) | |
timeSlotStart(Time) | |
workCategory(WorkCategory) | The category of work the appointment has been booked for. |
Example
{
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"appointmentDate": "2020-01-01",
"timeSlotStart": "00:00:00.000Z",
"timeSlotEnd": "00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z",
"agent": "GENERIC_AGENT",
"workCategory": "EXCHANGE",
"status": "PENDING",
"date": "2020-01-01",
"isTradToSmartExchange": true,
"requestId": "abc123",
"agentReference": "abc123",
"cancellationCategory": "CANCELLED_BY_CUSTOMER",
"cancellationSubCategory": "abc123"
}AddCampaignToAccount
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-7427: No campaign found with given slug.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
campaignAdded(Boolean) | Whether the campaign was successfully added. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"campaignAdded": true
}AddCreditToSmartMeter
Add credit to a smart prepayment meter.
Fields
| Name | Description |
|---|---|
amount(Int!) | Top-up amount in pence to add to smart meter. |
Example
{
"amount": 1
}AddProperty
Add a property to an account.
The possible errors that can be raised are:
- KT-CT-6623: Unauthorized.
- KT-CT-6629: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
property(PropertyType) | The property that was added to the account. |
Example
{
"possibleErrors": [PossibleErrorType],
"property": PropertyType
}Example
{
"mpan": "abc123",
"profileClass": "abc123"
}AddressConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AddressConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AddressConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AddressConnectionTypeEdge
A Relay edge containing a AddressConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AddressType) | The item at the end of the edge |
Example
{
"node": AddressType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
electricityMeterPoints([ElectricMeterTechnicalDetails]) | List of energised electricity meter points associated with the address. |
gasMeterPoints([GasMeterTechnicalDetails]) | List of gas meter points associated with the address. |
Example
{
"electricityMeterPoints": [ElectricMeterTechnicalDetails],
"gasMeterPoints": [GasMeterTechnicalDetails]
}Fields
| Name | Description |
|---|---|
countryCode(String) | Country code of billing address. |
line1(String) | Line 1 of address. |
line2(String) | Line 2 of address. |
line3(String) | Line 3 of address. |
line4(String) | Line 4 of address. |
line5(String) | Line 5 of address. |
postcode(String) | Postcode of billing address. |
Example
{
"line1": "abc123",
"postcode": "abc123",
"countryCode": "abc123",
"line2": "abc123",
"line3": "abc123",
"line4": "abc123",
"line5": "abc123"
}Fields
| Name | Description |
|---|---|
addressKey(String!) | A unique ID per address using part of the address with spaces removed. |
addressType(AddressTypeEnum) | The type of address (domestic, business or unknown). |
display(String!) | The complete and human-legible address in a single string. |
electricityMeterPoints([AddressAPIElectricityMeterPointType]) | |
gasMeterPoints([AddressAPIGasMeterPointType]) | |
gspGroupId(String!) | The ID of the Grid Supply Point Group that the address belongs to. |
hasPrepaidMeters(Boolean!) | |
houseNumber(String) | The identifier for a property. The house number consists of the part of line 1 of the address that is not the street name. This includes sub-building names, building names, deliver point aliases and building numbers. For example, the house number for the property 'Flat 12 100 Example St' would be 'Flat 12 100'. |
line1(String!) | Line 1 of the address. This is generally the house number and street name. |
line2(String!) | Line 2 of the address. This is generally the area or village. |
line3(String!) | Line 3 of the address. This is generally the area or village. |
line4(String!) | Line 4 of the address. This is generally the city. |
line5(String!) | Line 5 of the address. This is generally the county. |
postcode(String!) | |
streetName(String) | The street name for a property. The street name consists of the part of line 1 of the address that is not the house number. For example, the house number for the property 'Flat 12 100 Example St' would be 'Example St'. |
Example
{
"addressKey": "abc123",
"addressType": "DOMESTIC",
"display": "abc123",
"gspGroupId": "abc123",
"line1": "abc123",
"line2": "abc123",
"line3": "abc123",
"line4": "abc123",
"line5": "abc123",
"postcode": "abc123",
"houseNumber": "abc123",
"streetName": "abc123",
"hasPrepaidMeters": true,
"gasMeterPoints": [AddressAPIGasMeterPointType],
"electricityMeterPoints": [AddressAPIElectricityMeterPointType]
}AddressUPRNTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AddressUPRNTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AddressUPRNTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AddressUPRNTypeEdge
A Relay edge containing a AddressUPRNType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(UniqueRELAddressType) | The item at the end of the edge |
Example
{
"node": UniqueRELAddressType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
gspCoefficient(Float) | The price multiplier/coefficient used to calculate the unit rate. |
peakOffset(Float) | The peak offset for the unit rate. |
priceCap(Float) | The maximum value/cap for the unit rate. |
Example
{
"priceCap": 1.0,
"peakOffset": 1.0,
"gspCoefficient": 1.0
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AgreementEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AgreementEdge,
"totalCount": 1,
"edgeCount": 1
}AgreementEdge
A Relay edge containing a Agreement and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(CommonAgreementType) | The item at the end of the edge |
Example
{
"node": CommonAgreementType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
allocationAmount(Int!) | The amount of the transaction that has been allocated to the billing document. A positive amount indicates money received from the customer (payments, credits). A negative amount indicates money paid to the customer (repayments). |
allocationReason(String) | Reason for the allocation intention. |
transactionAmount(Int!) | The amount of the transaction. A positive amount indicates money received from the customer (payments, credits). A negative amount indicates money paid to the customer (repayments). |
transactionId(Int!) | ID of the allocated transaction. |
transactionType(TransactionTypes!) | The type of the transaction. |
Example
{
"transactionId": 1,
"transactionType": "CREDIT",
"transactionAmount": 1,
"allocationAmount": 1,
"allocationReason": "abc123"
}AllocationType
Represents an allocation of a fulfilment to an obligation.
Fields
| Name | Description |
|---|---|
amount(Int!) | The amount of the allocation (in minor currency units), unsigned. |
fulfilment(FulfilmentType!) | The fulfilment that is allocated. |
Example
{
"amount": 1,
"fulfilment": FulfilmentType
}AlreadyLinkedError
Returned when an account already has a LINE account linked to it.
Fields
| Name | Description |
|---|---|
type(LineLinkErrorType!) | The type of error that occurred. |
Example
{
"type": "NO_MATCHING_LINE_LINK"
}AmendPayment
The possible errors that can be raised are:
- KT-CT-3924: Unauthorized.
- KT-CT-4123: Unauthorized.
- KT-CT-3970: The account cannot amend payments.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
payment(AccountPaymentType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"payment": AccountPaymentType
}AmendUnbilledElectricityReading
Amend unbilled electricity reading.
Fields
| Name | Description |
|---|---|
readingAmended(Boolean) |
Example
{
"readingAmended": true
}AnimationType
A media element containing an animation, such as a Lottie.
Fields
| Name | Description |
|---|---|
accessibilityHidden(Boolean) | Whether the element is hidden from view. |
accessibilityLabel(String) | Accessible description of the element. |
horizontalAlignment(Alignment) | The horizontal alignment of the media. |
id(ID) | Unique identifier of the object. |
mediaUrl(String!) | The resource URL of the media. |
typename(String) | The name of the object's type. |
width(ItemSizeType) | The measurement of the element. |
Example
{
"width": FractionSizeType,
"mediaUrl": "abc123",
"horizontalAlignment": "START",
"accessibilityHidden": true,
"accessibilityLabel": "abc123",
"id": "abc123",
"typename": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AnnualStatementConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AnnualStatementConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AnnualStatementConnectionTypeEdge
A Relay edge containing a AnnualStatementConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AnnualStatementType) | The item at the end of the edge |
Example
{
"node": AnnualStatementType,
"cursor": "abc123"
}AnnualStatementType
Annual statements that are sent to the account. They summarize important information about usage and tariffs.
Example
{
"periodStartsAt": "2020-01-01T00:00:00.000Z",
"periodEndsAt": "2020-01-01T00:00:00.000Z",
"id": "abc123",
"pdfUrl": "abc123"
}AnnulmentBillingDocumentType
An annulment is a billing document that annuls another billing document.
Fields
| Name | Description |
|---|---|
annulledBillingDocumentId(Int!) | ID of the billing document annulled by this annulment. |
firstIssued(DateTime) | First time the annulment was issued. |
id(Int!) | ID for the annulment billing document. |
pdfUrl(String) | URL to the PDF of the annulment. |
Example
{
"id": 1,
"annulledBillingDocumentId": 1,
"firstIssued": "2020-01-01T00:00:00.000Z",
"pdfUrl": "abc123"
}AppSessionConnectionTypeEdge
A Relay edge containing a AppSessionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AppSessionType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Example
{
"value": "1.0",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z"
}ApplicableRateConnectionTypeConnection
Dovetailing rates applicable for an account / meter point combination over a given time period.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ApplicableRateConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ApplicableRateConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ApplicableRateConnectionTypeEdge
A Relay edge containing a ApplicableRateConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ApplicableRate) | The item at the end of the edge |
Example
{
"node": ApplicableRate,
"cursor": "abc123"
}AssistanceAgreementType
A single Assistance Agreement.
Fields
| Name | Description |
|---|---|
activeFrom(Date) | The start datetime of the agreement. |
activeTo(Date) | The end datetime of the agreement, if any. |
assistanceType(String) | The type of assistance provided by the agreement. |
Example
{
"assistanceType": "abc123",
"activeFrom": "2020-01-01",
"activeTo": "2020-01-01"
}AttachmentType
Represents a file to attach to a communication
Fields
| Name | Description |
|---|---|
filename(String!) | |
id(ID!) | |
temporaryUrl(String) | Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). |
Example
{
"id": "abc123",
"filename": "abc123",
"temporaryUrl": "abc123"
}AuthFlow
A step where the user must complete an auth flow.
Fields
| Name | Description |
|---|---|
authorizationUri(String) | The URL to redirect the user to for authorization. |
id(ID) | A unique identifier for this onboarding step. |
redirectUri(String) | The URI where the auth flow is going to redirect back to at the end. |
Example
{
"id": "abc123",
"redirectUri": "abc123",
"authorizationUri": "abc123"
}Fields
| Name | Description |
|---|---|
clientId(String) | The client ID of the application. |
name(String) | The name of the application. |
Example
{
"name": "abc123",
"clientId": "abc123"
}AutoTopupConfigConnectionTypeConnection
GraphQL output type for querying nodes of auto top-up configs.
Using this class instead of AutoTopupConfigType directly allows for pagination.
Fields
| Name | Description |
|---|---|
edges([AutoTopupConfigConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
Example
{
"pageInfo": PageInfo,
"edges": AutoTopupConfigConnectionTypeEdge
}AutoTopupConfigConnectionTypeEdge
A Relay edge containing a AutoTopupConfigConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AutoTopupConfigType) | The item at the end of the edge |
Example
{
"node": AutoTopupConfigType,
"cursor": "abc123"
}AutoTopupConfigType
GraphQL output type for querying auto top-up configs.
Fields
| Name | Description |
|---|---|
accountNumber(String!) | The account number, e.g.: 'A-A1B2C3D4'. |
deviceId(String!) | Alphanumber code identifying the device, e.g.: 'A1-BC-D2-00-01-23-EF-4G'. |
effectiveFrom(DateTime!) | The date and time when the config became effective. |
effectiveTo(DateTime) | The date and time when the config stopped being effective. |
id(ID!) | |
topupAmount(Int!) | Auto top-up amount in the lowest currency unit. i.e. USA cents / GBP pence / etc. |
Example
{
"id": "abc123",
"accountNumber": "abc123",
"deviceId": "abc123",
"topupAmount": 1,
"effectiveFrom": "2020-01-01T00:00:00.000Z",
"effectiveTo": "2020-01-01T00:00:00.000Z"
}AutoTopupTriggerConnectionTypeConnection
GraphQL output type for querying nodes of auto top-up trigger events.
Using this class instead of AutoTopupTriggerType directly allows for pagination.
Fields
| Name | Description |
|---|---|
edges([AutoTopupTriggerConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
Example
{
"pageInfo": PageInfo,
"edges": AutoTopupTriggerConnectionTypeEdge
}AutoTopupTriggerConnectionTypeEdge
A Relay edge containing a AutoTopupTriggerConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AutoTopupTriggerType) | The item at the end of the edge |
Example
{
"node": AutoTopupTriggerType,
"cursor": "abc123"
}AutoTopupTriggerType
GraphQL output type for querying auto top-up trigger events.
Fields
| Name | Description |
|---|---|
autoTopupConfigId(ID!) | Integer ID of the related AutoTopupConfig, e.g. '123'. |
createdAt(DateTime!) | DateTime when the trigger event was created, e.g. '2024-01-01T00:00:00+00:00'. |
failureReason(SmartDeviceAutoTopupTriggerFailureReasons) | Reason auto top-up trigger event failed, if any. |
id(ID!) | |
source(SmartDeviceAutoTopupTriggerSources!) | Source of the auto top-up trigger event. |
status(SmartDeviceAutoTopupTriggerStatus!) | Status of the auto top-up trigger event. |
triggeredAt(DateTime!) | DateTime when auto topup was triggered, e.g. '2024-01-01T00:00:00+00:00'. |
updatedAt(DateTime!) | DateTime when the trigger event was last updated, e.g. '2024-01-01T00:00:00+00:00'. |
Example
{
"id": "abc123",
"autoTopupConfigId": "abc123",
"triggeredAt": "2020-01-01T00:00:00.000Z",
"status": "INITIATED",
"source": "LOW_CREDIT_BALANCE",
"failureReason": "NO_IMPORT_METER",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z"
}BackendScreenEvent
Returns an Action to perform, e.g. a screen to load.
BackendScreenEvents are specific types of Action which trigger a mutation in the Kraken backend. They return an action (any type), such as a ScreenActionType (which is then used to load the next screen). Any action registered in the registry should really be an "event" with some side-effect in the backend.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-8002: No event found.
- KT-CT-8003: Event has no execute function.
- KT-CT-8004: Error executing event in the backend.
- KT-CT-8007: Incorrect or missing parameters for backend screen event.
- KT-GB-9310: Account ineligible for joining Octoplus.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
action(ActionType) | An action to perform. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"action": DeeplinkActionType
}BackendScreenEventActionType
An action which triggers some event in the Kraken backend.
Fields
| Name | Description |
|---|---|
eventId(String!) | The ID of the event to trigger. |
id(ID) | Unique identifier of the object. |
params([BackendScreenParam]!) | List of key-value pairs to pass as parameters to the event. |
typeName(String) | The name of the action object's type. |
typename(String) | The name of the object's type. |
Example
{
"typeName": "abc123",
"id": "abc123",
"typename": "abc123",
"eventId": "abc123",
"params": BackendScreenParam
}BackendScreenParam
A key-value pair (both Strings) which is passed as a parameter to a screen.
Example
{
"key": "abc123",
"value": "abc123"
}Fields
| Name | Description |
|---|---|
areValid(Boolean!) | Indicates whether the provided bank details are valid. |
message(String) | Provides additional information about validation result. |
Example
{
"areValid": true,
"message": "abc123"
}Fields
| Name | Description |
|---|---|
maximumSocPercentage(Int) | The maximum state of charge (soc) %. |
minimumSocPercentage(Int) | The minimum state of charge (soc) %. |
Example
{
"minimumSocPercentage": 1,
"maximumSocPercentage": 1
}Fields
| Name | Description |
|---|---|
chargingPreferences(BatteryChargingPreferencesType) | The charging preferences of the battery (e.g. min / max state of charge %). |
deviceStatus(DeviceStatusType) | The current status of the battery (e.g. connected, state of charge, power). |
deviceType(KrakenFlexDeviceTypes) | Batteries. |
krakenflexDeviceId(ID) | ID of the device in KrakenFlex. |
params(BatteryParamsType) | Device specific parameters. |
provider(ProviderChoices) | Battery integration provider (make). |
Example
{
"krakenflexDeviceId": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"params": BatteryParamsType,
"deviceStatus": DeviceStatusType,
"chargingPreferences": BatteryChargingPreferencesType
}Fields
| Name | Description |
|---|---|
variantId(ID) | ID of the battery variant. |
Example
{
"variantId": "abc123"
}Fields
| Name | Description |
|---|---|
batteryCapacityInKwh(Decimal) | Usable capacity in kWh. |
couplingType(BatteryCouplingType) | Coupling type (AC/DC). |
isDeprecated(Boolean) | Whether a variant is deprecated. |
isIntegrationLive(Boolean) | Whether an integration/make is live, i.e. available. |
maxPowerInKw(Decimal) | Max import/export power in kW. |
model(String) | Model name of the battery. |
variantId(ID) | ID of the battery variant. |
Example
{
"variantId": "abc123",
"model": "abc123",
"couplingType": "AC",
"batteryCapacityInKwh": "1.0",
"maxPowerInKw": "1.0",
"isIntegrationLive": true,
"isDeprecated": true
}Fields
| Name | Description |
|---|---|
make(String) | Make of the home battery. |
models([BatteryVariantModelsType]) | List of home battery models per make. |
Example
{
"make": "abc123",
"models": [BatteryVariantModelsType]
}BespokeRateConfigurationType
The BespokeRateConfiguration term.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
schedules([BespokeRateScheduleType]) | The schedules for the bespoke rate configuration. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"schedules": [BespokeRateScheduleType]
}BespokeRateItemType
Item for the BespokeRateConfiguration term.
Fields
| Name | Description |
|---|---|
pricePerUnit(Decimal) | The price per unit for the bespoke rate item. |
rateSpecificationCode(String) | The rate specification code for the bespoke rate item. |
variantProfile(VariantProfile) | The variant profile for the bespoke rate item. |
Example
{
"pricePerUnit": "1.0",
"rateSpecificationCode": "abc123",
"variantProfile": VariantProfile
}BespokeRateScheduleType
Schedule for the BespokeRateConfiguration term.
Fields
| Name | Description |
|---|---|
items([BespokeRateItemType]) | The items for the bespoke rate schedule. |
productCode(String) | The product code for the bespoke rate schedule. |
supplyPointIdentifier(String) | The external identifier of the supply point this schedule targets. |
validFrom(DateTime) | The datetime the schedule of bespoke rates is valid from. |
validTo(DateTime) | The datetime the schedule of bespoke rates is valid to. |
Example
{
"items": [BespokeRateItemType],
"productCode": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"supplyPointIdentifier": "abc123"
}BillCharge
A charge to the customer from the energy retailer.
Fields
| Name | Description |
|---|---|
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
consumption(Consumption) | If this charge is for consumption of a good or service, this field will contain details of how much was consumed. Omitted in cases where the charge is not for consumption, or where consumption information is not available (e.g. for some older records). |
createdAt(DateTime) | The date time when the transaction is created. |
detail(ChargeDetail) | Supporting information about this charge (if any is available). |
id(ID) | The unique identifier for the transaction. |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | The date the transaction was posted. |
reasonCode(String) | Returns the reason. |
title(String) | A user readable string that indicates what this transaction relates to. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"amounts": TransactionAmountType,
"title": "abc123",
"note": "abc123",
"reasonCode": "abc123",
"consumption": Consumption,
"detail": SupplyOrServiceCharge
}BillConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BillConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BillConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}BillConnectionTypeEdge
A Relay edge containing a BillConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BillInterface) | The item at the end of the edge |
Example
{
"node": BillInterface,
"cursor": "abc123"
}BillCredit
A credit to the customer from the energy retailer.
Fields
| Name | Description |
|---|---|
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
createdAt(DateTime) | The date time when the transaction is created. |
id(ID) | The unique identifier for the transaction. |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | The date the transaction was posted. |
reasonCode(String) | Returns the reason. |
title(String) | A user readable string that indicates what this transaction relates to. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"amounts": TransactionAmountType,
"title": "abc123",
"note": "abc123",
"reasonCode": "abc123"
}BillDueDateType
Represents bill due dates to be applied in a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true
}BillPayment
A payment from the customer to the energy supplier.
Fields
| Name | Description |
|---|---|
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
createdAt(DateTime) | The date time when the transaction is created. |
id(ID) | The unique identifier for the transaction. |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | The date the transaction was posted. |
reasonCode(String) | Returns the reason. |
title(String) | A user readable string that indicates what this transaction relates to. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"amounts": TransactionAmountType,
"title": "abc123",
"note": "abc123",
"reasonCode": "abc123"
}BillRefund
A refund to the customer from the energy supplier.
Fields
| Name | Description |
|---|---|
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
createdAt(DateTime) | The date time when the transaction is created. |
id(ID) | The unique identifier for the transaction. |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | The date the transaction was posted. |
reasonCode(String) | Returns the reason. |
title(String) | A user readable string that indicates what this transaction relates to. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"amounts": TransactionAmountType,
"title": "abc123",
"note": "abc123",
"reasonCode": "abc123"
}BillRepresentationConnectionTypeConnection
A connection that can provide links to the representations of a bill.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BillRepresentationConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BillRepresentationConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}BillRepresentationConnectionTypeEdge
A Relay edge containing a BillRepresentationConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BillRepresentationType) | The item at the end of the edge |
Example
{
"node": BillRepresentationType,
"cursor": "abc123"
}BillRepresentationType
representations are associated with a bill files and can be used to provide additional information to the customer.
Fields
| Name | Description |
|---|---|
code(String) | The type of representation. |
filename(String) | The name of the file. |
temporaryUrl(String) | The |
temporaryUrlExpiresAt(DateTime) | The expiry datetime field of the temporary URL. |
version(Int) | The version of the representation. |
Example
{
"code": "abc123",
"version": 1,
"temporaryUrl": "abc123",
"temporaryUrlExpiresAt": "2020-01-01T00:00:00.000Z",
"filename": "abc123"
}BillToLatestSmartMeterSnapshot
Bill an account with a smart meter to the most recent midnight snapshot reading.
Fields
| Name | Description |
|---|---|
billedToDate(Date) | The date that has been billed up to. |
currentBalance(Decimal) | The balance after attempting to bill. |
Example
{
"billedToDate": "2020-01-01",
"currentBalance": "1.0"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BillTransactionConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BillTransactionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}BillTransactionConnectionTypeEdge
A Relay edge containing a BillTransactionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BillTransactionType) | The item at the end of the edge |
Example
{
"node": BillTransactionType,
"cursor": "abc123"
}BillingAttachmentConnectionTypeConnection
A connection that can provide links to the attachments of the bill.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BillingAttachmentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BillingAttachmentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}BillingAttachmentConnectionTypeEdge
A Relay edge containing a BillingAttachmentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BillingAttachmentType) | The item at the end of the edge |
Example
{
"node": BillingAttachmentType,
"cursor": "abc123"
}BillingAttachmentType
Attachments are associated with a bill files and can be used to provide additional information to the customer.
Fields
| Name | Description |
|---|---|
filename(String) | The name of the file. |
temporaryUrl(String) | The |
temporaryUrlExpiresAt(DateTime) | The expiry datetime field of the temporary URL. |
Example
{
"temporaryUrl": "abc123",
"temporaryUrlExpiresAt": "2020-01-01T00:00:00.000Z",
"filename": "abc123"
}BillingDocumentIssuanceFrequencyType
Represents billing document issuance frequency to be applied during a contract.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
frequency(String) | Billing frequency. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term can be amended after creation. |
multiplier(Int) | Multiplier applied to the frequency. |
periodStartDay(Int) | Start day of the billing period. |
periodStartMonth(Int) | Start month of the billing period. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"frequency": "abc123",
"periodStartDay": 1,
"periodStartMonth": 1,
"multiplier": 1
}Fields
| Name | Description |
|---|---|
allocationIntentions([AllocationIntentionType]!) | Allocation intentions for the billing document. |
allocations([AllocationType]!) | Allocations for the billing document. |
dueDate(Date!) | The date when the payment is due for the billing document. |
expectedAmount(Int!) | The expected amount for the billing document (in minor currency units). |
remainingAmount(Int!) | The amount that remains to be paid for the billing document (in minor currency units). |
Example
{
"dueDate": "2020-01-01",
"expectedAmount": 1,
"remainingAmount": 1,
"allocationIntentions": AllocationIntentionType,
"allocations": AllocationType
}BillingOptionsType
Information about an account's billing schedule.
Fields
| Name | Description |
|---|---|
currentBillingPeriodEndDate(Date) | The date on which the current billing cycle will end. Null if the account is on flexible billing. |
currentBillingPeriodStartDate(Date) | The date on which the current billing cycle started. |
isFixed(Boolean!) | If true, this account is billed on specific day of a regular cycle. If false, the billing schedule is flexible, depending on when meter readings are submitted. |
nextBillingDate(Date) | The next date on which this account will next be billed. This is the same as the start date for their next bill cycle. Null if the account is on flexible billing. |
periodLength(AccountBillingOptionsPeriodLength) | |
periodLengthMultiplier(Int) | |
periodStartDay(Int) | The day of the month on which the account's billing period should start. |
Example
{
"periodStartDay": 1,
"periodLength": "MONTHLY",
"periodLengthMultiplier": 1,
"isFixed": true,
"currentBillingPeriodStartDate": "2020-01-01",
"currentBillingPeriodEndDate": "2020-01-01",
"nextBillingDate": "2020-01-01"
}BusinessConnectionTypeConnection
Paginator of Businesses
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BusinessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BusinessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}BusinessConnectionTypeEdge
A Relay edge containing a BusinessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BusinessType) | The item at the end of the edge |
Example
{
"node": BusinessType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
key(String!) | The key of the business detail. |
value(String) | The value of the business detail. |
Example
{
"key": "abc123",
"value": "abc123"
}Fields
| Name | Description |
|---|---|
endAt(DateTime) | The end date and time of the segment period. |
id(ID!) | The ID of the business segment period. |
segment(SegmentType!) | The segment associated with this period. |
startAt(DateTime) | The start date and time of the segment period. |
Example
{
"id": "abc123",
"segment": SegmentType,
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
billingAddress(RichAddressType) | The billing address of the business. |
businessType(BusinessTypeOptions) | The company type of a business account. |
details([BusinessDetailType]) | The details of the business. |
id(ID!) | The business ID. |
legalAddress(RichAddressType) | The legal address of the business. |
linkedAccountNumber(ID!) | Account number linked to this business. The possible errors that can be raised are:
Deprecated The 'linkedAccountNumber' field is deprecated. |
linkedAccountNumbers([ID]!) | Account numbers linked to this business. |
name(String!) | The business' name. |
number(String!) | The business' number. |
paymentMethods(PaymentInstructionConnectionTypeConnection) | List payment instructions owned by this business. |
sectors([BusinessSectorString!]!) | The sectors the business operates in. |
segmentName(String) | The segment this business is assigned to. |
Example
{
"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
}CallTagConnectionTypeEdge
A Relay edge containing a CallTagConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(CallTagType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Example
{
"name": "abc123",
"slug": "abc123",
"expiryDate": "2020-01-01"
}Fields
| Name | Description |
|---|---|
canAmendPayments(Boolean) | Whether or not the account can amend payments. |
canCancelPayments(Boolean) | Whether or not the account can cancel payments. |
Example
{
"canAmendPayments": true,
"canCancelPayments": true
}CancelEnrolment
Mutation for an account to cancel enrolment to a supplier.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-GB-4136: Account cannot be withdrawn.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountNumber(String) | The number of the account whose enrolment was cancelled. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"accountNumber": "abc123"
}CancelRepaymentRequest
Cancel a repayment or refund request.
The possible errors that can be raised are:
- KT-CT-4231: Unauthorized.
- KT-CT-3930: The repayment or refund request does not exist.
- KT-CT-3931: This repayment or refund request cannot be cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
repaymentRequest(CancelRepaymentRequestOutputType) | The cancelled repayment/refund request. |
Example
{
"possibleErrors": [PossibleErrorType],
"repaymentRequest": CancelRepaymentRequestOutputType
}CancelRepaymentRequestOutputType
Output from cancelling a repayment or refund request.
Fields
| Name | Description |
|---|---|
requestId(String) | The ID of the cancelled request. |
status(RepaymentRequestStatus) | The current status of the cancelled request. |
Example
{
"requestId": "abc123",
"status": "REQUESTED"
}CancelSmartFlexOnboarding
Cancel onboarding of a device with SmartFlex.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}CardComponentType
A card containing a list of items
Fields
| Name | Description |
|---|---|
accessibilityHidden(Boolean) | Whether the element is hidden from view. |
accessibilityLabel(String) | Accessible description of the element. |
id(ID) | Unique identifier of the object. |
items([CardItemType]!) | The list of components. |
typename(String) | The name of the object's type. |
Example
{
"accessibilityHidden": true,
"accessibilityLabel": "abc123",
"id": "abc123",
"typename": "abc123",
"items": TextType
}Fields
| Name | Description |
|---|---|
cards([CardComponentType]!) | The list of cards. |
id(ID) | Unique identifier of the object. |
typename(String) | The name of the object's type. |
Example
{
"id": "abc123",
"typename": "abc123",
"cards": CardComponentType
}CatalogProductType
Represents a product in the catalog.
Fields
| Name | Description |
|---|---|
code(String!) | Unique identifier of the component. |
customerDescription(String!) | Customer-facing description of the product. |
customerName(String!) | Customer-facing name of the product. |
identifier(ID!) | Unique identifier of the product. |
internalName(String!) | Internal name of the product. |
marketName(String!) | The market the product is associated with. |
sourceProductType(ProductType) | The type of product. |
tags([TagType]) | Tags associated with this product for classification. |
Example
{
"identifier": "abc123",
"internalName": "abc123",
"customerName": "abc123",
"customerDescription": "abc123",
"code": "abc123",
"marketName": "abc123",
"sourceProductType": "SUPPLY",
"tags": [TagType]
}CharacteristicOverrideConfigurationType
Represents a characteristic override configuration term in a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
overrides([CharacteristicOverrideType!]!) | List of characteristic overrides. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"overrides": CharacteristicOverrideType
}CharacteristicOverrideType
An override for a specific characteristic.
Fields
| Name | Description |
|---|---|
characteristic(CharacteristicType) | The characteristic being overridden. |
overrideValue(CharacteristicValueType) | The value to override the characteristic with. |
Example
{
"characteristic": CharacteristicType,
"overrideValue": StringCharacteristicValueType
}CharacteristicType
A characteristic associated with a product.
Fields
| Name | Description |
|---|---|
code(String!) | The code of the characteristic. |
description(String!) | The description of the characteristic. |
name(String!) | The name of the characteristic. |
values([CharacteristicValueType]!) | The possible values for the characteristic (can be strings or integers). |
Example
{
"code": "abc123",
"name": "abc123",
"description": "abc123",
"values": StringCharacteristicValueType
}Charge
A charge to the customer.
Fields
| Name | Description |
|---|---|
accountNumber(String) | Unique identifier of the account the transaction belongs to. |
amount(Int) | Gross amount including tax (when payable). Refer to the Deprecated The 'amount' field is deprecated. |
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
balanceCarriedForward(Int) | The customer's resulting balance after this transaction has been applied, in the smallest unit of currency. |
billingDocumentIdentifier(ID) | The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document. |
consumption(Consumption) | If this charge is for consumption of a good or service, this field will contain details of how much was consumed. Omitted in cases where the charge is not for consumption, or where consumption information is not available (e.g. for some older records). |
createdAt(DateTime) | The date time when the transaction is created. |
detail(ChargeDetail) | Supporting information about this charge (if any is available). |
hasStatement(Boolean) | Returns True if the transaction is linked with a statement. |
id(ID) | Unique identifier for the transaction. |
isAccountCharge(Boolean) | Deprecated. Deprecated The 'isAccountCharge' field is deprecated. |
isAccountPayment(Boolean) | Deprecated. Deprecated The 'isAccountPayment' field is deprecated. |
isCredit(Boolean) | Deprecated. Deprecated The 'isCredit' field is deprecated. |
isExport(Boolean) | Whether the charge is for export electricity. |
isHeld(Boolean) | Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction. |
isIssued(Boolean) | Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents. |
isReversed(Boolean!) | |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | Date when the transaction was posted to the account. |
reasonCode(String) | Returns the reason. |
statementId(ID) | Returns None if a statement is not linked with the transaction. Deprecated The 'statementId' field is deprecated. |
title(String) | Human-readable title describing the transaction. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123",
"amount": 1,
"amounts": TransactionAmountType,
"balanceCarriedForward": 1,
"isCredit": true,
"isAccountCharge": true,
"isAccountPayment": true,
"isHeld": true,
"isIssued": true,
"title": "abc123",
"billingDocumentIdentifier": "abc123",
"statementId": "abc123",
"isReversed": true,
"hasStatement": true,
"note": "abc123",
"reasonCode": "abc123",
"consumption": Consumption,
"detail": SupplyOrServiceCharge,
"isExport": true
}Fields
| Name | Description |
|---|---|
amperage(Int) | Supply amperage. Used in markets where customers are more familiar with amps than power output. |
integrationStatus(IntegrationStatus) | Shows the availability status of an integration. |
isIntegrationLive(Boolean) | |
model(String) | |
powerInKw(Decimal) | |
variantId(Int) |
Example
{
"variantId": 1,
"model": "abc123",
"powerInKw": "1.0",
"amperage": 1,
"isIntegrationLive": true,
"integrationStatus": "INTERNAL_TESTING"
}Fields
| Name | Description |
|---|---|
make(String) | |
models([ChargePointVariantModelType]) |
Example
{
"make": "abc123",
"models": [ChargePointVariantModelType]
}Fields
| Name | Description |
|---|---|
code(String) | The charge reason code. |
display(String) | The charge reason display text. |
group(String) | The group the charge reason belongs to (if applicable). |
isDeprecated(Boolean) | Whether the charge reason is deprecated. |
isHidden(Boolean) | Whether the charge reason is hidden. |
isTaxExempt(Boolean) | Whether the charge reason is sales tax exempt. |
Example
{
"code": "abc123",
"display": "abc123",
"isDeprecated": true,
"isTaxExempt": true,
"isHidden": true,
"group": "abc123"
}ChargesBreakdownConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ChargesBreakdownConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ChargesBreakdownConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ChargesBreakdownConnectionTypeEdge
A Relay edge containing a ChargesBreakdownConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ChargesBreakdownType) | The item at the end of the edge |
Example
{
"node": ChargesBreakdownType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
charge(Int) | Charge in minor currency. |
periodEnd(Date) | The end date of the period the charge is for (exclusive). |
periodStart(Date) | The start date of the period the charge is for (inclusive). |
Example
{
"periodStart": "2020-01-01",
"periodEnd": "2020-01-01",
"charge": 1
}CloseActionType
Closes the screen.
Fields
| Name | Description |
|---|---|
accessibilityHidden(Boolean) | Whether the element is hidden from view. |
accessibilityLabel(String) | Accessible description of the element. |
id(ID) | Unique identifier of the object. |
typeName(String) | The name of the action object's type. |
typename(String) | The name of the object's type. |
Example
{
"typeName": "abc123",
"id": "abc123",
"typename": "abc123",
"accessibilityHidden": true,
"accessibilityLabel": "abc123"
}CollateralRequiredType
Represents required collaterals to be applied in a contract.
Fields
| Name | Description |
|---|---|
amount(Int!) | Amount set up as collateral as condition for account creation. |
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
interestPolicy(String) | Type of interest policy of required collateral. |
isVariable(Boolean) | Whether the term is variable. |
reason(String!) | Reason for setting up required collateral. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"amount": 1,
"reason": "abc123",
"interestPolicy": "abc123"
}CollectPayment
The possible errors that can be raised are:
- KT-CT-3932: Invalid data.
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-3821: Received neither ledger ID nor ledger number.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
payment(AccountPaymentType) | Details about the collected payment. Note that we might not be able to collect the payment (e.g. if there is no usable payment instruction), in which case the status of the returned payment might be failed or cancelled. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"payment": AccountPaymentType
}Fields
| Name | Description |
|---|---|
attachments(BillingAttachmentConnectionTypeConnection) | |
billType(BillTypeEnum) | The type of the bill. |
constituents(ConstituentConnection) | Constituents of the bill. |
fromDate(Date) | The date of the bill is covered from. |
id(ID) | The ID of the bill. |
issuedDate(Date) | The date the bill was sent to the customer. |
temporaryUrl(String) | Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. Deprecated The 'temporaryUrl' field is deprecated. |
toDate(Date) | The date of the bill is covered to. |
Example
{
"id": "abc123",
"billType": "STATEMENT",
"fromDate": "2020-01-01",
"toDate": "2020-01-01",
"temporaryUrl": "abc123",
"issuedDate": "2020-01-01",
"attachments": BillingAttachmentConnectionTypeConnection,
"constituents": ConstituentConnection
}Fields
| Name | Description |
|---|---|
fieldSpecificRateLimits(FieldSpecificRateLimitInformationConnectionTypeConnection!) | Information about the current state of the rate limiting for rate limited fields at the time of the request. |
pointsAllowanceRateLimit(PointsAllowanceRateLimitInformation) | Information about points-allowance rate limit for viewer. |
Example
{
"pointsAllowanceRateLimit": PointsAllowanceRateLimitInformation,
"fieldSpecificRateLimits": FieldSpecificRateLimitInformationConnectionTypeConnection
}Fields
| Name | Description |
|---|---|
agreedAt(DateTime) | |
agreedFrom(DateTime) | The datetime the agreement was entered. |
agreedTo(DateTime) | The datetime the agreement was terminated. |
id(ID!) | |
isActive(Boolean) | Whether the agreement is currently active. |
isRevoked(Boolean) | Whether the agreement is revoked. |
product(SupplyProductType) | The product associated with the agreement. |
supplyPoint(SupplyPointType!) | The agreement's supply point. |
terminatedAt(DateTime) | |
validFrom(DateTime!) | |
validTo(DateTime) |
Example
{
"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",
"supplyPoint": SupplyPointType,
"product": SupplyProductType,
"isActive": true,
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true
}ComplaintConnectionTypeConnection
Paginator of Complaint type.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ComplaintConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ComplaintConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ComplaintConnectionTypeEdge
A Relay edge containing a ComplaintConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ComplaintType) | The item at the end of the edge |
Example
{
"node": ComplaintType,
"cursor": "abc123"
}ComplaintContactConnectionTypeConnection
Paginator of Complaint contact type.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ComplaintContactConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ComplaintContactConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ComplaintContactConnectionTypeEdge
A Relay edge containing a ComplaintContactConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ComplaintContactType) | The item at the end of the edge |
Example
{
"node": ComplaintContactType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
actionTaken(String!) | Description of action taken. |
createdAt(DateTime!) | Created at for contact. |
email(String) | Complaint email. |
landline(String) | Complaint landline. |
mobile(String) | Complaint phone. |
name(String!) | Complainant name. |
preferredCommunicationMethod(String) | Complaint preferred method. |
status(String!) | Status of complaint. |
summary(String) | Complaint summary. |
Example
{
"name": "abc123",
"actionTaken": "abc123",
"status": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"mobile": "abc123",
"email": "abc123",
"landline": "abc123",
"preferredCommunicationMethod": "abc123",
"summary": "abc123"
}Fields
| Name | Description |
|---|---|
assigneeId(ID) | Complaint Assignee. |
contacts(ComplaintContactConnectionTypeConnection) | Complaint contacts. |
creationDate(Date) | Complaint creation date. |
id(ID!) | |
resolutionDate(Date) | Complaint resolution date. |
subtype(String) | Complaint subtype. |
type(String) | Complaint type. |
Example
{
"id": "abc123",
"contacts": ComplaintContactConnectionTypeConnection,
"type": "abc123",
"subtype": "abc123",
"creationDate": "2020-01-01",
"resolutionDate": "2020-01-01",
"assigneeId": "abc123"
}CompleteAuthFlowForSmartFlexOnboarding
Complete the auth flow step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}CompleteEnrollment
Mutation to complete enrollment for a property missing meter point details.
This mutation is used to provide missing meter point information (MPAN/MPRN) for accounts that couldn't be fully registered during the initial sign-up process.
This mutation can only be used for properties with at most one electricity meter point and one gas meter point.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-6622: Unauthorized.
- KT-GB-4138: Unable to complete enrollment for account.
- KT-GB-4139: Unable to complete enrollment.
- KT-GB-4140: MPAN number is required for enrollment.
- KT-GB-4141: MPRN number is required for enrollment.
- KT-GB-4142: Prepay meter could not be enrolled.
- KT-GB-4143: MPAN not required to complete enrollment.
- KT-GB-4144: MPRN not required to complete enrollment.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountNumber(String) | The number of the account whose enrollment was completed. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"accountNumber": "abc123"
}CompleteSelectVehicleOrChargePointForSmartFlexOnboarding
Complete the select vehicle or charge point step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}CompleteStandalonePayment
Completes an initiated standalone payment.
The possible errors that can be raised are:
- KT-CT-3822: Unauthorized.
- KT-CT-3823: Unauthorized.
- KT-CT-3974: Unauthorized.
- KT-CT-3975: Unable to complete standalone payment.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
payment(CompleteStandalonePaymentOutput) | The completed standalone payment. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"payment": CompleteStandalonePaymentOutput
}CompleteStandalonePaymentOutput
Result of the complete standalone payment operation.
Fields
| Name | Description |
|---|---|
status(PaymentIntentCompletionStatus!) | The status of the standalone payment. |
Example
{
"status": "CLEARED"
}CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding
Complete the Tesla setup virtual key onboarding step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}CompleteUserActionRequiredForSmartFlexOnboarding
Complete the UserActionRequired step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}CompleteUserInputRequiredForSmartFlexOnboarding
Complete the UserInputRequired step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}ComponentListType
A list of components which comprise a screen.
This is a legacy type; GenericBackendScreen should be preferred. This is because API clients
should not need to explicitly query for screen attributes like items - these fields are
embedded in the screenData field.
Fields
| Name | Description |
|---|---|
accessibilityHidden(Boolean) | Whether the element is hidden from view. |
accessibilityLabel(String) | Accessible description of the element. |
id(ID) | Unique identifier of the object. |
items([ItemType]!) | The list of components. Deprecated The 'items' field is deprecated. |
name(String!) | The name of the screen. |
refreshFrequency(Int) | The refresh / polling frequency in milliseconds. |
screenData(String) | Serialized JSON representation of the screen. |
typename(String) | The name of the object's type. |
Example
{
"accessibilityHidden": true,
"accessibilityLabel": "abc123",
"id": "abc123",
"typename": "abc123",
"name": "abc123",
"refreshFrequency": 1,
"screenData": "abc123",
"items": TextType
}ConfirmDoubleOptIn
Confirm a requested consent.
This mutation will update the value of the consent associated with the provided token to ACCEPTED.
The possible errors that can be raised are:
- KT-CT-9016: Consent management not enabled.
- KT-CT-9020: Invalid consent expiring token.
- KT-CT-9021: Consent expiring token not found.
- KT-CT-9022: Consent for given token already accepted.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
consent(ConsentType) | The consent that was created or updated. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"consent": ConsentType
}Fields
| Name | Description |
|---|---|
code(String) | The code of the consent type. |
value(String) | The value to update the consent to. |
Example
{
"code": "abc123",
"value": "abc123"
}ConsentType
A consent given by a signing identity for a consent type.
Fields
| Name | Description |
|---|---|
code(String!) | Unique code given to this consent type. |
id(BigInt!) | id of the consent. |
type(ConsentTypeType) | The type of the consent. |
value(ConsentValue!) | Value of the consent. |
Example
{
"id": 1,
"code": "abc123",
"value": "ACCEPTED",
"type": ConsentTypeType
}ConsentTypeType
A type of consent that a signing identity can accept or reject to.
Fields
| Name | Description |
|---|---|
code(String!) | Unique code given to this consent type. |
defaultValue(ConsentValue!) | Default value of the consent type. |
description(String!) | Description of the consent type. |
name(String!) | Name of the consent type. |
Example
{
"code": "abc123",
"description": "abc123",
"name": "abc123",
"defaultValue": "ACCEPTED"
}ConstituentConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ConstituentEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ConstituentEdge,
"totalCount": 1,
"edgeCount": 1
}ConstituentEdge
A Relay edge containing a Constituent and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ConstituentInterface) | The item at the end of the edge |
Example
{
"node": ConstituentInterface,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
endDate(Date) | End date of the consumption period. |
quantity(Decimal) | Amount of energy or resource consumed. |
startDate(Date) | Start date of the consumption period. |
supplyCharge(Int) | Supply charge amount in minor currency units. |
unit(ConsumptionUnit) | |
usageCost(Int) | Cost for the consumption usage in minor currency units. |
Example
{
"startDate": "2020-01-01",
"endDate": "2020-01-01",
"quantity": "1.0",
"unit": "kWh",
"usageCost": 1,
"supplyCharge": 1
}Fields
| Name | Description |
|---|---|
sourceId(String) | Unique identifier of the source of the usage. |
sourceName(String) | Human readable name of what the usage is for. |
usage([Int]) | Monthly usage in pence. First month is January. |
Example
{
"sourceName": "abc123",
"sourceId": "abc123",
"usage": [1]
}ConsumptionBreakdownConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ConsumptionBreakdownConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ConsumptionBreakdownConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ConsumptionBreakdownConnectionTypeEdge
A Relay edge containing a ConsumptionBreakdownConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ConsumptionBreakdownType) | The item at the end of the edge |
Example
{
"node": ConsumptionBreakdownType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
charges(ChargesBreakdownConnectionTypeConnection) | Charges grouped per displayed period. |
marketName(String) | Name of the market the charges are for. |
Example
{
"marketName": "abc123",
"charges": ChargesBreakdownConnectionTypeConnection
}ConsumptionConnection
Pagination for energy consumption readings.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ConsumptionEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ConsumptionEdge,
"totalCount": 1,
"edgeCount": 1
}Example
{
"day": "1.0",
"night": "1.0"
}ConsumptionEdge
A Relay edge containing a Consumption and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ConsumptionType) | The item at the end of the edge |
Example
{
"node": ConsumptionType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
elecAnnualConsumptionDay(Int) | |
elecAnnualConsumptionNight(Int) | |
elecAnnualConsumptionStandard(Int) | |
gasAnnualConsumption(Int) |
Example
{
"elecAnnualConsumptionStandard": 1,
"elecAnnualConsumptionDay": 1,
"elecAnnualConsumptionNight": 1,
"gasAnnualConsumption": 1
}Fields
| Name | Description |
|---|---|
high(ConsumptionEstimate) | Override Field to add additional attributes and extend description with possible_errors |
low(ConsumptionEstimate) | Override Field to add additional attributes and extend description with possible_errors |
medium(ConsumptionEstimate) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"low": ConsumptionEstimate,
"medium": ConsumptionEstimate,
"high": ConsumptionEstimate
}ConsumptionType
Energy consumption between two points in time.
Example
{
"value": "1.0",
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z"
}Contract
A legally binding relationship agreed with a subject (e.g. an account).
Fields
| Name | Description |
|---|---|
cancelledAt(DateTime) | Date when the contract was cancelled, null if not cancelled. |
identifier(NonEmptyString) | Unique identifier for the contract. |
lifecycle(ContractVersion) | The current version information for this contract. |
party(ContractParty) | The party (Account or Business) that entered into this contract. |
signedAt(DateTime) | Date when the contract was signed. |
status(ContractStatus) | The status of the contract. |
subject([AccountType]) | The accounts impacted by this contract. |
terms([TermInterface]) | The terms of the contract. |
title(String) | Title of the contract. |
validFrom(DateTime) | Date from which the contract is valid. |
validTo(DateTime) | Date until which the contract is valid, null if the contract is rolling. |
Example
{
"identifier": NonEmptyString,
"title": "abc123",
"party": AccountType,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion,
"terms": TermInterface
}ContractDetails
Details of a contract excluding terms.
Fields
| Name | Description |
|---|---|
cancelledAt(DateTime) | Date when the contract was cancelled, null if not cancelled. |
identifier(NonEmptyString) | Unique identifier for the contract. |
lifecycle(ContractVersion) | The current version information for this contract. |
party(ContractParty) | The party (Account or Business) that entered into this contract. |
signedAt(DateTime) | Date when the contract was signed. |
status(ContractStatus) | The status of the contract. |
subject([AccountType]) | The accounts impacted by this contract. |
title(String) | Title of the contract. |
validFrom(DateTime) | Date from which the contract is valid. |
validTo(DateTime) | Date until which the contract is valid, null if the contract is rolling. |
Example
{
"identifier": NonEmptyString,
"title": "abc123",
"party": AccountType,
"subject": [AccountType],
"status": "REVOKED",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"signedAt": "2020-01-01T00:00:00.000Z",
"cancelledAt": "2020-01-01T00:00:00.000Z",
"lifecycle": ContractVersion
}ContractMetaDataType
Represents additional metadata for a contract term.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
metadata(JSONString) | The additional metadata of the contract. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"metadata": {"key": "value"}
}ContractVersion
Represents a version of a contract with its effective date.
Fields
| Name | Description |
|---|---|
effectiveFrom(DateTime) | The date from which this version of the contract becomes effective. |
versionReference(Int) | The reference number for this contract version. |
Example
{
"versionReference": 1,
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
periods([ContractedVolumePeriodType]) | The periods for the contracted volume configuration. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"periods": [ContractedVolumePeriodType]
}Fields
| Name | Description |
|---|---|
marketName(String) | The market name the contracted volume applies to. |
unit(String) | The unit for the commodity provided by the contracted volume. |
validFrom(DateTime) | The datetime the period the contracted volume is valid from. |
validTo(DateTime) | The datetime the period the contracted volume is valid to. |
value(Decimal) | The decimal value of the quantity provided by the contracted volume. |
Example
{
"value": "1.0",
"unit": "abc123",
"marketName": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z"
}ContributionAgreementType
A single Contribution Agreement.
Fields
| Name | Description |
|---|---|
activeFrom(DateTime) | The start datetime of the agreement. |
activeTo(DateTime) | The end datetime of the agreement, if any. |
amount(Int) | The amount contributed per interval. Note, this is in the smallest domination that the currecy support. e.g. Pence, Cents, Yen, etc. |
contributionScheme(ContributionSchemeType) | The scheme to which the agreement contributes. |
id(ID!) | |
interval(Interval) | The frequency of contributions. |
periods(ContributionPeriodConnection) | The periods over which contributions have been made. |
Example
{
"id": "abc123",
"contributionScheme": ContributionSchemeType,
"interval": "MONTHLY",
"activeFrom": "2020-01-01T00:00:00.000Z",
"activeTo": "2020-01-01T00:00:00.000Z",
"amount": 1,
"periods": ContributionPeriodConnection
}ContributionPeriodConnection
Pagination for contribution periods.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ContributionPeriodEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ContributionPeriodEdge,
"totalCount": 1,
"edgeCount": 1
}ContributionPeriodEdge
A Relay edge containing a ContributionPeriod and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ContributionPeriodType) | The item at the end of the edge |
Example
{
"node": ContributionPeriodType,
"cursor": "abc123"
}ContributionPeriodType
A single Contribution Period.
Fields
| Name | Description |
|---|---|
agreement(ContributionAgreementType!) | |
fulfilledAt(DateTime) | When the contribution was fulfilled |
id(ID!) | |
periodFrom(DateTime) | The datetime the marks the beginning of the period. |
periodTo(DateTime) | The datetime the marks the end of the period. |
Example
{
"id": "abc123",
"agreement": ContributionAgreementType,
"fulfilledAt": "2020-01-01T00:00:00.000Z",
"periodFrom": "2020-01-01T00:00:00.000Z",
"periodTo": "2020-01-01T00:00:00.000Z"
}ContributionSchemeType
A single Contribution Scheme.
Fields
| Name | Description |
|---|---|
acceptingContributions(Boolean!) | Is this scheme currently accepting contributions? |
code(String!) | |
displayName(String!) | |
id(ID!) | |
taxable(Boolean!) | Are contributions to this scheme taxable? |
Example
{
"id": "abc123",
"code": "abc123",
"displayName": "abc123",
"taxable": true,
"acceptingContributions": true
}Example
{
"latitude": 1.0,
"longitude": 1.0
}CoreSiteworksAppointmentType
An appointment linked to a request
Fields
| Name | Description |
|---|---|
appointmentDate(Date) | |
createdAt(DateTime!) | |
externalReference(String) | The external reference provided by the vendor/contractor for the appointment. |
id(UUID!) | |
jobType(String) | |
status(OnSiteJobsAppointmentStatus) | The current status of the appointment. |
timeSlotEnd(Time) | |
timeSlotStart(Time) |
Example
{
"id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"jobType": "abc123",
"appointmentDate": "2020-01-01",
"timeSlotStart": "00:00:00.000Z",
"timeSlotEnd": "00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z",
"status": "PENDING",
"externalReference": "abc123"
}CoreSiteworksRequestConnectionTypeEdge
A Relay edge containing a CoreSiteworksRequestConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(CoreSiteworksRequestType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
costOfChargeId(String) | |
isSmartCharge(Boolean) | |
krakenflexDeviceId(String) | |
reportDate(Date) | |
totalConsumption(Float) | Consumption in kWh. |
totalCostExclTax(Float) | Cost in pence (excl. tax). |
totalCostInclTax(Float) | Cost in pence (incl. tax). |
Example
{
"costOfChargeId": "abc123",
"krakenflexDeviceId": "abc123",
"reportDate": "2020-01-01",
"isSmartCharge": true,
"totalConsumption": 1.0,
"totalCostExclTax": 1.0,
"totalCostInclTax": 1.0
}CostOfUsageConnectionTypeConnection
Dovetailing usage and cost for an account / meter combination over a given time period.
Fields
| Name | Description |
|---|---|
cost(Int) | Overall cost of nodes in the edge. |
edges([CostOfUsageConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
usageKwh(Decimal!) | Overall usage of nodes in the edge. |
Example
{
"pageInfo": PageInfo,
"edges": CostOfUsageConnectionTypeEdge,
"cost": 1,
"usageKwh": "1.0"
}CostOfUsageConnectionTypeEdge
A Relay edge containing a CostOfUsageConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(IntervalCostOfUsageType) | The item at the end of the edge |
Example
{
"node": IntervalCostOfUsageType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
costEnabled(Boolean) | Whether cost of usage can be displayed for a user. |
details(CostOfUsageConnectionTypeConnection) | Cost of usage for given period. |
direction(String) | Energy product direction, e.g. IMPORT or EXPORT. |
Example
{
"costEnabled": true,
"direction": "abc123",
"details": CostOfUsageConnectionTypeConnection
}CreateAccountPaymentSchedule
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-3815: No active payment schedule found for this account.
- KT-CT-3822: Unauthorized.
- KT-CT-3923: Unauthorized.
- KT-CT-3941: Invalid data.
- KT-CT-3942: An unexpected error occurred.
- KT-CT-3947: An unexpected error occurred.
- KT-CT-3960: Invalid value for payment day.
- KT-CT-3961: Cannot update plan-associated payment schedule.
- KT-CT-3962: No new value provided to update payment schedule.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
schedule(PaymentScheduleType!) | New payment schedule. |
Example
{
"possibleErrors": [PossibleErrorType],
"schedule": PaymentScheduleType
}CreateAccountReference
Create an account reference.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-8310: Invalid data.
- KT-CT-8311: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountReference(AccountReferenceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"accountReference": AccountReferenceType
}CreateAcquisitionQuoteRequestForProducts
The possible errors that can be raised are:
- KT-GB-4625: Unable to create quote request.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
quoteRequest(QuoteRequestBase) | Returns a quote request for the requested product codes. Does not persist the quote. |
Example
{
"possibleErrors": [PossibleErrorType],
"quoteRequest": QuoteRequestBase
}CreateAutoTopupConfig
Create a new auto topup config for SPAYG meter.
Fields
| Name | Description |
|---|---|
autoTopupConfig(AutoTopupConfigType!) | The created auto top-up config. |
Example
{
"autoTopupConfig": AutoTopupConfigType
}CreateComplaint
The possible errors that can be raised are:
- KT-CT-10801: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
complaint(ComplaintType) | The complaint that has been created. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"complaint": ComplaintType
}CreateContributionAgreement
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-9601: Invalid data.
- KT-CT-9602: Unable to create contribution agreement.
- KT-CT-9605: Contribution amount cannot be 0 or negative.
- KT-CT-9606: Scheme is not accepting contributions at this time.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
contributionAgreement(ContributionAgreementType) | The created contribution agreement. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"contributionAgreement": ContributionAgreementType
}CreateCreditTransferPermission
Mutation to create a credit transfer permission.
The possible errors that can be raised are:
- KT-CT-3822: Unauthorized.
- KT-CT-3827: The ledger is not valid.
- KT-CT-3828: At least one of the provided ledgers must be a credit storage ledger.
- KT-CT-3829: The credit transfer permission already exists.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
validFrom(DateTime) | Datetime when the credit transfer permission is valid. |
Example
{
"possibleErrors": [PossibleErrorType],
"validFrom": "2020-01-01T00:00:00.000Z"
}CreateCustomerFeedback
The possible errors that can be raised are:
- KT-CT-5516: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
customerFeedback(CustomerFeedbackType) | The created customer feedback object. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"customerFeedback": CustomerFeedbackType
}CreateDirectDebitInstruction
The possible errors that can be raised are:
- KT-CT-3940: Invalid data.
- KT-CT-3923: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
directDebitInstruction(DirectDebitInstructionType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"directDebitInstruction": DirectDebitInstructionType
}CreateGoodsPurchase
The possible errors that can be raised are:
- KT-CT-8206: Invalid data.
- KT-CT-1131: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
goodsPurchase(GoodsPurchase) | Goods purchase created. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}CreateGoodsQuote
The possible errors that can be raised are:
- KT-CT-8202: Invalid data.
- KT-CT-8205: Unable to create quote.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
goodsQuote(GoodsQuote) | Goods quote created for the customer. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"goodsQuote": GoodsQuote
}CreateGoodsQuoteWithoutAccount
The possible errors that can be raised are:
- KT-CT-8202: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
goodsQuote(GoodsQuote) | Goods quote created for the customer. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"goodsQuote": GoodsQuote
}Fields
| Name | Description |
|---|---|
id(String) | Deprecated The 'id' field is deprecated. |
readingErrors([SerializerFieldErrorsType]) |
Example
{
"readingErrors": [SerializerFieldErrorsType],
"id": "abc123"
}CreateMfaDevice
Create a multi-factor authentication (MFA) device for user.
The possible errors that can be raised are:
- KT-CT-1128: Unauthorized.
- KT-CT-1151: MFA device not found.
- KT-CT-1153: Unable to create MFA device.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
deviceEmail(String) | Email address to send the MFA code by default. |
devicePhone(String) | Phone number to send the MFA code by default. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
totpSecret(String) | Secret to setup Time-based One-Time Passwords (TOTP) in your authenticator or password manager manually. |
Example
{
"possibleErrors": [PossibleErrorType],
"deviceEmail": "abc123",
"devicePhone": "abc123",
"totpSecret": "abc123"
}CreateNewAgreementFromProductSwitchProcess
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4924: Unauthorized.
- KT-CT-1509: Unable to create agreement.
- KT-CT-1507: Agreement product switch date is not within the acceptable range.
- KT-CT-1510: Product switch process not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
agreement(CommonAgreementType) | The new agreement created. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"agreement": CommonAgreementType
}CreateOfferGroupForQuoting
Create a quoting offer group.
The possible errors that can be raised are:
- KT-CT-12401: Unable to create offer group.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
offerGroup(CreateOfferGroupType) | Quoting Offer Group. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"offerGroup": CreateOfferGroupType
}Fields
| Name | Description |
|---|---|
identifier(ID) | Identifier of the Offer Group. |
offers([OfferType]) | One or more Offers contained in the Offer Group. |
Example
{
"identifier": "abc123",
"offers": [OfferType]
}CreatePaymentSchedule
Mutation for creating an Payment Schedule instance using the authenticated user.
The possible errors that can be raised are:
- KT-GB-3917: Unable to create payment schedule.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
paymentSchedule(PaymentScheduleType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentSchedule": PaymentScheduleType
}Fields
| Name | Description |
|---|---|
errors([SerializerFieldErrorsType]) | |
quote(QuoteType) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"errors": [SerializerFieldErrorsType],
"quote": QuoteType
}CreateQuoteRequestForProducts
The possible errors that can be raised are:
- KT-GB-4624: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
quoteRequest(QuoteRequestBase) | Returns a quote request for the requested product codes. Does not persist the quote. |
Example
{
"possibleErrors": [PossibleErrorType],
"quoteRequest": QuoteRequestBase
}CreateReferral
Use a referral code to create a referral and trigger a referral reward. This is for customers to refer other customers so it only works with friend referrals and not partner referrals. This will try to find a user with given referral code as their personal referral code. If found, it will create an AccountReferral instance for the given account number.
The possible errors that can be raised are:
- KT-CT-6723: Unauthorized.
- KT-CT-6710: Unable to create referral.
- KT-CT-6711: Accounts may not self-refer.
- KT-CT-6713: Referring and referred account brands do not match.
- KT-CT-6712: Invalid reference.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
referredAccountRewardAmount(Int) | The reward amount to be issued to the referred account, in smallest currency subunits. |
Example
{
"possibleErrors": [PossibleErrorType],
"referredAccountRewardAmount": 1
}CreateRefundRequest
Mutation for creating an refund request for an account.
The possible errors that can be raised are:
- KT-GB-4127: Unable to send refund request confirmation email.
- KT-GB-4121: Unable to process refund request.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
refundRequest(RefundRequestType) |
Example
{
"possibleErrors": [PossibleErrorType],
"refundRequest": RefundRequestType
}Fields
| Name | Description |
|---|---|
quoteRequest(QuoteRequest) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"quoteRequest": QuoteRequest
}Credit
A credit to the customer from the energy retailer.
Fields
| Name | Description |
|---|---|
accountNumber(String) | Unique identifier of the account the transaction belongs to. |
amount(Int) | Gross amount including tax (when payable). Refer to the Deprecated The 'amount' field is deprecated. |
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
balanceCarriedForward(Int) | The customer's resulting balance after this transaction has been applied, in the smallest unit of currency. |
billingDocumentIdentifier(ID) | The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document. |
createdAt(DateTime) | The date time when the transaction is created. |
hasStatement(Boolean) | Returns True if the transaction is linked with a statement. |
id(ID) | Unique identifier for the transaction. |
isAccountCharge(Boolean) | Deprecated. Deprecated The 'isAccountCharge' field is deprecated. |
isAccountPayment(Boolean) | Deprecated. Deprecated The 'isAccountPayment' field is deprecated. |
isCredit(Boolean) | Deprecated. Deprecated The 'isCredit' field is deprecated. |
isHeld(Boolean) | Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction. |
isIssued(Boolean) | Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents. |
isReversed(Boolean!) | |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | Date when the transaction was posted to the account. |
reasonCode(String) | Returns the reason. |
statementId(ID) | Returns None if a statement is not linked with the transaction. Deprecated The 'statementId' field is deprecated. |
title(String) | Human-readable title describing the transaction. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123",
"amount": 1,
"amounts": TransactionAmountType,
"balanceCarriedForward": 1,
"isCredit": true,
"isAccountCharge": true,
"isAccountPayment": true,
"isHeld": true,
"isIssued": true,
"title": "abc123",
"billingDocumentIdentifier": "abc123",
"statementId": "abc123",
"isReversed": true,
"hasStatement": true,
"note": "abc123",
"reasonCode": "abc123"
}Fields
| Name | Description |
|---|---|
code(String) | The credit reason code. |
display(String) | The credit reason display text. |
group(String) | The group the credit reason belongs to (if applicable). |
isDeprecated(Boolean) | Whether the credit reason is deprecated. |
isHidden(Boolean) | Whether the credit reason is hidden. |
isTaxExempt(Boolean) | Whether the credit reason is sales tax exempt. |
Example
{
"code": "abc123",
"display": "abc123",
"isDeprecated": true,
"isTaxExempt": true,
"isHidden": true,
"group": "abc123"
}Fields
| Name | Description |
|---|---|
accountNumber(String) | The number of the account linked to this permission. |
ledgerNumber(String) | The number of the ledger linked to this permission. |
validFrom(DateTime) | The datetime from which the permission is valid. |
validTo(DateTime) | The datetime to which the permission is valid. |
Example
{
"ledgerNumber": "abc123",
"accountNumber": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
accountNumber(String) | The number of the account linked to this permission. |
ledgerNumber(String) | The number of the ledger linked to this permission. |
validFrom(DateTime) | The datetime from which the permission is valid. |
validTo(DateTime) | The datetime to which the permission is valid. |
Example
{
"ledgerNumber": "abc123",
"accountNumber": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
fromSourceLedgers([CreditTransferPermissionFromSourceLedgerType]) | Permissions for credit transfers when the ledger is the target. |
toTargetLedgers([CreditTransferPermissionToTargetLedgerType]) | Permissions for credit transfers when the ledger is the source. |
Example
{
"fromSourceLedgers": [CreditTransferPermissionFromSourceLedgerType],
"toTargetLedgers": [CreditTransferPermissionToTargetLedgerType]
}CustomerFeedbackFormConnectionTypeConnection
Paginator of Customer Feedback Form.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([CustomerFeedbackFormConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": CustomerFeedbackFormConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}CustomerFeedbackFormConnectionTypeEdge
A Relay edge containing a CustomerFeedbackFormConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(CustomerFeedbackFormType) | The item at the end of the edge |
Example
{
"node": CustomerFeedbackFormType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
id(ID) | The unique identifier for the customer feedback form. |
name(String) | The name of the customer feedback form. |
Example
{
"id": "abc123",
"name": "abc123"
}Fields
| Name | Description |
|---|---|
id(ID!) | |
rawScore(Int) | The value attached to the source |
submittedAt(DateTime) | The datetime the feedback was submitted |
Example
{
"id": "abc123",
"rawScore": 1,
"submittedAt": "2020-01-01T00:00:00.000Z"
}Dashboard
A list of components which comprise a dashboard screen.
Fields
| Name | Description |
|---|---|
dashboardItems([SectionType]!) | The list of sections for a dashboard. |
id(ID) | Unique identifier of the object. |
serialisedDashboardItems(String!) | The serialised dashboard items. |
typename(String) | The name of the object's type. |
Example
{
"id": "abc123",
"typename": "abc123",
"dashboardItems": SectionType,
"serialisedDashboardItems": "abc123"
}Fields
| Name | Description |
|---|---|
endCursor(DateTime) | The cursor of the last item. |
hasNextPage(Boolean) | Whether there are more items when paginating forwards. |
hasPreviousPage(Boolean) | Whether there are previous items when paginating backwards. |
startCursor(DateTime) | The cursor of the first item. |
Example
{
"startCursor": "2020-01-01T00:00:00.000Z",
"endCursor": "2020-01-01T00:00:00.000Z",
"hasPreviousPage": true,
"hasNextPage": true
}Fields
| Name | Description |
|---|---|
dayRate(Float) | |
dayRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
description(String) | |
displayName(String) | |
fullName(String) | |
id(ID) | |
isExport(Boolean) | Whether the tariff is for exporting energy. |
nightRate(Float) | |
nightRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
preVatDayRate(Float) | |
preVatNightRate(Float) | |
preVatStandingCharge(Float) | |
productCode(String) | |
standingCharge(Float) | |
tags([String]) | Tags associated with the tariff. |
tariffCode(String) | Describes a particular tariff by combining the product code, number of rates, available from date and GSP code. |
Example
{
"id": "abc123",
"displayName": "abc123",
"fullName": "abc123",
"description": "abc123",
"productCode": "abc123",
"standingCharge": 1.0,
"preVatStandingCharge": 1.0,
"tariffCode": "abc123",
"isExport": true,
"tags": ["abc123"],
"dayRate": 1.0,
"dayRateEpgApplied": true,
"nightRate": 1.0,
"nightRateEpgApplied": true,
"preVatDayRate": 1.0,
"preVatNightRate": 1.0
}DeauthenticateDevice
De-authenticate a registered device.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4350: Unable to de-authenticate device.
- KT-CT-4352: This device cannot currently be de-authenticated.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(DeviceDetailsType) | Override Field to add additional attributes and extend description with possible_errors |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": DeviceDetailsType
}DeauthenticateFlexDevice
De-authenticate a registered device by device id.
The possible errors that can be raised are:
- KT-CT-4350: Unable to de-authenticate device.
- KT-CT-4352: This device cannot currently be de-authenticated.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(DeviceDetailsType) | Override Field to add additional attributes and extend description with possible_errors |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": DeviceDetailsType
}DecimalReading
A reading with a decimal value taken at a specific time.
Fields
| Name | Description |
|---|---|
timestamp(DateTime!) | The timestamp when the reading was taken. |
value(Decimal!) | The decimal value of the reading. |
Example
{
"timestamp": "2020-01-01T00:00:00.000Z",
"value": "1.0"
}DecimalType
Graphene type object to represent float values
Fields
| Name | Description |
|---|---|
decimalValue(Decimal!) | Value of this field. |
Example
{
"decimalValue": "1.0"
}DeeplinkActionType
An action which navigates to the URL of another backend screen.
Fields
| Name | Description |
|---|---|
id(ID) | Unique identifier of the object. |
typeName(String) | The name of the action object's type. |
typename(String) | The name of the object's type. |
url(String!) | The URL to navigate to. |
Example
{
"typeName": "abc123",
"id": "abc123",
"typename": "abc123",
"url": "abc123"
}DelayerDaysType
Represents delayer days for active payment in a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
days(Int!) | Number of days to delay based on delay strategy. |
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
strategy(DelayerDaysStrategy!) | Defines the method for calculating the delay period. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"days": 1,
"strategy": "FIXED"
}DeleteBoostCharge
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4354: Unable to cancel boost charge.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}DeleteMfaDevice
Delete a multi-factor authentication (MFA) device for the authenticated user.
The possible errors that can be raised are:
- KT-CT-1150: MFA device not found.
- KT-CT-1154: Unable to delete MFA device.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
deviceDeleted(Boolean) | Flag to indicate if the MFA device has been successfully deleted. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"deviceDeleted": true
}DeletePushNotificationBinding
The possible errors that can be raised are:
- KT-CT-5411: Invalid token or no push notification binding found for the given account user.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
status(DeletePushNotificationBindingOutput) |
Example
{
"possibleErrors": [PossibleErrorType],
"status": "SUCCESSFUL"
}Fields
| Name | Description |
|---|---|
deviceIdentifier(String) | The id of the device. |
readings(Readings) | Get readings from a readable device e.g., a supply point, device, or register. Arguments
The exclusive end of the time period as an isoformatted string.
Get readings of only this type.
The inclusive start of the time period as an isoformatted string.
Time buckets to group readings into.
The timezone in which to return readings. |
registers(RegistersConnection) | The registers associated with this device. |
Example
{
"readings": Readings,
"deviceIdentifier": "abc123",
"registers": RegistersConnection
}DeviceChargingSessionConnection
Paginator for device charging session.
Fields
| Name | Description |
|---|---|
edges([DeviceChargingSessionEdge]!) | Contains the nodes in this connection. |
pageInfo(DateTimePageInfo) | Information to aid in DateTime pagination. |
Example
{
"pageInfo": DateTimePageInfo,
"edges": DeviceChargingSessionEdge
}DeviceChargingSessionEdge
A Relay edge containing a DeviceChargingSession and its cursor.
Fields
| Name | Description |
|---|---|
cursor(DateTime) | The cursor of the item. |
node(DeviceChargingSession) | The item at the end of the edge |
Example
{
"node": DeviceChargingSession,
"cursor": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
deviceType(KrakenFlexDeviceTypes) | The type of device. |
krakenflexDeviceId(String) | |
provider(ProviderChoices) | The third party that provides control over this device. |
Example
{
"krakenflexDeviceId": "abc123",
"provider": "BYD",
"deviceType": "BATTERIES"
}DeviceReAuthentication
Information about a device's re-authentication eligibility and status.
Fields
| Name | Description |
|---|---|
isEligible(Boolean) | |
Example
{
"isEligible": true
}Fields
| Name | Description |
|---|---|
readings(Readings) | Get readings from a readable device e.g., a supply point, device, or register. Arguments
The exclusive end of the time period as an isoformatted string.
Get readings of only this type.
The inclusive start of the time period as an isoformatted string.
Time buckets to group readings into.
The timezone in which to return readings. |
registerIdentifier(String) | The id of the register. |
Example
{
"readings": Readings,
"registerIdentifier": "abc123"
}DeviceRegistration
Register a device for smart controlling.
Where device refers to batteries, electric vehicles, heat pumps or thermostats.
The possible errors that can be raised are:
- KT-CT-4324: Device already registered error.
- KT-CT-4321: Serializer validation error.
- KT-CT-4312: Unable to register device.
- KT-CT-4363: No capable devices found.
- KT-CT-4364: Multiple devices found.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
registeredDeviceIds([String]) | Device ID(s) of the registered device(s). |
Example
{
"possibleErrors": [PossibleErrorType],
"registeredDeviceIds": ["abc123"]
}Fields
| Name | Description |
|---|---|
timestamp(DateTime!) | Timestamp of the reading. |
value(Float!) | Value of the reading. |
Example
{
"value": 1.0,
"timestamp": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
activePowerInKw(DeviceStatusReadingType) | Device charging power in kilowatts (kW) - negative for import, positive for export. |
energyInKwh(DeviceStatusReadingType) | Energy stored in the device in kilowatt-hours (kWh). |
socPercentage(DeviceStatusReadingType) | State of charge of the battery in % (may not be a whole number). |
Example
{
"activePowerInKw": DeviceStatusReadingType,
"energyInKwh": DeviceStatusReadingType,
"socPercentage": DeviceStatusReadingType
}Fields
| Name | Description |
|---|---|
maxExportInKw(Float) | The maximum export power of the device in kilowatts. |
maxImportInKw(Float) | The maximum import power of the device in kilowatts. |
pluggedIn(Boolean) | Whether device is connected. |
readings(DeviceStatusReadingsType) | Device status telemetry readings. |
status(KrakenFlexDeviceStatusChoices) | The lifecycle status of the device. Deprecated The 'status' field is deprecated. |
suspended(Boolean) | Whether control of the device has been temporarily suspended. |
Example
{
"status": "ONBOARDING",
"suspended": true,
"maxImportInKw": 1.0,
"maxExportInKw": 1.0,
"pluggedIn": true,
"readings": DeviceStatusReadingsType
}DevicesConnection
Pagination for devices.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([DevicesEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": DevicesEdge,
"totalCount": 1,
"edgeCount": 1
}DevicesEdge
A Relay edge containing a Devices and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(Device) | The item at the end of the edge |
Example
{
"node": Device,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([DirectDebitInstructionConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": DirectDebitInstructionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}DirectDebitInstructionConnectionTypeEdge
A Relay edge containing a DirectDebitInstructionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(DirectDebitInstructionType) | The item at the end of the edge |
Example
{
"node": DirectDebitInstructionType,
"cursor": "abc123"
}DirectDebitInstructionType
Direct Debit Instructions
Fields
| Name | Description |
|---|---|
accountHolder(String!) | |
cardExpiryMonth(Int) | |
cardExpiryYear(Int) | |
cardPaymentNetwork(String) | |
iban(String!) | |
id(ID!) | |
instructionType(String!) | |
lastFourDigitsOfAccountNumber(String) | The last four digits of the account number. Deprecated The 'lastFourDigitsOfAccountNumber' field is deprecated. |
maskedAccountIdentifier(String) | A masked reference to a recurring payment method. |
maskedIban(String) | A masked version of the IBAN. |
owners([PaymentInstructionOwnerType]) | The owners of the financial account this instruction represents. |
sortCode(String!) | |
status(String!) |
Example
{
"id": "abc123",
"status": "abc123",
"sortCode": "abc123",
"iban": "abc123",
"accountHolder": "abc123",
"instructionType": "abc123",
"cardPaymentNetwork": "abc123",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"lastFourDigitsOfAccountNumber": "abc123",
"maskedAccountIdentifier": "abc123",
"maskedIban": "abc123",
"owners": [PaymentInstructionOwnerType]
}Fields
| Name | Description |
|---|---|
errors([ErrorType]) | |
paymentSchedule(PaymentScheduleType) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"paymentSchedule": PaymentScheduleType,
"errors": [ErrorType]
}DisableAutoTopup
Disable auto topup for SPAYG meter.
Fields
| Name | Description |
|---|---|
success(Boolean!) | Boolean indicating if the auto top-up was successfully disabled. |
Example
{
"success": true
}Fields
| Name | Description |
|---|---|
earliestPossibleDirectDebitPaymentDate(Date) |
Example
{
"earliestPossibleDirectDebitPaymentDate": "2020-01-01"
}Fields
| Name | Description |
|---|---|
annualConsumption(Decimal) | ECS Calculated Annual Consumption (kWh). |
annualConsumptionEfd(Date) | Date on which Annual Consumption is effective from. |
annualConsumptionQualityIndicator(String) | ECS Calculated Annual Consumption Quality Indicator. |
assignedMdrEfd(Date) | Meter Data Reader effective from date. |
assignedMdrMpid(String) | Meter Data Reader MPID. |
connectionType(String) | Connection type. |
connectionTypeEfd(Date) | Connection type effective from date. |
connectionTypeEtd(Date) | Connection type end date. |
consumerType(String) | Consumer Type. |
cssSupplierMpid(String) | Current supplier as supplied via CSS messages. |
cssSupplyStartDate(Date) | Current supply start date via CSS messages. |
customerDirectContractDsDipId(String) | Customer Direct Contract Data Service DIP Identifier. |
customerDirectContractDsExists(Boolean) | Identifies where such a relationship exists for a Data Service. |
customerDirectContractDsMpid(String) | Customer Direct Contract Data Service MPID. |
customerDirectContractMsDipId(String) | Customer Direct Contract Metering Service DIP Identifier. |
customerDirectContractMsExists(Boolean) | Identifies where such a relationship exists for a Metering Service. |
customerDirectContractMsMpid(String) | Customer Direct Contract Metering Service MPID. |
dataAggregatorEfd(Date) | Data Aggregator appointment effective from date. |
dataAggregatorMpid(String) | Data Aggregator MPID. |
dataCollectorEfd(Date) | Data Collector appointment effective from date. |
dataCollectorMpid(String) | Data Collector MPID. |
dataServiceDipId(String) | Data Service DIP Identifier. |
dataServiceEfd(Date) | Data Service effective from date. |
dataServiceMpid(String) | Data Service MPID. |
dccServiceFlag(String) | Data Communications Company Service Flag. |
dccServiceFlagEfd(Date) | Data Communications Company Service Flag effective from date. |
disconnectionEfd(Date) | Disconnection effective from date. |
distributorDipId(String) | Distributor DIP Identifier. |
distributorMpid(String) | Distributor MPID. |
domesticConsumerIndicator(Boolean) | Domestic Consumer Indicator supplied via CSS messages. Deprecated The 'domesticConsumerIndicator' field is deprecated. |
domesticPremisesIndicator(Boolean) | Domestic Consumer Indicator supplied via CSS messages. |
duosTariffId(String) | DUoS Tariff ID. |
duosTariffIdEfd(Date) | Duos Tariff ID effective from date. |
energisationStatus(String) | Energisation status. |
energisationStatusEfd(Date) | Energisation status effective from date. |
energyDirection(String) | Energy direction. |
energyDirectionEfd(Date) | Energy direction effective from date. |
energyDirectionEtd(Date) | Energy direction end date. |
greenDealInEffect(String) | Indicates if a Green Deal is currently active for this MPAN. |
gspGroupEfd(Date) | Grid Supply Point Group effective from date. |
gspGroupId(String) | Grid Supply Point Group Id. |
ihdStatus(String) | In Home Display Install status. |
ihdStatusEfd(Date) | In Home Display Install status effective from date. |
lineLossFactor(String) | Line Loss Factor Class. |
lineLossFactorEfd(Date) | Line Loss Factor Class effective from date. |
marketSegmentIndicator(String) | MPAN Market Segment. |
marketSegmentIndicatorEfd(Date) | MPAN Market Segment effective from date. |
measurementClass(String) | Measurement Class. |
measurementClassEfd(Date) | Measurement Class effective from date. |
meterOperatorEfd(Date) | Meter Operator appointment effective from date. |
meterOperatorMpid(String) | Meter Operator MPID. |
meterTimeswitchClass(Int) | Meter Time-switch Class. |
meterTimeswitchClassEfd(Date) | Meter Time-switch Class effective from date. |
meteredIndicator(Boolean) | Metered Indicator. |
meteredIndicatorEfd(Date) | Metered Indicator effective from date. |
meteredIndicatorEtd(Date) | Metered Indicator end date. |
meteringServiceDipId(String) | Metering Service DIP identifier. |
meteringServiceEfd(Date) | Metering Service effective from date. |
meteringServiceEtd(Date) | Metering Service effective to date. |
meteringServiceMpid(String) | Metering Service MPID. |
meters([ElectricMeterTechnicalSubDetails]) | List of meter details. |
mhhsIndicator(String) | Indicates whether the MPAN is Legacy, MHHS or Reversed. |
mhhsIndicatorEfd(Date) | MHHS indicator effective from date. |
mpan(String!) | MPAN. |
profileClass(Int) | Profile Class. |
profileClassEfd(Date) | Profile Class effective from date. |
relationshipStatusIndicator(String) | Relationship Status Indicator. |
rmpState(String) | RMP State. |
rmpStateEfd(Date) | RMP State effective from date. |
smetsVersion(String) | Smart Metering Equipment Technical Specification version. |
smsoEfd(Date) | Smart Metering System Operator effective from date. |
smsoMpid(String) | Smart Metering System Operator MPID. |
standardSettlementConfiguration(String) | Standard Settlement Configuration. |
standardSettlementConfigurationEfd(Date) | Standard Settlement Configuration effective from date. |
supplierDipId(String) | Supplier DIP identifier. |
supplierEfd(Date) | Effective from date of the current supplier. |
supplierMpid(String) | Supplier MPID. |
tradingStatus(String) | MPAN trading status. |
tradingStatusEfd(Date) | MPAN trading status effective from date. |
Example
{
"mpan": "abc123",
"distributorMpid": "abc123",
"tradingStatus": "abc123",
"tradingStatusEfd": "2020-01-01",
"gspGroupId": "abc123",
"gspGroupEfd": "2020-01-01",
"lineLossFactor": "abc123",
"lineLossFactorEfd": "2020-01-01",
"dccServiceFlag": "abc123",
"dccServiceFlagEfd": "2020-01-01",
"greenDealInEffect": "abc123",
"supplierMpid": "abc123",
"supplierEfd": "2020-01-01",
"energisationStatus": "abc123",
"energisationStatusEfd": "2020-01-01",
"profileClass": 1,
"profileClassEfd": "2020-01-01",
"standardSettlementConfiguration": "abc123",
"standardSettlementConfigurationEfd": "2020-01-01",
"meterTimeswitchClass": 1,
"meterTimeswitchClassEfd": "2020-01-01",
"measurementClass": "abc123",
"measurementClassEfd": "2020-01-01",
"dataAggregatorMpid": "abc123",
"dataAggregatorEfd": "2020-01-01",
"dataCollectorMpid": "abc123",
"dataCollectorEfd": "2020-01-01",
"meterOperatorMpid": "abc123",
"meterOperatorEfd": "2020-01-01",
"smsoMpid": "abc123",
"smsoEfd": "2020-01-01",
"ihdStatus": "abc123",
"ihdStatusEfd": "2020-01-01",
"smetsVersion": "abc123",
"meteredIndicator": true,
"meteredIndicatorEfd": "2020-01-01",
"meteredIndicatorEtd": "2020-01-01",
"consumerType": "abc123",
"domesticConsumerIndicator": true,
"domesticPremisesIndicator": true,
"relationshipStatusIndicator": "abc123",
"rmpState": "abc123",
"rmpStateEfd": "2020-01-01",
"cssSupplierMpid": "abc123",
"cssSupplyStartDate": "2020-01-01",
"energyDirection": "abc123",
"energyDirectionEfd": "2020-01-01",
"energyDirectionEtd": "2020-01-01",
"connectionType": "abc123",
"connectionTypeEfd": "2020-01-01",
"connectionTypeEtd": "2020-01-01",
"meters": [ElectricMeterTechnicalSubDetails],
"mhhsIndicator": "abc123",
"mhhsIndicatorEfd": "2020-01-01",
"distributorDipId": "abc123",
"disconnectionEfd": "2020-01-01",
"supplierDipId": "abc123",
"meteringServiceMpid": "abc123",
"meteringServiceDipId": "abc123",
"meteringServiceEfd": "2020-01-01",
"meteringServiceEtd": "2020-01-01",
"annualConsumption": "1.0",
"annualConsumptionEfd": "2020-01-01",
"annualConsumptionQualityIndicator": "abc123",
"assignedMdrMpid": "abc123",
"assignedMdrEfd": "2020-01-01",
"customerDirectContractDsExists": true,
"customerDirectContractDsMpid": "abc123",
"customerDirectContractDsDipId": "abc123",
"customerDirectContractMsExists": true,
"customerDirectContractMsMpid": "abc123",
"customerDirectContractMsDipId": "abc123",
"dataServiceMpid": "abc123",
"dataServiceEfd": "2020-01-01",
"dataServiceDipId": "abc123",
"duosTariffId": "abc123",
"duosTariffIdEfd": "2020-01-01",
"marketSegmentIndicator": "abc123",
"marketSegmentIndicatorEfd": "2020-01-01"
}Fields
| Name | Description |
|---|---|
esmeId(String) | ESME ID. |
installingSupplierDipId(String) | Installing Supplier DIP ID, 10 characters. |
installingSupplierMpid(String) | Installing Supplier MPID. |
mapDipId(String) | Meter Asset Provider DIP ID, 10 characters. |
mapMpid(String) | Meter Asset Provider MPID. |
meterInstallDate(Date) | Meter Install Date. |
meterLocation(String) | Meter location. |
meterManufacturer(String) | Meter manufacturer. |
meterSerialNumber(String) | Meter Serial Number. |
meterType(String) | Meter Type. |
registerDigits(Int) | Number of register digits. |
Example
{
"installingSupplierMpid": "abc123",
"meterSerialNumber": "abc123",
"meterType": "abc123",
"meterInstallDate": "2020-01-01",
"mapMpid": "abc123",
"esmeId": "abc123",
"meterLocation": "abc123",
"registerDigits": 1,
"installingSupplierDipId": "abc123",
"mapDipId": "abc123",
"meterManufacturer": "abc123"
}Fields
| Name | Description |
|---|---|
availableFrom(Int) | This field is replacing |
availableTo(Int) | |
batterySize(Decimal) | |
integrationStatus(IntegrationStatus) | Shows the availability status of an integration. |
isIntegrationLive(Boolean) | |
model(String) | |
supportedProviders([String]) | |
vehicleId(Int) | |
year(Int) |
Example
{
"vehicleId": 1,
"model": "abc123",
"year": 1,
"availableFrom": 1,
"availableTo": 1,
"batterySize": "1.0",
"supportedProviders": ["abc123"],
"isIntegrationLive": true,
"integrationStatus": "INTERNAL_TESTING"
}Fields
| Name | Description |
|---|---|
make(String) | |
models([ElectricVehicleModelType]) |
Example
{
"make": "abc123",
"models": [ElectricVehicleModelType]
}ElectricityAgentContractType
An organization who manages a given meterpoint.
Fields
| Name | Description |
|---|---|
agentId(String) | |
contractStatus(AgentContractStatusType) | |
contractType(ElectricityAgentContractContractType!) | |
effectiveFrom(Date!) |
Example
{
"contractType": "MOP",
"effectiveFrom": "2020-01-01",
"agentId": "abc123",
"contractStatus": "ACCEPTED"
}Fields
| Name | Description |
|---|---|
account(AccountType!) | |
agreedFrom(DateTime) | The datetime the agreement was entered. |
agreedTo(DateTime) | The datetime the agreement was terminated. |
bespokeRates([ElectricityBespokeRate]) | Bespoke rates that apply to this agreement. |
bespokeStandingCharges([ElectricityBespokeStandingCharge]) | Bespoke standing charges that apply to this agreement. |
id(Int) | The ID of the agreement. |
isRevoked(Boolean) | Whether the agreement is revoked. |
lineItems(LineItemConnection) | A collection of charges and associated consumption data. Arguments
Aggregate line items according to this grouping. Note that this doesn't guarantee that the returned items will cover a particular length of time, as it will depend on how the items have been stored, whether the period had daylight savings time changes (and therefore potentially 25 hours) etc.
Timezone used for grouping. |
meterPoint(ElectricityMeterPointType!) | |
standingChargeUplifts([ElectricityContractStandingChargeUplift]) | List of contracted standing charge uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary. |
tariff(ElectricityTariffType) | |
unitRateUplifts([ElectricityContractUnitRateUplift]) | List of contracted unit rate uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary. |
validFrom(DateTime) | The start datetime of the agreement. |
validTo(DateTime) | The end datetime of the agreement. |
Example
{
"id": 1,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"account": AccountType,
"meterPoint": ElectricityMeterPointType,
"tariff": StandardTariff,
"isRevoked": true,
"lineItems": LineItemConnection,
"unitRateUplifts": [ElectricityContractUnitRateUplift],
"standingChargeUplifts": [ElectricityContractStandingChargeUplift],
"bespokeRates": [ElectricityBespokeRate],
"bespokeStandingCharges": [ElectricityBespokeStandingCharge]
}Fields
| Name | Description |
|---|---|
paymentMethod(BespokeNonHalfHourlyElectricityUnitRatePaymentMethod) | |
rateType(BespokeNonHalfHourlyElectricityUnitRateRateType!) | |
value(Decimal!) |
Example
{
"value": "1.0",
"paymentMethod": "DIRECT_DEBIT",
"rateType": "STANDARD"
}Fields
| Name | Description |
|---|---|
paymentMethod(BespokeNonHalfHourlyElectricityStandingChargePaymentMethod) | |
value(Decimal!) |
Example
{
"value": "1.0",
"paymentMethod": "DIRECT_DEBIT"
}Example
{
"day": 1,
"night": 1,
"isEstimate": true
}Example
{
"consumption": 1,
"isEstimate": true
}Example
{
"day": 1,
"night": 1,
"offPeak": 1,
"isEstimate": true
}Fields
| Name | Description |
|---|---|
standingChargeUplift(Decimal) | The amount to add to the standing charge when billing, in pence per day. |
validFrom(DateTime!) | When this contract is valid from. |
validTo(DateTime!) | When this contract is valid until. |
Example
{
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"standingChargeUplift": "1.0"
}Fields
| Name | Description |
|---|---|
unitRateUplift(Decimal!) | The amount to add to the unit rate when billing, in pence/kWh. |
validFrom(DateTime!) | When this contract is valid from. |
validTo(DateTime!) | When this contract is valid until. |
Example
{
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"unitRateUplift": "1.0"
}Fields
| Name | Description |
|---|---|
deviceId(String) | The identifier of the device associated to this reading. |
marketSupplyPointId(String) | The identifier of the market supply point associated to this reading. |
readingDirection(ReadingDirectionType) | Reading direction is based on the utility generated or consumed by the customer. |
readingFrequencyType(ReadingFrequencyType) | The frequency of the reading. |
readingQuality(ReadingQualityType) | Override Field to add additional attributes and extend description with possible_errors |
registerId(String) | The identifier of the register associated to this reading. |
Example
{
"readingDirection": "CONSUMPTION",
"registerId": "abc123",
"readingQuality": "ACTUAL",
"readingFrequencyType": "RAW_INTERVAL",
"marketSupplyPointId": "abc123",
"deviceId": "abc123"
}Fields
| Name | Description |
|---|---|
relAddress(UniqueRELAddressType) | Meter point REL address details. |
technicalDetails(ElectricMeterTechnicalDetails) | Meter point technical details. |
Example
{
"technicalDetails": ElectricMeterTechnicalDetails,
"relAddress": UniqueRELAddressType
}Fields
| Name | Description |
|---|---|
addressHasMoreThanOneElectricityMeterPoint(Boolean!) | |
addressLine1(String) | Line 1 of the address returned from the search. |
addressLine2(String) | Line 2 of the address returned from the search. |
electricityMeterPoints([String]) | List of meterpoints associated with the address. Only returned if addresshasmorethanoneelectricitymeter_point is True. |
postcode(String) | The postcode of the address returned from the search. |
Example
{
"addressHasMoreThanOneElectricityMeterPoint": true,
"electricityMeterPoints": ["abc123"],
"addressLine1": "abc123",
"addressLine2": "abc123",
"postcode": "abc123"
}ElectricityMeterPointType
An electricity meterpoint is a collection of meters. Meters can be changed over time, so it is convenient to keep an invariant reference. Sometimes there are multiple active meters on a meterpoint at a time (eg ECO10), but expect that to be an edge case.
Fields
| Name | Description |
|---|---|
agentContracts([ElectricityAgentContractType]) | A list of agents responsible for management of the meterpoint. Arguments
Filter the contracts by status. |
agreements([ElectricityAgreementType]) | A list of electricity agreements belonging to an account that is linked to the viewer. Filters out expired agreements by default. |
canRenewTariff(Boolean) | Whether it is possible to renew the meter point's tariff. |
currentSupplierMpid(String) | The current MPID for this meter point. |
dccEffectiveFrom(Date) | |
dccServiceFlag(String!) | |
direction(ElectricityDirection) | Indicates whether the electricity meter point is an import or an export meter point. |
energisationStatus(String!) | |
enrolment(EnrolmentType) | Details of an ongoing enrolment process. |
gspGroupId(String) | The distribution network the grid supply point falls under. |
hasOpenClosingReadDispute(Boolean!) | |
hasOpenOpeningReadDispute(Boolean!) | |
id(ID!) | |
ihdEffectiveFrom(Date) | |
ihdStatus(String!) | |
isDueTariffRenewal(Boolean) | Whether the meter point is due to renew their tariff. |
isMhhsEnabled(Boolean) | Whether the meter point is MHHS enabled. |
juniferMeterPointId(Int) | The ID of the meter point in Junifer. Deprecated The 'juniferMeterPointId' field is deprecated. |
lastValidatedReadingDate(Date) | |
llf(String) | Line loss factor class |
marketSegment(String) | The current market segment of the meter point. |
measurementClass(String!) | |
meters([ElectricityMeterType]) | |
mpan(String!) | |
mtc(Int) | Meter timeswitch code |
newSupplierId(String) | |
oldSupplierId(String) | |
profileClass(Int) | The profile class of the electricity meter point. |
requiresEnrolment(Boolean!) | |
requiresWithdrawal(Boolean!) | |
smartStartDate(Date) | |
smartTariffOnboarding(SmartTariffOnboardingType) | |
smsOperator(String!) | Smart Metering System Operator |
smsOperatorEffectiveFrom(Date) | |
ssc(String!) | Standard settlement configuration |
status(String) | |
statusUpdatedAt(DateTime) | |
supplyEndDate(Date) | |
targetSsd(Date) | |
unbilledReadings([ElectricityMeterReadingType]) | A list of unbilled electricity readings for the meterpoint. |
Example
{
"id": "abc123",
"supplyEndDate": "2020-01-01",
"mpan": "abc123",
"ssc": "abc123",
"energisationStatus": "abc123",
"dccServiceFlag": "abc123",
"statusUpdatedAt": "2020-01-01T00:00:00.000Z",
"oldSupplierId": "abc123",
"newSupplierId": "abc123",
"smartStartDate": "2020-01-01",
"requiresEnrolment": true,
"targetSsd": "2020-01-01",
"requiresWithdrawal": true,
"hasOpenOpeningReadDispute": true,
"hasOpenClosingReadDispute": true,
"profileClass": 1,
"llf": "abc123",
"mtc": 1,
"measurementClass": "abc123",
"lastValidatedReadingDate": "2020-01-01",
"smsOperator": "abc123",
"smsOperatorEffectiveFrom": "2020-01-01",
"ihdStatus": "abc123",
"ihdEffectiveFrom": "2020-01-01",
"dccEffectiveFrom": "2020-01-01",
"meters": [ElectricityMeterType],
"status": "abc123",
"enrolment": EnrolmentType,
"gspGroupId": "abc123",
"agentContracts": [ElectricityAgentContractType],
"juniferMeterPointId": 1,
"agreements": [ElectricityAgreementType],
"smartTariffOnboarding": SmartTariffOnboardingType,
"unbilledReadings": [ElectricityMeterReadingType],
"currentSupplierMpid": "abc123",
"direction": "IMPORT",
"isDueTariffRenewal": true,
"canRenewTariff": true,
"isMhhsEnabled": true,
"marketSegment": "abc123"
}ElectricityMeterReadingConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ElectricityMeterReadingConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ElectricityMeterReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ElectricityMeterReadingConnectionTypeEdge
A Relay edge containing a ElectricityMeterReadingConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ElectricityMeterReadingType) | The item at the end of the edge |
Example
{
"node": ElectricityMeterReadingType,
"cursor": "abc123"
}ElectricityMeterReadingType
A electricity meter reading. A reading can in fact contain multiple values for each register (for example for ECO7). They are collected under a common read_at datetime and have a common fuel type.
Fields
| Name | Description |
|---|---|
id(ID!) | |
readAt(DateTime) | |
readingSource(String) | |
readingType(String) | What 'kind' of reading this is based on how it was taken. |
registers([RegisterReading]) | |
source(String) |
Example
{
"id": "abc123",
"readAt": "2020-01-01T00:00:00.000Z",
"readingSource": "abc123",
"registers": [RegisterReading],
"source": "abc123",
"readingType": "abc123"
}ElectricityMeterRegisterType
Electricity registers measure consumption.
Fields
| Name | Description |
|---|---|
decimalPlaces(Int) | |
digits(Int) | |
eac(Decimal) | |
expectedReadingRanges([[Int]]) | |
id(ID!) | |
identifier(String) | |
multiplier(Float) | |
name(String) | |
timePatternRegime(String) | |
unitRateType(String) |
Example
{
"id": "abc123",
"identifier": "abc123",
"digits": 1,
"decimalPlaces": 1,
"name": "abc123",
"expectedReadingRanges": [1],
"timePatternRegime": "abc123",
"unitRateType": "abc123",
"eac": "1.0",
"multiplier": 1.0
}ElectricityMeterType
An electricity meter is a collection of registers which store readings. Eco7 meters are an example of a meter with multiple registers (for day and night).
Fields
| Name | Description |
|---|---|
activeFrom(Date!) | |
activeTo(Date) | |
certificationDate(Date) | |
certifiedUntil(Date) | |
consumption(ConsumptionConnection) | Energy consumption recorded by the meter. |
consumptionUnits(String) | The units of consumption for a smart meter. |
createdAt(DateTime!) | |
currentRating(Int) | |
exportMeters(ElectricityMeterTypeConnection!) | |
fuelType(String) | The type of fuel this meter uses. |
hasAndAllowsHhReadings(Boolean) | Returns if the meter has and allows half hourly readings. |
id(ID!) | |
importMeter(ElectricityMeterType) | |
installationDate(Date) | |
isDigital(Boolean) | |
isReadyForTopup(Boolean) | Returns if the meter is ready for top up. |
isRts(Boolean) | Returns if the meter is an RTS meter. |
isTradPrepay(Boolean) | Returns if the meter is a traditional prepay meter. |
lastInspectionDate(Date) | |
location(String) | |
makeAndType(String) | |
meterPoint(ElectricityMeterPointType!) | |
meterType(ElectricityMeterMeterType) | |
nodeId(ID!) | This lets us get around the fact that we already use the field id as a primary key. We will migrate the id field over to be this id eventually. |
prepayLedgers(PrepayLedgersType) | |
readings(ElectricityMeterReadingConnectionTypeConnection) | |
registers([ElectricityMeterRegisterType]) | |
requiresAccess(Boolean) | |
requiresCotFinalReading(Boolean) | Whether this meter requires a final change of tenancy (COT) reading. |
retrievalMethod(String) | |
serialNumber(String!) | |
smartDevices([SmartMeterDeviceType]) | |
smartExportElectricityMeter(SmartMeterDeviceType) | |
smartImportElectricityMeter(SmartMeterDeviceType) | |
updatedAt(DateTime) |
Example
{
"id": "abc123",
"serialNumber": "abc123",
"requiresAccess": true,
"isDigital": true,
"installationDate": "2020-01-01",
"lastInspectionDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"activeFrom": "2020-01-01",
"activeTo": "2020-01-01",
"meterPoint": ElectricityMeterPointType,
"location": "abc123",
"currentRating": 1,
"makeAndType": "abc123",
"meterType": "CHECK",
"certificationDate": "2020-01-01",
"certifiedUntil": "2020-01-01",
"retrievalMethod": "abc123",
"importMeter": ElectricityMeterType,
"exportMeters": ElectricityMeterTypeConnection,
"prepayLedgers": PrepayLedgersType,
"smartImportElectricityMeter": SmartMeterDeviceType,
"smartExportElectricityMeter": SmartMeterDeviceType,
"consumptionUnits": "abc123",
"requiresCotFinalReading": true,
"fuelType": "abc123",
"consumption": ConsumptionConnection,
"nodeId": "abc123",
"readings": ElectricityMeterReadingConnectionTypeConnection,
"registers": [ElectricityMeterRegisterType],
"hasAndAllowsHhReadings": true,
"smartDevices": [SmartMeterDeviceType],
"isTradPrepay": true,
"isReadyForTopup": true,
"isRts": true
}Fields
| Name | Description |
|---|---|
edges([ElectricityMeterTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
Example
{
"pageInfo": PageInfo,
"edges": ElectricityMeterTypeEdge
}ElectricityMeterTypeEdge
A Relay edge containing a ElectricityMeterType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ElectricityMeterType) | The item at the end of the edge |
Example
{
"node": ElectricityMeterType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
annualAmount(Int!) | Estimated cost in pence of the product over a year based on the quoted usage. |
electricityTariffInformationLabel(ElectricityProductTariffInformationLabel!) | Electricity tariff information label (TIL) provides standardised information between suppliers about a tariff. The type of ElectricityProductTariffInformationLabel depends on the rateType of the ElectricitySupplyPoint. |
id(Int) | The ID of the quoted product. |
label(String) | |
monthlyAmount(Int!) | Estimated cost in pence of the product per month based on the quoted usage. |
product(EnergyProductType!) | Energy product quoted. |
Example
{
"id": 1,
"label": "abc123",
"product": EnergyProductType,
"annualAmount": 1,
"monthlyAmount": 1,
"electricityTariffInformationLabel": ProductTariffInformationLabelStandard
}Fields
| Name | Description |
|---|---|
agreement(ElectricityAgreementType) | Current active agreement on this supply point. |
annualConsumption(ElectricityConsumption!) | Annual consumption of the supply point. The type of ElectricityConsumption depends on the rateType. |
co2SavingInKgFromConsumption(Int) | CO2 saving based on annual consumption for a given supplier. |
mpan(String) | The Mpan of the suply point. |
quotedProducts([ElectricityQuotedProduct]!) | A list of quoted products and the corresponding tariff information. |
rateType(RateTypeChoices!) | Rate type. |
treesSavedFromConsumption(Int) | Trees saved given the CO2 saving. |
Example
{
"mpan": "abc123",
"agreement": ElectricityAgreementType,
"annualConsumption": ElectricityConsumptionStandard,
"quotedProducts": ElectricityQuotedProduct,
"rateType": "STANDARD",
"co2SavingInKgFromConsumption": 1,
"treesSavedFromConsumption": 1
}EmailAttachmentType
Represents a file to attach to a email message.
Fields
| Name | Description |
|---|---|
filename(String!) | The filename of the attachment. |
id(ID!) | The ID of the attachment. |
temporaryUrl(String) | Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). |
Example
{
"id": "abc123",
"filename": "abc123",
"temporaryUrl": "abc123"
}Fields
| Name | Description |
|---|---|
eventType(String!) | |
id(ID!) | The ID of the object |
message(EmailType) | Email message of the email event. Returns null for message's sent/received by other user's on the account. |
occurredAt(DateTime!) |
Example
{
"id": "abc123",
"eventType": "abc123",
"occurredAt": "2020-01-01T00:00:00.000Z",
"message": EmailType
}EmailType
Represents an email communication
Fields
| Name | Description |
|---|---|
attachments([EmailAttachmentType]) | Attachments of the email message. |
channel(String!) | |
createdAt(DateTime!) | The date and time the email was created. |
fromEmail(String!) | The address the email was sent from. |
fromNumber(String!) | |
htmlBody(String) | HTML body of the email message. |
id(ID!) | The ID of the email. |
recipient(String) | Email recipient. |
sender(String) | Email sender. |
sentAt(DateTime) | The date and time the email was sent. |
subject(String) | Subject line of the email message. |
templateCode(String!) | The email template code. |
textBody(String) | Text body of the email message. |
toAddress(String!) | The email address of the recipient. |
toNumber(String!) |
Example
{
"id": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"sentAt": "2020-01-01T00:00:00.000Z",
"templateCode": "abc123",
"toAddress": "abc123",
"fromEmail": "abc123",
"subject": "abc123",
"attachments": [EmailAttachmentType],
"textBody": "abc123",
"htmlBody": "abc123",
"toNumber": "abc123",
"fromNumber": "abc123",
"channel": "abc123",
"sender": "abc123",
"recipient": "abc123"
}Fields
| Name | Description |
|---|---|
deviceId(String) | The identifier of the device associated to this reading. |
marketSupplyPointId(String) | The identifier of the market supply point associated to this reading. |
readingDirection(ReadingDirectionType) | Reading direction is based on the utility generated or consumed by the customer. |
readingFrequencyType(ReadingFrequencyType) | The frequency of the reading. |
readingQuality(ReadingQualityType) | Override Field to add additional attributes and extend description with possible_errors |
registerId(String) | The identifier of the register associated to this reading. |
Example
{
"readingDirection": "CONSUMPTION",
"registerId": "abc123",
"readingQuality": "ACTUAL",
"readingFrequencyType": "RAW_INTERVAL",
"marketSupplyPointId": "abc123",
"deviceId": "abc123"
}EmbeddedNetworkType
Represents an embedded network that holds multiple embedded properties.
Fields
| Name | Description |
|---|---|
embeddedProperties([EmbeddedPropertyType]) | Get details about properties in an embedded network. |
id(ID!) | |
name(String!) | A unique name/code for the network |
Example
{
"id": "abc123",
"name": "abc123"
}EndContributionAgreement
The possible errors that can be raised are:
- KT-CT-9603: Unable to find contribution agreement.
- KT-CT-4123: Unauthorized.
- KT-CT-9604: Unable to end contribution agreement.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
contributionAgreement(ContributionAgreementType) | The created contribution agreement. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"contributionAgreement": ContributionAgreementType
}Energy
Describes the energy (not power) consumed (e.g. as electricity) or returned (e.g. as heat) by a system over a given span of time.
Differs from Power in that it describes the total amount of energy transferred during a
given time frame (not a single point in time).
Fields
| Name | Description |
|---|---|
unit(EnergyUnit!) | The units in which the energy is being measured. |
value(Decimal) | The amount of energy (not power) transmitted. |
Example
{
"value": "1.0",
"unit": "KILOWATT_HOUR"
}EnergyMixDataType
Energy mix data can include the latest carbon intensity index in a region.
Fields
| Name | Description |
|---|---|
carbonIntensityIndex(String) | Current carbon intensity index. |
Example
{
"carbonIntensityIndex": "abc123"
}EnergyProductConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([EnergyProductConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": EnergyProductConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}EnergyProductConnectionTypeEdge
A Relay edge containing a EnergyProductConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(EnergyProductType) | The item at the end of the edge |
Example
{
"node": EnergyProductType,
"cursor": "abc123"
}EnergyProductType
An EnergyProduct models a group of tariffs for both electricity and gas.
Fields
| Name | Description |
|---|---|
availableFrom(DateTime!) | |
availableTo(DateTime) | |
code(String!) | |
description(String!) | This will be shown to customers during sign-up |
direction(EnergyProductDirection) | Whether the product is an import or export product. |
displayName(String!) | This name will be shown to customers during sign-up |
endsAt(DateTime) | This is when end-dated products expire |
exitFees(Int) | The exit fee applied per fuel if the agreement is ended early. Total value is determined by exit fee type, i.e. this value is either a flat cost or cost per year/month remaining on the agreement. |
exitFeesType(String) | Determines how the exit fee is calculated. |
fullName(String!) | |
id(ID!) | |
includesEpgReduction(Boolean) | Does the product have EPG applied on the unit rates. |
isAvailable(Boolean) | |
isBusiness(Boolean!) | |
isChargedHalfHourly(Boolean!) | |
isDefault(Boolean) | |
isDomestic(Boolean) | |
isFixed(Boolean) | |
isGreen(Boolean!) | |
isHidden(Boolean!) | Whether to hide this product from the direct registration journey |
isOccupier(Boolean) | |
isPrepay(Boolean!) | |
isUnavailable(Boolean) | |
isVariable(Boolean!) | |
notes(String!) | These are internal notes to explain why this product exists |
tags([String]) | Tags associated with the product. |
tariffs(EnergyTariffConnectionTypeConnection) | A list of tariffs per product for a given postcode. |
term(Int) | Duration of agreements using this product in months |
Example
{
"id": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"isHidden": true,
"code": "abc123",
"direction": "IMPORT",
"notes": "abc123",
"isVariable": true,
"isGreen": true,
"isBusiness": true,
"isChargedHalfHourly": true,
"isPrepay": true,
"isDefault": true,
"isOccupier": true,
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"tariffs": EnergyTariffConnectionTypeConnection,
"isAvailable": true,
"isUnavailable": true,
"isFixed": true,
"isDomestic": true,
"includesEpgReduction": true,
"exitFees": 1,
"exitFeesType": "abc123",
"tags": ["abc123"]
}EnergyTariffConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([EnergyTariffConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": EnergyTariffConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}EnergyTariffConnectionTypeEdge
A Relay edge containing a EnergyTariffConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(EnergyTariffType) | The item at the end of the edge |
Example
{
"node": StandardTariff,
"cursor": "abc123"
}Example
{
"linkState": "abc123",
"linkUrl": "abc123"
}EnrollAccountInLoyaltyProgram
Enroll an account into the loyalty program.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-9213: ineligible loyalty points enrollment.
- KT-CT-9210: Unhandled Loyalty Points exception.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
outcome(EnrollAccountInLoyaltyProgramOutcome) | Outcome of the loyalty points campaign enrollment. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"outcome": EnrollAccountInLoyaltyProgramOutcome
}Fields
| Name | Description |
|---|---|
hasEnrolled(Boolean) | Whether or not this account has been enrolled in the loyalty points campaign. |
Example
{
"hasEnrolled": true
}EnrollmentCancelled
Enrollment was successfully cancelled.
Fields
| Name | Description |
|---|---|
enrollmentProcess(EnrollmentProcess!) | The Enrollment process that was cancelled. |
message(String!) | The message to display to the user on Enrollment initiation. |
Example
{
"message": "abc123",
"enrollmentProcess": JoinSupplierProcessType
}EnrolmentType
Details of an ongoing enrolment process.
Fields
| Name | Description |
|---|---|
previousSupplier(String) | The last company to supply this meter point. |
status(EnrolmentStatusOptions) | The enrolment status on a meter point. |
supplyStartDate(Date) | Target date for supply to start. |
switchStartDate(Date) | Date the switch started. |
Example
{
"switchStartDate": "2020-01-01",
"supplyStartDate": "2020-01-01",
"previousSupplier": "abc123",
"status": "OBJECTION_RECEIVED"
}Fields
| Name | Description |
|---|---|
field(String!) | |
messages([String!]!) |
Example
{
"field": "abc123",
"messages": "abc123"
}Fields
| Name | Description |
|---|---|
costCurrency(String!) | Monetary currency of the statistic in ISO-4217 format. |
estimatedAmount(Decimal!) | |
pricePerUnit(PricePerUnit) | Net price per unit of the statistic if applicable. |
Example
{
"estimatedAmount": "1.0",
"costCurrency": "abc123",
"pricePerUnit": PricePerUnit
}ExportReadingsConnection
Pagination for readings representing outgoing utility flow e.g., solar generation.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ExportReadingsEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ExportReadingsEdge,
"totalCount": 1,
"edgeCount": 1
}ExportReadingsEdge
A Relay edge containing a ExportReadings and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(Reading) | The item at the end of the edge |
Example
{
"node": Reading,
"cursor": "abc123"
}ExternalSalesInfoType
GraphQL type representing external sales information.
This type is used to represent sales records that originate from external systems or processes outside of Kraken's direct tracking mechanisms.
Fields
| Name | Description |
|---|---|
salesRecordIdentifier(String) | The unique identifier for the sales record. |
Example
{
"salesRecordIdentifier": "abc123"
}Fields
| Name | Description |
|---|---|
description(String) | Description of the extra for the parent node. |
label(String) | Display label of the extra for the parent node. |
value(String) | Value of the extra. |
Example
{
"label": "abc123",
"description": "abc123",
"value": "abc123"
}Fields
| Name | Description |
|---|---|
field(String) | The name of the GraphQL field for which the rate is limited. |
isBlocked(Boolean) | Whether the viewer is currently blocked from making requests to this field due to exceeding the allowed request rate. |
rate(String) | Indicates the rate limit allowed for this field (e.g. 10/m). |
ttl(Int) | Time to live: The time remaining before the user is unblocked from making requests to this field. |
Example
{
"field": "abc123",
"rate": "abc123",
"ttl": 1,
"isBlocked": true
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([FieldSpecificRateLimitInformationConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": FieldSpecificRateLimitInformationConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}FieldSpecificRateLimitInformationConnectionTypeEdge
A Relay edge containing a FieldSpecificRateLimitInformationConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(FieldSpecificRateLimitInformation) | The item at the end of the edge |
Example
{
"node": FieldSpecificRateLimitInformation,
"cursor": "abc123"
}FitAcceptSchedule
FiT customers need to be able to accept their FiT schedules. There are a number of conditions that need to be met for a schedule: - It must have been sent - It must not have been accepted - It must not be in the future
The possible errors that can be raised are:
- KT-GB-6813: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
fitSchedule(FitScheduleType) | The accepted schedule. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"fitSchedule": FitScheduleType
}Fields
| Name | Description |
|---|---|
installation(InstallationType) | The FiT installation associated with the provided FiT id. |
Example
{
"installation": InstallationType
}FitCreateMeterReadings
The possible errors that can be raised are:
- KT-GB-6812: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
readingsSubmitted(Boolean) |
Example
{
"possibleErrors": [PossibleErrorType],
"readingsSubmitted": true
}Fields
| Name | Description |
|---|---|
id(String) | ID of the meter. |
installationCapacities([InstallationCapacityType]) | Any installation capacities linked to the meter. |
maxExpectedRead(Decimal) | The maximum read volume expected for the current datetime, including any extra tolerance allowed. |
mpan(String) | MPAN of the meter point linked to the meter. |
readings(FitReadingConnectionTypeConnection) | |
serialNumber(String) | Serial number of the meter. |
type(String) | The type of meter. |
Example
{
"serialNumber": "abc123",
"id": "abc123",
"type": "abc123",
"readings": FitReadingConnectionTypeConnection,
"installationCapacities": [InstallationCapacityType],
"maxExpectedRead": "1.0",
"mpan": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([FitReadingConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": FitReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}FitReadingConnectionTypeEdge
A Relay edge containing a FitReadingConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(FitReadingType) | The item at the end of the edge |
Example
{
"node": FitReadingType,
"cursor": "abc123"
}Example
{
"value": "1.0",
"readAt": "2020-01-01T00:00:00.000Z",
"isBiennial": true
}Fields
| Name | Description |
|---|---|
acceptedAt(DateTime) | Datetime the schedule was accepted. |
scheduleId(UUID) | Unique Identifier of the schedule. |
sentAt(DateTime) | Datetime the schedule was sent. |
temporaryDownloadUrls([String]) | URLs for any schedule PDFs. URLs are temporary and will expire in approximately one hour. They are intended for redirection purposes only; they are not persistent in any form (eg. in emails or a web page body). |
Example
{
"scheduleId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"sentAt": "2020-01-01T00:00:00.000Z",
"acceptedAt": "2020-01-01T00:00:00.000Z",
"temporaryDownloadUrls": ["abc123"]
}Fields
| Name | Description |
|---|---|
max(Decimal) | The maximum value this constraint allows. |
min(Decimal) | The minimum value this constraint allows. |
Example
{
"min": "1.0",
"max": "1.0"
}Fields
| Name | Description |
|---|---|
id(Int!) | The unique id of the device preference schedule setting. |
max(Decimal) | The maximum value a preference can be set to (inclusive). |
maxConstraint(PreferenceConstraint) | The constraint applied to the max value. |
min(Decimal) | The minimum value a preference can be set to (inclusive). |
minConstraint(PreferenceConstraint) | The constraint applied to the min value. |
step(Decimal!) | The step size preference can be set to. |
targetConstraint(PreferenceConstraint) | The constraint applied to the target value. |
timeFrom(Time) | The minimum time a preference can be set to (inclusive). |
timeStep(Int!) | The step amount (in minutes) a preference schedule time can be set. |
timeTo(Time) | The maximum time a preference can be set to (inclusive). |
Example
{
"id": 1,
"timeFrom": "00:00:00.000Z",
"timeTo": "00:00:00.000Z",
"timeStep": 1,
"min": "1.0",
"max": "1.0",
"step": "1.0",
"minConstraint": PreferenceConstraint,
"maxConstraint": PreferenceConstraint,
"targetConstraint": PreferenceConstraint
}Fields
| Name | Description |
|---|---|
deviceType(String!) | The device type of the setting. |
id(Int!) | The unique id of the device preference setting. |
mode(PreferencesModeChoices!) | The mode of the setting. |
scheduleSettings([FlexDevicePreferenceScheduleSettingInterface]!) | Scheduled preference settings. |
unit(PreferencesUnitChoices!) | The unit of the min and max values in the preferences setting. |
Example
{
"id": 1,
"deviceType": "abc123",
"mode": "CHARGE",
"unit": "CELSIUS",
"scheduleSettings": FlexDevicePreferenceScheduleSettingInterface
}FlexSupportedDevices
A list of supported makes and models for a given device type.
Fields
| Name | Description |
|---|---|
deviceType(KrakenFlexDeviceTypes!) | The type of device. |
supportedMakes([FlexSupportedMake]!) | List of supported brands or manufacturer. |
Example
{
"deviceType": "BATTERIES",
"supportedMakes": FlexSupportedMake
}FlexSupportedMake
A brand or manufacturer of the device and its associated models.
If models is empty, all models for this make are supported.
Fields
| Name | Description |
|---|---|
make(String!) | Brand or manufacturer of the device. |
models([FlexSupportedModel]!) | List of supported models for the device make. If empty, all models are supported. |
Example
{
"make": "abc123",
"models": FlexSupportedModel
}FlexSupportedModel
A supported model for a given make.
If model year range is null, all years are supported.
Fields
| Name | Description |
|---|---|
modelName(String!) | Model name of the device. |
modelYearRange(ModelYearRange) | Model years supported. If null, all model years are supported. |
Example
{
"modelYearRange": ModelYearRange,
"modelName": "abc123"
}FloatType
Graphene type object to represent float values
Fields
| Name | Description |
|---|---|
floatValue(Float!) | Value of this field. |
Example
{
"floatValue": 1.0
}Fields
| Name | Description |
|---|---|
accountType(AccountTypeChoices) | The type of account. |
activeFrom(DateTime!) | |
activeTo(DateTime) | |
createdAt(DateTime!) | |
paymentMethod(PaymentMethods) | The payment method for the product. |
renewalProducts([RenewalProductType]) |
Example
{
"activeFrom": "2020-01-01T00:00:00.000Z",
"activeTo": "2020-01-01T00:00:00.000Z",
"accountType": "BUSINESS",
"paymentMethod": "DIRECT_DEBIT",
"renewalProducts": [RenewalProductType],
"createdAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
effectiveAt(DateTime!) | The time at which forced reauthentication is effective. Kraken and refresh tokens issued before this time will be invalid. |
tokensInvalidated(Boolean!) | Reports whether the mutation applied successfully. Should always be 'true'. |
Example
{
"tokensInvalidated": true,
"effectiveAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
content(JSONString) | |
errors([SerializerFieldErrorsType]) | |
id(Int) |
Example
{
"id": 1,
"content": {"key": "value"},
"errors": [SerializerFieldErrorsType]
}FractionSizeType
A fractional measurement.
Fields
| Name | Description |
|---|---|
fraction(Decimal!) | The fractional value. |
id(ID) | Unique identifier of the object. |
typename(String) | The name of the object's type. |
Example
{
"id": "abc123",
"typename": "abc123",
"fraction": "1.0"
}FulfilmentType
Represents an amount of money that can be used to fulfil an obligation.
Fields
| Name | Description |
|---|---|
amount(Int!) | The amount of the fulfilment (in minor currency units), unsigned. |
sourceIdentifier(String) | The database ID of the fulfilment source, e.g. the database ID of the payment. |
sourceType(FulfilmentSourceType) | The type of the fulfilment source, e.g. PAYMENT. |
Example
{
"sourceType": "UNKNOWN",
"sourceIdentifier": "abc123",
"amount": 1
}FundingSourceAmountConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([FundingSourceAmountConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": FundingSourceAmountConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}FundingSourceAmountConnectionTypeEdge
A Relay edge containing a FundingSourceAmountConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(FundingSourceAmountType) | The item at the end of the edge |
Example
{
"node": FundingSourceAmountType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
amount(Int) | Amount used from a funding source in minor currency. |
reason(String) | Reason why the funding source was used. |
Example
{
"reason": "abc123",
"amount": 1
}GasAgentContractType
An organization who manages a given meterpoint.
Fields
| Name | Description |
|---|---|
agentId(String) | |
contractStatus(AgentContractStatusType) | |
contractType(MamAgentContractContractType!) | |
effectiveFrom(Date) |
Example
{
"contractType": "MAM",
"agentId": "abc123",
"contractStatus": "ACCEPTED",
"effectiveFrom": "2020-01-01"
}Fields
| Name | Description |
|---|---|
account(AccountType!) | |
agreedFrom(DateTime) | The datetime the agreement was entered. |
agreedTo(DateTime) | The datetime the agreement was terminated. |
bespokeRates([GasBespokeRate]) | Bespoke rates that apply to this agreement. |
bespokeStandingCharges([GasBespokeStandingCharge]) | Bespoke standing charges that apply to this agreement. |
id(Int) | The ID of the agreement. |
isRevoked(Boolean) | Whether the agreement is revoked. |
lineItems(LineItemConnection) | A collection of charges and associated consumption data. Arguments
Aggregate line items according to this grouping. Note that this doesn't guarantee that the returned items will cover a particular length of time, as it will depend on how the items have been stored, whether the period had daylight savings time changes (and therefore potentially 25 hours) etc.
Timezone used for grouping. |
meterPoint(GasMeterPointType!) | |
standingChargeUplifts([GasContractStandingChargeUplift]) | List of contracted standing charge uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary. |
tariff(GasTariffType) | |
unitRateUplifts([GasContractUnitRateUplift]) | List of contracted unit rate uplifts applicable during this agreement's duration. This is only applicable to business accounts where we may pay commission to a third-party intermediary. |
validFrom(DateTime) | The start datetime of the agreement. |
validTo(DateTime) | The end datetime of the agreement. |
Example
{
"id": 1,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"account": AccountType,
"meterPoint": GasMeterPointType,
"tariff": GasTariffType,
"isRevoked": true,
"lineItems": LineItemConnection,
"unitRateUplifts": [GasContractUnitRateUplift],
"standingChargeUplifts": [GasContractStandingChargeUplift],
"bespokeRates": [GasBespokeRate],
"bespokeStandingCharges": [GasBespokeStandingCharge]
}Fields
| Name | Description |
|---|---|
paymentMethod(BespokeNonHalfHourlyGasUnitRatePaymentMethod) | |
value(Decimal!) |
Example
{
"value": "1.0",
"paymentMethod": "DIRECT_DEBIT"
}Fields
| Name | Description |
|---|---|
paymentMethod(BespokeNonHalfHourlyGasStandingChargePaymentMethod) | |
value(Decimal!) |
Example
{
"value": "1.0",
"paymentMethod": "DIRECT_DEBIT"
}Example
{
"consumption": 1,
"isEstimate": true
}Fields
| Name | Description |
|---|---|
standingChargeUplift(Decimal) | The amount to add to the standing charge when billing, in pence per day. |
validFrom(DateTime!) | When this contract is valid from. |
validTo(DateTime!) | When this contract is valid until. |
Example
{
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"standingChargeUplift": "1.0"
}Fields
| Name | Description |
|---|---|
unitRateUplift(Decimal!) | The amount to add to the unit rate when billing, in pence/kWh. |
validFrom(DateTime!) | When this contract is valid from. |
validTo(DateTime!) | When this contract is valid until. |
Example
{
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"unitRateUplift": "1.0"
}GasFiltersOutput
Filter measurements by gas parameters.
Fields
| Name | Description |
|---|---|
deviceId(String) | The identifier of the device associated to this reading. |
marketSupplyPointId(String) | The identifier of the market supply point associated to this reading. |
readingFrequencyType(ReadingFrequencyType) | The frequency of the reading. |
registerId(String) | The identifier of the register associated to this reading. |
Example
{
"registerId": "abc123",
"readingFrequencyType": "RAW_INTERVAL",
"marketSupplyPointId": "abc123",
"deviceId": "abc123"
}Fields
| Name | Description |
|---|---|
relAddress(UniqueRELAddressType) | Meter point REL address details. |
technicalDetails(GasMeterTechnicalDetails) | Meter point technical details. |
Example
{
"technicalDetails": GasMeterTechnicalDetails,
"relAddress": UniqueRELAddressType
}GasMeterPointType
A gas meterpoint is a collection of meters. Meters are changed over time, so it is convenient to keep an invariant reference. We would not expect there to be multiple active meters at a time on a gas meterpoint.
Fields
| Name | Description |
|---|---|
agentContracts([GasAgentContractType]) | A list of agents responsible for management of the meterpoint. Arguments
Filter the contracts by status. |
agreements([GasAgreementType]) | A list of gas agreements belonging to an account that is linked to the viewer. Filters out expired agreements by default. |
canRenewTariff(Boolean) | Whether it is possible to renew the meter point's tariff. |
confirmationReference(Int) | |
currentDmSoq(Int) | Rolling SOQ |
currentNdmSoq(Int) | Rolling SOQ |
currentSupplierMpid(String) | The current MPID for this meter point. |
endUserCategory(Int) | |
enrolment(EnrolmentType) | Details of an ongoing enrolment process. |
eucIdentifier(String) | |
exitCapacityChargeRate(Decimal) | |
exitZone(String!) | |
formulaYearSmpAq(Int) | AQ fixed for year |
formulaYearSmpSoq(Int) | SOQ fixed for year |
hasOpenClosingReadDispute(Boolean!) | |
hasOpenOpeningReadDispute(Boolean!) | |
id(ID!) | |
igtCheckedAt(DateTime) | |
igtIdentifier(String!) | |
isDueTariffRenewal(Boolean) | Whether the meter point is due to renew their tariff. |
ldz(String!) | Local distribution zone - Distribution charges are based upon this |
ldzCapacityChargeRate(Decimal) | |
ldzCommodityChargeRate(Decimal) | |
ldzCustomerChargeRate(Decimal) | |
marketCategory(GasMeterPointMarketCategory) | |
marketSectorCode(GasMeterPointMarketSectorCode) | |
meterOwnershipType(GasMeterPointMeterOwnershipType) | |
meterReadBatchFrequency(String!) | |
meters([GasMeterType]) | |
mprn(String) | |
mrfType(String!) | |
newSupplierId(String) | |
nominationShipperReference(String!) | |
nominationType(String!) | |
ntsExitCommodityChargeRate(Decimal) | |
oldSupplierId(String) | |
requiresEnrolment(Boolean!) | |
requiresWithdrawal(Boolean!) | |
smartStartDate(Date) | |
status(String) | |
statusUpdatedAt(DateTime) | |
supplyClass(Int!) | |
supplyEndDate(Date) | |
supplyPointCategory(String!) | |
targetSsd(Date) | |
unbilledReadings([GasMeterReadingType]) | A list of unbilled gas readings for the meterpoint. |
xoserveStatus(String) | Industry status code |
Example
{
"id": "abc123",
"supplyEndDate": "2020-01-01",
"mprn": "abc123",
"statusUpdatedAt": "2020-01-01T00:00:00.000Z",
"oldSupplierId": "abc123",
"newSupplierId": "abc123",
"smartStartDate": "2020-01-01",
"requiresEnrolment": true,
"targetSsd": "2020-01-01",
"requiresWithdrawal": true,
"hasOpenOpeningReadDispute": true,
"hasOpenClosingReadDispute": true,
"marketSectorCode": "D",
"marketCategory": "SSP",
"meterOwnershipType": "T",
"confirmationReference": 1,
"nominationType": "abc123",
"supplyClass": 1,
"nominationShipperReference": "abc123",
"xoserveStatus": "abc123",
"exitCapacityChargeRate": "1.0",
"ldzCapacityChargeRate": "1.0",
"ldzCommodityChargeRate": "1.0",
"ldzCustomerChargeRate": "1.0",
"ntsExitCommodityChargeRate": "1.0",
"mrfType": "abc123",
"meterReadBatchFrequency": "abc123",
"formulaYearSmpSoq": 1,
"formulaYearSmpAq": 1,
"currentDmSoq": 1,
"currentNdmSoq": 1,
"exitZone": "abc123",
"ldz": "abc123",
"supplyPointCategory": "abc123",
"endUserCategory": 1,
"eucIdentifier": "abc123",
"igtIdentifier": "abc123",
"igtCheckedAt": "2020-01-01T00:00:00.000Z",
"meters": [GasMeterType],
"status": "abc123",
"enrolment": EnrolmentType,
"agentContracts": [GasAgentContractType],
"agreements": [GasAgreementType],
"unbilledReadings": [GasMeterReadingType],
"currentSupplierMpid": "abc123",
"isDueTariffRenewal": true,
"canRenewTariff": true
}GasMeterReadingConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([GasMeterReadingConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": GasMeterReadingConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}GasMeterReadingConnectionTypeEdge
A Relay edge containing a GasMeterReadingConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(GasMeterReadingType) | The item at the end of the edge |
Example
{
"node": GasMeterReadingType,
"cursor": "abc123"
}GasMeterReadingType
A gas meter reading. The reading value is under the register collection to be consistent with electricity readings. We expect a single register and reading value for gas.
Fields
| Name | Description |
|---|---|
id(ID!) | |
readAt(DateTime) | |
readingSource(String) | |
readingType(String) | What 'kind' of reading this is based on how it was taken. |
registers([RegisterReading]) | |
source(String) |
Example
{
"id": "abc123",
"readAt": "2020-01-01T00:00:00.000Z",
"readingSource": "abc123",
"registers": [RegisterReading],
"source": "abc123",
"readingType": "abc123"
}GasMeterRegisterType
Gas registers measure consumption.
Fields
| Name | Description |
|---|---|
decimalPlaces(Int) | |
digits(Int) | |
expectedReadingRanges([[Int]]) | |
id(ID!) | |
identifier(String) | |
name(String) | |
unitRateType(String) |
Example
{
"id": "abc123",
"identifier": "abc123",
"digits": 1,
"decimalPlaces": 1,
"name": "abc123",
"expectedReadingRanges": [1],
"unitRateType": "abc123"
}Fields
| Name | Description |
|---|---|
currentSupplierId(String) | A unique three-character code used to identify the current supplier. |
currentSupplierRegEffectiveDate(String) | A datetime indicating the date on which the Supplier became the supplier of the RMP. |
dmq(Decimal) | Daily Metered current annual offtake quantity (AQ) of a Supply Meter Point. Value in kWh. |
gasTransportId(String) | Unique Identifier for the Gas Transporter Organisation, can also be used to identify the geographical area. |
ldzId(String) | Unique reference code for the Local Distribution Zone (LDZ). |
marketSectorCode(String) | A code that specifies if the site is used for domestic or industrial/commercial purposes. D = Domestic, I = Industrial and Commercial. |
meterCapacity(String) | The amount of gas that can be passed through the meter in a given time period. This is the manufacturer's maximum value. |
meterMechanismCode(String) | The coded value of the description of the Meter Mechanism, an identifier for the type of equipment fitted, e.g. credit or prepayment meter. |
meterNumberOfDials(String) | The number of dials on the meter installed at the Supply Meter Point. |
meterSerialNumber(String) | The manufacturer's meter serial number as held on the physical meter currently installed on the supply point. |
mpaq(Decimal) | The current annual offtake quantity (AQ) of a Supply Meter Point. Value in kWh. |
mprn(String!) | Meter Point Reference Number (MPRN). A unique identifier for the point at which a meter is, has been or will be connected to the Gas Network. |
ndmq(Decimal) | Non-Daily Metered current annual offtake quantity (AQ) of a Supply Meter Point. Value in kWh. |
pendingSupplierRegEffectiveDate(String) | A datetime indicating the date on which a subsequent Supplier will become the supplier of the RMP. |
smartEquipmentTechnicalCode(String) | Specification ID of the smart meter. |
Example
{
"mprn": "abc123",
"currentSupplierId": "abc123",
"currentSupplierRegEffectiveDate": "abc123",
"pendingSupplierRegEffectiveDate": "abc123",
"dmq": "1.0",
"gasTransportId": "abc123",
"ldzId": "abc123",
"meterCapacity": "abc123",
"meterMechanismCode": "abc123",
"meterNumberOfDials": "abc123",
"meterSerialNumber": "abc123",
"mpaq": "1.0",
"marketSectorCode": "abc123",
"ndmq": "1.0",
"smartEquipmentTechnicalCode": "abc123"
}GasMeterType
A gas meter has a register which holds readings. We would expect this to be a one-to-one relationship between meter and register.
Fields
| Name | Description |
|---|---|
activeFrom(Date!) | |
activeTo(Date) | |
bypassFitted(String!) | |
collarFitted(String!) | |
consumption(ConsumptionConnection) | Energy consumption recorded by the meter. |
consumptionUnits(String) | The units of consumption for a smart meter. |
correction(Float) | |
createdAt(DateTime!) | |
currentMeterAssetManager(String!) | |
fuelType(String) | The type of fuel this meter uses. |
hasAndAllowsHhReadings(Boolean) | Returns if the meter has and allows half hourly readings. |
id(ID!) | |
imperial(Boolean) | |
installationDate(Date) | |
instructions(String!) | |
isDigital(Boolean) | |
isReadyForTopup(Boolean) | Returns if the meter is ready for top up. |
isTradPrepay(Boolean) | Returns if the meter is a traditional prepay meter. |
lastInspectionDate(Date) | |
linkCode(String!) | |
location(String!) | |
locationDescription(String!) | |
manufacturedYear(Int) | |
manufacturerCode(String!) | |
measuringCapacity(Decimal) | |
mechanism(GasMeterMechanism) | |
meterPoint(GasMeterPointType!) | |
meterType(String!) | |
modelName(String!) | |
nodeId(ID!) | This lets us get around the fact that we already use the field id as a primary key. We will migrate the id field over to be this id eventually. |
operationalStatusDate(Date) | |
owner(String!) | |
prepayLedgers(PrepayLedgersType) | |
pulseValue(Decimal) | |
readingFactor(Decimal) | |
readings(GasMeterReadingConnectionTypeConnection) | |
registers([GasMeterRegisterType]) | |
requiresAccess(Boolean) | |
requiresCotFinalReading(Boolean) | Whether this meter requires a final change of tenancy (COT) reading. |
serialNumber(String!) | |
smartDevices([SmartMeterDeviceType]) | |
smartGasMeter(SmartMeterDeviceType) | |
status(GasMeterStatus) | |
units(Int!) | |
updatedAt(DateTime) |
Example
{
"id": "abc123",
"serialNumber": "abc123",
"requiresAccess": true,
"isDigital": true,
"installationDate": "2020-01-01",
"lastInspectionDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"activeFrom": "2020-01-01",
"activeTo": "2020-01-01",
"meterPoint": GasMeterPointType,
"manufacturerCode": "abc123",
"modelName": "abc123",
"manufacturedYear": 1,
"meterType": "abc123",
"imperial": true,
"units": 1,
"location": "abc123",
"mechanism": "CR",
"correction": 1.0,
"locationDescription": "abc123",
"readingFactor": "1.0",
"instructions": "abc123",
"pulseValue": "1.0",
"linkCode": "abc123",
"collarFitted": "abc123",
"bypassFitted": "abc123",
"measuringCapacity": "1.0",
"status": "LI",
"operationalStatusDate": "2020-01-01",
"owner": "abc123",
"currentMeterAssetManager": "abc123",
"prepayLedgers": PrepayLedgersType,
"smartGasMeter": SmartMeterDeviceType,
"consumptionUnits": "abc123",
"requiresCotFinalReading": true,
"fuelType": "abc123",
"consumption": ConsumptionConnection,
"nodeId": "abc123",
"readings": GasMeterReadingConnectionTypeConnection,
"registers": [GasMeterRegisterType],
"hasAndAllowsHhReadings": true,
"smartDevices": [SmartMeterDeviceType],
"isTradPrepay": true,
"isReadyForTopup": true
}Fields
| Name | Description |
|---|---|
annualAmount(Int!) | Estimated cost in pence of the product over a year based on the quoted usage. |
gasTariffInformationLabel(ProductTariffInformationLabelStandard!) | Gas tariff information label (TIL) provides standardised information between suppliers about a tariff. |
id(Int) | The ID of the quoted product. |
label(String) | |
monthlyAmount(Int!) | Estimated cost in pence of the product per month based on the quoted usage. |
product(EnergyProductType!) | Energy product quoted. |
Example
{
"id": 1,
"label": "abc123",
"product": EnergyProductType,
"annualAmount": 1,
"monthlyAmount": 1,
"gasTariffInformationLabel": ProductTariffInformationLabelStandard
}Fields
| Name | Description |
|---|---|
agreement(GasAgreementType) | Current active agreement on this supply point. |
annualConsumption(GasConsumption!) | Annual consumption of the supply point. |
mprn(String) | The Mprn of the suply point. |
quotedProducts([GasQuotedProduct]!) | A list of quoted products and the corresponding tariff information. |
rateType(String!) | Gas has only STANDARD rate type. |
Example
{
"mprn": "abc123",
"agreement": GasAgreementType,
"annualConsumption": GasConsumption,
"quotedProducts": GasQuotedProduct,
"rateType": "abc123"
}Fields
| Name | Description |
|---|---|
description(String) | |
displayName(String) | |
fullName(String) | |
id(ID) | |
isExport(Boolean) | Whether the tariff is for exporting energy. |
preVatStandingCharge(Float) | |
preVatUnitRate(Float) | |
productCode(String) | |
standingCharge(Float) | |
tags([String]) | Tags associated with the tariff. |
tariffCode(String) | Describes a particular tariff by combining the product code, number of rates, available from date and GSP code. |
unitRate(Float) | |
unitRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
Example
{
"id": "abc123",
"displayName": "abc123",
"fullName": "abc123",
"description": "abc123",
"productCode": "abc123",
"standingCharge": 1.0,
"preVatStandingCharge": 1.0,
"tariffCode": "abc123",
"isExport": true,
"tags": ["abc123"],
"unitRate": 1.0,
"unitRateEpgApplied": true,
"preVatUnitRate": 1.0
}Fields
| Name | Description |
|---|---|
brandCode(String) | |
effectiveFrom(DateTime) | |
html(String) | The html of the terms and conditions document rendered as a JSON string. |
markdown(String) | The markdown text of the terms and conditions. |
name(String) | |
pdfUrl(String) | |
version(String) |
Example
{
"name": "abc123",
"pdfUrl": "abc123",
"brandCode": "abc123",
"markdown": "abc123",
"html": "abc123",
"version": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}GeneratePaymentAllocationNumber
Generate a PAN (Payment Allocation Number) for a smart meter. This can be used to add credit to the meter in a shop, if the meter is in prepayment mode.
The possible errors that can be raised are:
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
pan(String!) | The Payment Allocation Number routes payments made via a PSP (Payment Service Provider) to this device. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"pan": "abc123"
}GenericBackendScreen
A generic backend screen that can be used to define any type of screen.
Fields
| Name | Description |
|---|---|
name(String!) | The name of the screen. |
refreshFrequency(Int) | The refresh / polling frequency in milliseconds. |
screenData(String) | Serialized JSON representation of the screen. |
Example
{
"name": "abc123",
"refreshFrequency": 1,
"screenData": "abc123"
}GetEmbeddedSecretForNewPaymentInstruction
Get the client secret needed to create a new payment instruction using an embedded form.
The possible errors that can be raised are:
- KT-CT-4177: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
secretKey(String) |
Example
{
"possibleErrors": [PossibleErrorType],
"secretKey": "abc123"
}GetEmbeddedSecretForNewPaymentInstructionWithoutAccount
Get the client secret needed to create a new stored payment instruction using an embedded form.
This mutation is specifically for saving payment methods for future use, without immediately creating a payment instruction tied to a specific ledger or account.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
secretKey(String) | The client secret needed to create a new stored payment instruction. |
Example
{
"possibleErrors": [PossibleErrorType],
"secretKey": "abc123"
}GetHostedUrlForNewPaymentInstruction
Get external URL where the user can set up a payment instruction.
The possible errors that can be raised are:
- KT-CT-1128: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
url(String) | URL at which payment instruction can be set up. |
Example
{
"possibleErrors": [PossibleErrorType],
"url": "abc123"
}Fields
| Name | Description |
|---|---|
currency(String) | Currency. |
grossAmount(Float) | Gross amount. |
netAmount(Float) | Net amount. |
type(String) | Grant type. |
Example
{
"type": "abc123",
"netAmount": 1.0,
"grossAmount": 1.0,
"currency": "abc123"
}Fields
| Name | Description |
|---|---|
availableFrom(Date) | Product available from. |
availableTo(Date) | Product available to. |
code(String) | Product code. |
currency(String) | Currency. |
customerName(String) | Product customer name. |
description(String) | Product description. |
grossPricePerUnit(Float) | Gross price per unit. |
id(Int) | Product ID. |
internalName(String) | Product internal name. |
marketName(String) | Market of the product. |
notes(String) | Product notes. |
pricePerUnit(Float) | Price per unit. |
productType(GoodsProductType) | Type of the product. |
Example
{
"id": 1,
"marketName": "abc123",
"productType": GoodsProductType,
"code": "abc123",
"internalName": "abc123",
"customerName": "abc123",
"notes": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01",
"availableTo": "2020-01-01",
"pricePerUnit": 1.0,
"grossPricePerUnit": 1.0,
"currency": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([GoodsProductConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": GoodsProductConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}GoodsProductConnectionTypeEdge
A Relay edge containing a GoodsProductConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(GoodsProduct) | The item at the end of the edge |
Example
{
"node": GoodsProduct,
"cursor": "abc123"
}Example
{
"code": "abc123",
"internalName": "abc123"
}Fields
| Name | Description |
|---|---|
clientParams(JSONString) | Client parameters of the purchase. |
code(String) | Purchase code. |
goodsGrants([GoodsGrant]) | Grants that apply in this purchase. |
goodsSaleItems([GoodsSaleItem]) | Sale items in this purchase. |
ledgerId(ID) | Ledger ID associated to the purchase. Deprecated The 'ledgerId' field is deprecated. |
ledgerNumber(String) | The ledger number associated to the purchase. |
marketName(String!) | Market name of the purchase. |
marketParams(JSONString) | Market parameters of the purchase. |
Example
{
"code": "abc123",
"ledgerId": "abc123",
"ledgerNumber": "abc123",
"goodsSaleItems": [GoodsSaleItem],
"goodsGrants": [GoodsGrant],
"marketName": "abc123",
"marketParams": {"key": "value"},
"clientParams": {"key": "value"}
}Fields
| Name | Description |
|---|---|
code(String) | Code of the quote. |
goodsQuotedProducts([GoodsQuotedProduct]) | Products of this quote. |
hasQuoteExpired(Boolean) | Indicates whether or not the quote is expired. |
id(ID) | ID of the quote. |
quotedAt(DateTime) | Date and time when the quote was created. |
totalNetAmount(Int) | Total net amount of the quote in cents. |
Example
{
"id": "abc123",
"code": "abc123",
"totalNetAmount": 1,
"quotedAt": "2020-01-01T00:00:00.000Z",
"goodsQuotedProducts": [GoodsQuotedProduct],
"hasQuoteExpired": true
}Fields
| Name | Description |
|---|---|
currency(String) | Currency. |
netAmount(Int) | Net amount. |
numberOfUnits(Int) | Number of units. |
pricePerUnit(Int) | Price per unit. |
product(String) | Product code. |
Example
{
"product": "abc123",
"numberOfUnits": 1,
"pricePerUnit": 1,
"netAmount": 1,
"currency": "abc123"
}Fields
| Name | Description |
|---|---|
currency(String) | Currency. |
grossAmount(Float) | Gross amount. |
netAmount(Float) | Net amount. |
numberOfUnits(Int) | Number of units. |
pricePerUnit(Float) | Price per unit. |
product(String) | Product code. |
Example
{
"product": "abc123",
"numberOfUnits": 1,
"pricePerUnit": 1.0,
"netAmount": 1.0,
"grossAmount": 1.0,
"currency": "abc123"
}Example
{
"savedTrees": 1,
"savedCo2InKgs": 1
}GroupType
Represents a group of components presented as a choice.
Fields
| Name | Description |
|---|---|
customerDescription(String!) | Customer-facing description of the group. |
customerName(String!) | Customer-facing name for the group. |
identifier(ID!) | Unique identifier of the group. |
internalName(String!) | Internal name for the group. |
maxCardinality(Int!) | Maximum number of components that can be selected from this group. |
minCardinality(Int!) | Minimum number of components that must be selected from this group. |
offeringComponents([OfferingComponentType]) | Nested offering components within this group. |
productComponents([ProductComponentType]) | Product components within this group. |
Example
{
"identifier": "abc123",
"internalName": "abc123",
"customerName": "abc123",
"customerDescription": "abc123",
"minCardinality": 1,
"maxCardinality": 1,
"productComponents": [ProductComponentType],
"offeringComponents": [OfferingComponentType]
}GuaranteeOfOriginConfigurationType
Configuration for Guarantee of Origin term, defining percentage of energy from renewable sources.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
guaranteeOfOriginPercentage(GuaranteeOfOriginPercentage) | The percentage of the guarantee of origin. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"guaranteeOfOriginPercentage": "ZERO"
}Fields
| Name | Description |
|---|---|
agileCalculationInfo(AgileCalculationInfo) | Information on how agile unit rates have been calculated. The possible errors that can be raised are:
|
description(String) | |
displayName(String) | |
fullName(String) | |
id(ID) | |
isExport(Boolean) | Whether the tariff is for exporting energy. |
preVatStandingCharge(Float) | |
productCode(String) | |
standingCharge(Float) | |
tags([String]) | Tags associated with the tariff. |
tariffCode(String) | Describes a particular tariff by combining the product code, number of rates, available from date and GSP code. |
unitRates([UnitRate]) |
Example
{
"id": "abc123",
"displayName": "abc123",
"fullName": "abc123",
"description": "abc123",
"productCode": "abc123",
"standingCharge": 1.0,
"preVatStandingCharge": 1.0,
"tariffCode": "abc123",
"isExport": true,
"tags": ["abc123"],
"unitRates": [UnitRate],
"agileCalculationInfo": AgileCalculationInfo
}HardshipAgreementType
Represents a Hardship Agreement for a particular Account.
Fields
| Name | Description |
|---|---|
hardshipDetails(String!) | These are internal notes detailing the hardship. |
hardshipEntryReason(HardshipAgreementHardshipEntryReason) | |
hardshipType(HardshipAgreementHardshipType!) | |
id(ID!) | |
paymentPlanDetails(String!) | |
startDate(Date!) |
Example
{
"id": "abc123",
"hardshipType": "DEATH_IN_FAMILY",
"hardshipDetails": "abc123",
"hardshipEntryReason": "SELF_IDENTIFIED",
"paymentPlanDetails": "abc123",
"startDate": "2020-01-01"
}Fields
| Name | Description |
|---|---|
isHeld(Boolean) | Whether a statement is currently held. |
reason(String) | Reason for statement being held. |
Example
{
"isHeld": true,
"reason": "abc123"
}ImageType
A media element containing an image.
Fields
| Name | Description |
|---|---|
accessibilityHidden(Boolean) | Whether the element is hidden from view. |
accessibilityLabel(String) | Accessible description of the element. |
horizontalAlignment(Alignment) | The horizontal alignment of the media. |
id(ID) | Unique identifier of the object. |
mediaUrl(String!) | The resource URL of the media. |
typename(String) | The name of the object's type. |
width(ItemSizeType) | The measurement of the element. |
Example
{
"width": FractionSizeType,
"mediaUrl": "abc123",
"horizontalAlignment": "START",
"accessibilityHidden": true,
"accessibilityLabel": "abc123",
"id": "abc123",
"typename": "abc123"
}ImportReadingsConnection
Pagination for readings representing incoming utility flow e.g., usage or consumption..
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ImportReadingsEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ImportReadingsEdge,
"totalCount": 1,
"edgeCount": 1
}ImportReadingsEdge
A Relay edge containing a ImportReadings and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(Reading) | The item at the end of the edge |
Example
{
"node": Reading,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
escalationStartAt(DateTime) | The escalation start date for the product rate override configuration. |
indexCode(String) | The index code for the product rate override configuration. |
Example
{
"indexCode": "abc123",
"escalationStartAt": "2020-01-01T00:00:00.000Z"
}InitiateHostedStandalonePayment
Initiate a standalone payment and return the url where the customer can complete it.
The possible errors that can be raised are:
- KT-CT-1128: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-3943: Invalid ledger.
- KT-CT-3957: No collection method provided.
- KT-CT-3958: Provide either ledger ID or ledger number.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
payment(InitiateHostedStandalonePaymentOutput) | The details required to refer to and complete a hosted payment. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"payment": InitiateHostedStandalonePaymentOutput
}InitiateHostedStandalonePaymentOutput
Tokens required to collect and retrieve a standalone payment.
Fields
| Name | Description |
|---|---|
retrievalToken(String!) | The retrieval token for this standalone payment. |
url(String!) | The url for the customer to complete the payment. |
Example
{
"retrievalToken": "abc123",
"url": "abc123"
}InitiateProductSwitch
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4619: Quote with given code not found.
- KT-CT-4624: Unable to accept the given product code.
- KT-CT-4924: Unauthorized.
- KT-CT-4626: No product selected for the given quote code.
- KT-CT-4719: No supply point found for identifier provided.
- KT-CT-1509: Unable to create agreement.
- KT-CT-1507: Agreement product switch date is not within the acceptable range.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
productCode(String!) | The selected product for a specific product switch. |
switchDate(Date!) | The date at which the product switch becomes effective. |
Example
{
"possibleErrors": [PossibleErrorType],
"productCode": "abc123",
"switchDate": "2020-01-01"
}InitiateStandalonePayment
Initiate a standalone payment and return the client secret required to complete it.
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-4177: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-3943: Invalid ledger.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
payment(InitiateStandalonePaymentOutput) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"payment": InitiateStandalonePaymentOutput
}InitiateStandalonePaymentOutput
Tokens required to collect and retrieve a standalone payment.
Fields
| Name | Description |
|---|---|
retrievalToken(String!) | The retrieval token for this standalone payment. |
secretToken(String!) | The secret used to collect the payment. |
Example
{
"retrievalToken": "abc123",
"secretToken": "abc123"
}Fields
| Name | Description |
|---|---|
all([InkContactChannelIdentity!]!) | All contacts for this conversation. |
default(InkContactChannelIdentity) | The default contact for this conversation. |
Example
{
"default": InkContactChannelIdentity,
"all": InkContactChannelIdentity
}Fields
| Name | Description |
|---|---|
channel(InkCommunicationChannel!) | The channel of the contact. |
displayName(String!) | The name to display to the user. |
handle(String!) | The handle. |
Example
{
"channel": "EMAIL",
"handle": "abc123",
"displayName": "abc123"
}Fields
| Name | Description |
|---|---|
accountUsers([AccountUserType!]) | The account users on the conversation. |
buckets([InkBucket!]) | The buckets the conversation is currently in. |
contactChannelIdentities(InkContactChannelIdentities!) | The contact channel identities associated with this conversation. |
events(InkConversationEventsConnection!) | Conversation events. |
id(ID!) | |
status(InkConversationStatus!) | The status of the conversation. |
Example
{
"id": "abc123",
"status": "OPEN",
"contactChannelIdentities": InkContactChannelIdentities,
"accountUsers": [AccountUserType],
"events": InkConversationEventsConnection
}Fields
| Name | Description |
|---|---|
edges([InkConversationEventsEdge!]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
Example
{
"pageInfo": PageInfo,
"edges": InkConversationEventsEdge
}InkConversationEventsEdge
A Relay edge containing a InkConversationEvents and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(InkConversationEvent!) | The item at the end of the edge |
Example
{
"node": InkNewMessage,
"cursor": "abc123"
}InkEmail
This type wraps around the Message type for emails.
Fields
| Name | Description |
|---|---|
attachments([InkMessageAttachment!]!) | Attachments on the message. |
cc([String!]!) | CC recipients on the message. |
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
delivery(InkMessageDelivery!) | The delivery status of the message. |
direction(InkMessageDirection!) | The direction of the email. |
displayContent(String!) | The content of the message. |
fromHandle(String!) | From email address. |
isChannelEmail(Boolean!) | Is this an message an email. |
occurredAt(DateTime!) | The time the message was sent/received. |
subject(String!) | The email subject. |
tags([InkTag!]!) | All Tags associated with a message. |
toHandles([String!]) | The addresses that the message was sent to. |
Example
{
"direction": "INBOUND",
"toHandles": ["abc123"],
"fromHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"subject": "abc123",
"displayContent": "abc123",
"attachments": InkMessageAttachment,
"cc": "abc123",
"isChannelEmail": true
}InkGenericMessage
This message type is used for messages that belong to contact channels without a more granular message type.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
delivery(InkMessageDelivery!) | The delivery status. |
direction(InkMessageDirection!) | The direction of the message. |
displayContent(String!) | The content of the message. |
fromHandle(String!) | The identity the message was sent from. |
id(ID!) | The ID of the object |
occurredAt(DateTime!) | The time the message was sent/received at. |
toHandle(String!) | The identity the message was sent to. |
Example
{
"id": "abc123",
"direction": "INBOUND",
"fromHandle": "abc123",
"toHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"displayContent": "abc123"
}InkLine
This type wraps around the Message type for LINE message.
Fields
| Name | Description |
|---|---|
attachments([InkMessageAttachment!]!) | Attachments on the LINE message. |
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
delivery(InkMessageDelivery!) | The delivery status of the message. |
direction(InkMessageDirection!) | The direction of the message. |
fromHandle(String!) | From LINE id. |
isChannelLine(Boolean!) | Is this a LINE message. |
lineMessage(LineMessage!) | The line message content. |
occurredAt(DateTime!) | The time the message was sent/received. |
tags([InkTag!]!) | All Tags associated with a message. |
toHandle(String!) | To LINE id. |
Example
{
"direction": "INBOUND",
"fromHandle": "abc123",
"toHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"lineMessage": LineTextMessage,
"isChannelLine": true,
"attachments": InkMessageAttachment
}InkLiveChatConversation
Ink live chat
Fields
| Name | Description |
|---|---|
relayId(ID!) | The relay ID of the live chat conversation. |
Example
{
"relayId": "abc123"
}InkLiveChatMessage
This type wraps around the Message type for a Live Chat message.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
delivery(InkMessageDelivery!) | The delivery status. |
direction(InkMessageDirection!) | The direction of the message. |
displayContent(String!) | The content of the message. |
fromHandle(String!) | The identity the message was sent from. |
id(ID!) | The ID of the object |
occurredAt(DateTime!) | The time the message was sent/received at. |
toHandle(String!) | The identity the message was sent to. |
Example
{
"id": "abc123",
"direction": "INBOUND",
"fromHandle": "abc123",
"toHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"displayContent": "abc123"
}Fields
| Name | Description |
|---|---|
fetchUrl(String) | The url for fetching the attachment. |
filename(String!) | The filename. |
sizeInBytes(Int) | The size in bytes. |
Example
{
"filename": "abc123",
"fetchUrl": "abc123",
"sizeInBytes": 1
}Fields
| Name | Description |
|---|---|
status(InkMessageDeliveryStatus!) | Message delivery status. |
Example
{
"status": "PENDING"
}InkNewMessage
This types is used for both the message-received and message-sent conversation events.
Fields
| Name | Description |
|---|---|
message(InkMessage!) | The message. |
occurredAt(DateTime!) | The time the conversation event occurred. |
Example
{
"occurredAt": "2020-01-01T00:00:00.000Z",
"message": InkEmail
}InkPost
This type wraps around the Message type for Post.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
displayContent(String!) | The notes left when a message was uploaded. |
fromHandle(String!) | The from property id. |
isChannelPost(Boolean!) | Determine if the message is a post message. |
rawPlainTextContent(String!) | The content of the message. |
toHandle(String!) | The to property id. |
Example
{
"fromHandle": "abc123",
"toHandle": "abc123",
"displayContent": "abc123",
"rawPlainTextContent": "abc123",
"isChannelPost": true,
"contactChannelIdentity": InkContactChannelIdentity
}InkSMS
This type wraps around the Message type for SMS.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
delivery(InkMessageDelivery!) | The delivery status. |
direction(InkMessageDirection!) | The direction of the message. |
displayContent(String!) | The content of the message. |
fromHandle(String!) | The phone number the message was sent from. |
isChannelSms(Boolean!) | Is this an SMS message. |
occurredAt(DateTime!) | The time the message was sent/received at. |
tags([InkTag!]!) | All Tags associated with a message. |
toHandle(String!) | The phone number the message was sent to. |
Example
{
"direction": "INBOUND",
"fromHandle": "abc123",
"toHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"displayContent": "abc123",
"isChannelSms": true
}InkTwilioWhatsApp
This type wraps around the Message type for a Twilio WhatsApp message.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | Twilio WhatsApp message contact channel identity. |
delivery(InkMessageDelivery!) | Message delivery status. |
direction(InkMessageDirection!) | The direction of the message. |
fromHandle(String!) | From WhatsApp number. |
occurredAt(DateTime!) | Date when the conversation event was created. |
tags([InkTag!]!) | All Tags associated with a message. |
toHandle(String!) | To WhatsApp number. |
vendorId(String) | The vendor id. |
whatsappContent(WhatsAppTextMessage!) | Whatsapp message content. |
Example
{
"direction": "INBOUND",
"fromHandle": "abc123",
"toHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"vendorId": "abc123",
"whatsappContent": WhatsAppTextMessage
}InkWhatsApp
This type wraps around the Message type for WhatsApp message.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | Whatsapp message contact channel identity. |
delivery(InkMessageDelivery!) | Whatsapp message delivery status. |
direction(InkMessageDirection!) | The direction of the message. |
fromHandle(String!) | From WhatsApp phone number. |
isChannelWhatsapp(Boolean!) | Whether or not the message is a whatsapp message. |
occurredAt(DateTime!) | Date when the conversation event was created. |
tags([InkTag!]!) | All Tags associated with a message. |
toHandle(String!) | Whatsapp contact phone number. |
vendorId(String) | The vendor id. |
whatsappContent(WhatsAppTextMessage!) | Whatsapp message content. |
Example
{
"direction": "INBOUND",
"fromHandle": "abc123",
"toHandle": "abc123",
"delivery": InkMessageDelivery,
"contactChannelIdentity": InkContactChannelIdentity,
"occurredAt": "2020-01-01T00:00:00.000Z",
"vendorId": "abc123",
"whatsappContent": WhatsAppTextMessage,
"isChannelWhatsapp": true
}Fields
| Name | Description |
|---|---|
declaredNetCapacity(Decimal!) | |
extensionReference(String!) | |
installedCapacity(Decimal!) |
Example
{
"declaredNetCapacity": "1.0",
"extensionReference": "abc123",
"installedCapacity": "1.0"
}Fields
| Name | Description |
|---|---|
fitId(String) | FIT ID of the installation. |
fitTermsAgreedAt(DateTime) | Date fit terms were agreed to. |
inspectionAt(DateTime) | Meter inspection date. |
meters([FitMeterType]) | Details of any meters attached to the installation. |
propertyAddress(PropertyAddressType) | Address of the property linked to the installation. |
technologyType(TechnologyType!) | Installation technology type. |
Example
{
"fitId": "abc123",
"fitTermsAgreedAt": "2020-01-01T00:00:00.000Z",
"inspectionAt": "2020-01-01T00:00:00.000Z",
"meters": [FitMeterType],
"propertyAddress": PropertyAddressType,
"technologyType": "ANAEROBIC_DIGESTION"
}Fields
| Name | Description |
|---|---|
integerValue(Int!) | The integer value of the characteristic. |
Example
{
"integerValue": 1
}IntegerType
Graphene type object to represent integer values
Fields
| Name | Description |
|---|---|
integerValue(Int!) | Value of this field. |
Example
{
"integerValue": 1
}IntervalCostOfUsageType
Usage and cost between two points in time.
Fields
| Name | Description |
|---|---|
cost(Int) | Cost per time interval. |
endAt(DateTime) | Interval end datetime. |
startAt(DateTime) | Interval start datetime. |
usageKwh(Decimal) | Usage per time interval. |
Example
{
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"cost": 1,
"usageKwh": "1.0"
}Fields
| Name | Description |
|---|---|
accumulation(Decimal) | Deprecated The 'accumulation' field is deprecated. |
durationInSeconds(Int!) | The duration of the measurement. |
endAt(DateTime!) | The end datetime of the measurement. |
metaData(MeasurementsMetadataOutput) | This type will return more granular data about the measurement. |
readAt(DateTime!) | The datetime the measurement was taken. |
source(String!) | The data source of the measurement. |
startAt(DateTime!) | The start datetime of the measurement. |
unit(String!) | The unit of the measurement. |
value(Decimal!) | The value of the measurement. |
Example
{
"source": "abc123",
"metaData": MeasurementsMetadataOutput,
"value": "1.0",
"unit": "abc123",
"readAt": "2020-01-01T00:00:00.000Z",
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"durationInSeconds": 1,
"accumulation": "1.0"
}InvalidatePaymentInstruction
Invalidates a payment instruction.
The possible errors that can be raised are:
- KT-CT-3926: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
instruction(InvalidatePaymentInstructionOutput) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"instruction": InvalidatePaymentInstructionOutput
}InvalidatePaymentInstructionOutput
Output for invalidating an arbitrary payment instruction.
Fields
| Name | Description |
|---|---|
id(Int) |
Example
{
"id": 1
}InvalidatePreSignedToken
Invalidate a previously issued expiring/pre-signed token.
This mutation can be used to invalidate the token itself.
To invalidate tokens issued to a particular user, use InvalidatePreSignedTokensForUser mutation.
The possible errors that can be raised are:
- KT-CT-1129: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
token(PreSignedToken) |
Example
{
"possibleErrors": [PossibleErrorType],
"token": PreSignedToken
}InvoiceBillingDocumentConnectionTypeConnection
An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([InvoiceBillingDocumentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": InvoiceBillingDocumentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}InvoiceBillingDocumentConnectionTypeEdge
A Relay edge containing a InvoiceBillingDocumentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(InvoiceBillingDocumentType) | The item at the end of the edge |
Example
{
"node": InvoiceBillingDocumentType,
"cursor": "abc123"
}InvoiceBillingDocumentType
An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.
Fields
| Name | Description |
|---|---|
annulledBy(AnnulmentBillingDocumentType) | Billing document that annuls this invoice. |
documentDebtPosition(BillingDocumentPositionType) | Position of the billing document in the delinquent debt tracking system. |
firstIssued(DateTime) | First time the invoice was issued. |
id(Int) | Unique identifier for the invoice billing document. |
invoicedAmount(Int) | The invoiced amount of the billing document. |
number(String) | The unique billing document's reference that can be used for identifying it externally. |
paymentDueDate(Date) | The date due for payment for the invoice. |
pdfUrl(String) | URL to the PDF of the Invoice. |
totalCharges(InvoiceTotalType) | The total amounts for all charges on the invoice. |
totalCredits(InvoiceTotalType) | The total amounts for all credits on the invoice. |
transactions(BillTransactionConnectionTypeConnection) | Transactions on the invoice Arguments
The order in which to return the transactions. |
Example
{
"id": 1,
"firstIssued": "2020-01-01T00:00:00.000Z",
"pdfUrl": "abc123",
"annulledBy": AnnulmentBillingDocumentType,
"number": "abc123",
"invoicedAmount": 1,
"totalCharges": InvoiceTotalType,
"totalCredits": InvoiceTotalType,
"transactions": BillTransactionConnectionTypeConnection,
"documentDebtPosition": BillingDocumentPositionType,
"paymentDueDate": "2020-01-01"
}Fields
| Name | Description |
|---|---|
grossTotal(Int) | The gross total amount for the statement (in minor currency units). |
netTotal(Int) | The net total amount for the statement (in minor currency units). |
taxTotal(Int) | The total amount of tax on the statement (in minor currency units). |
Example
{
"netTotal": 1,
"taxTotal": 1,
"grossTotal": 1
}Fields
| Name | Description |
|---|---|
attachments(BillingAttachmentConnectionTypeConnection) | |
billType(BillTypeEnum) | The type of the bill. |
fromDate(Date) | The date of the bill is covered from. |
grossAmount(Int) | This field returns the total gross amount of the bill in pence. |
id(ID) | The ID of the bill. |
identifier(String) | The unique identifier of a bill. It will usually be present on the billing document itself. Note: a bill that hasn't been issued yet will not have an identifier; and not all issued bills will have an identifier assigned to them, in which case this will be null. |
isAnnulled(Boolean!) | Whether the billing document has been annulled. |
issuedDate(Date) | The date the bill was sent to the customer. |
representations(BillRepresentationConnectionTypeConnection) | |
temporaryUrl(String) | Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. Deprecated The 'temporaryUrl' field is deprecated. |
toDate(Date) | The date of the bill is covered to. |
totalCharges(InvoiceTotalType) | The total amounts for all charges on the invoice. |
totalCredits(InvoiceTotalType) | The total amounts for all credits on the invoice. |
totalPayments(Int) | The sum of all previous payments made that are included towards this invoice. |
transactions(BillTransactionConnectionTypeConnection) | Transactions on the given ledger. Arguments
The order in which to return the transactions.
Include only these specific transaction types in the result. |
Example
{
"id": "abc123",
"billType": "STATEMENT",
"fromDate": "2020-01-01",
"toDate": "2020-01-01",
"temporaryUrl": "abc123",
"issuedDate": "2020-01-01",
"attachments": BillingAttachmentConnectionTypeConnection,
"identifier": "abc123",
"grossAmount": 1,
"isAnnulled": true,
"totalCharges": InvoiceTotalType,
"totalCredits": InvoiceTotalType,
"totalPayments": 1,
"transactions": BillTransactionConnectionTypeConnection,
"representations": BillRepresentationConnectionTypeConnection
}ItemProfileType
Represents the characteristics and configuration of an ordered item.
Fields
| Name | Description |
|---|---|
characteristics(JSONString) | The characteristic values for this item profile. |
Example
{
"characteristics": {"key": "value"}
}JoinConsumerDevice
The possible errors that can be raised are:
- KT-GB-4053: Fuel type should not be specified for Alt HAN device.
- KT-GB-4031: Error sending the request to join the device to the CHF.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
requestReference(String) | The reference of the join PPMID, IHD, CAD or Alt HAN request in Kraken. |
Example
{
"possibleErrors": [PossibleErrorType],
"requestReference": "abc123"
}JoinSupplierAcceptTermsAndConditions
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4501: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
success(Boolean) | Indicator that the mutation has completed successfully. |
Example
{
"possibleErrors": [PossibleErrorType],
"success": true
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([JoinSupplierProcessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": JoinSupplierProcessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}JoinSupplierProcessConnectionTypeEdge
A Relay edge containing a JoinSupplierProcessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(JoinSupplierProcessType) | The item at the end of the edge |
Example
{
"node": JoinSupplierProcessType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
affiliateLink(AffiliateLinkType) | Affiliate link for the join supplier journey. |
note(String) | The note associated with this join supplier process data. |
requestedAt(DateTime!) | When the journey was requested. |
salesChannel(String) | Sales channel. |
salesSubchannel(String) | Sales subchannel. |
supplyPointContexts([SupplyPointContextDataInterface]) | The supply point context data. |
Example
{
"requestedAt": "2020-01-01T00:00:00.000Z",
"salesChannel": "abc123",
"salesSubchannel": "abc123",
"supplyPointContexts": SupplyPointContextDataInterface,
"note": "abc123"
}JoinSupplierProcessType
Represents a Join Supplier process.
Fields
| Name | Description |
|---|---|
currentProcessData(JoinSupplierProcessDataType) | The current process data associated with the Join Supplier process. |
id(ID) | The ID or the primary key of the lifecycle process. |
number(String) | The unique identifier of the process. |
status(LifecycleSupplyPointProcessStatus) | The status of the process. |
supplyPoints(SupplyPointConnectionTypeConnection!) | The supply points associated with the process. |
Example
{
"id": "abc123",
"status": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection,
"number": "abc123",
"currentProcessData": JoinSupplierProcessDataType
}Fields
| Name | Description |
|---|---|
identifier(String) | The unique identifier for the sales record. |
opportunityNumber(String) | The opportunity code associated with the sales record. |
Example
{
"identifier": "abc123",
"opportunityNumber": "abc123"
}Fields
| Name | Description |
|---|---|
chargePointMake(String) | |
chargePointModel(String) | |
chargePointPowerInKw(Decimal) | |
createdAt(DateTime) | |
hasToken(Boolean) | |
krakenflexDeviceId(String) | |
provider(ProviderChoices) | The third party that provides control over this device. |
stateOfChargeLimit(StateOfChargeLimit) | Maximum state of charge (SoC) limit telemetry. |
status(String) | |
suspended(Boolean) | |
testDispatchFailureReason(TestDispatchAssessmentFailureReason) | The reason for the most recent failed test dispatch (if any). |
vehicleBatterySizeInKwh(Decimal) | |
vehicleMake(String) | |
vehicleModel(String) |
Example
{
"krakenflexDeviceId": "abc123",
"provider": "BYD",
"vehicleMake": "abc123",
"vehicleModel": "abc123",
"vehicleBatterySizeInKwh": "1.0",
"chargePointMake": "abc123",
"chargePointModel": "abc123",
"chargePointPowerInKw": "1.0",
"status": "abc123",
"suspended": true,
"hasToken": true,
"createdAt": "2020-01-01T00:00:00.000Z",
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}Fields
| Name | Description |
|---|---|
affiliateOrganisationName(String) | The name of the affiliate organisation associated with the sales record. |
identifier(String) | The unique identifier for the sales record. |
salesChannel(String) | The sales channel associated with the sales record. |
Example
{
"identifier": "abc123",
"salesChannel": "abc123",
"affiliateOrganisationName": "abc123"
}KrakenVersionType
Information about what version of Kraken is being executed by this service.
Fields
| Name | Description |
|---|---|
SHA(String) | The git commit SHA that is being executed. |
number(String) | The version number that is being executed. |
Example
{
"number": "abc123",
"SHA": "abc123"
}LatePaymentFeesType
Represents later payment fees to be applied in a contract.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
flatFeeAmount(Decimal) | The flat fee amount for late payment. |
identifier(NonEmptyString) | The identifier of the term. |
interestPolicyName(String) | The interest policy to use for late payment fee calculations. |
isVariable(Boolean) | Whether the term is variable. |
percentageFee(Decimal) | The percentage fee for late payment. |
percentageIntervalDays(Decimal) | The interval in days for the percentage fee (1=daily, 7=weekly, 30=monthly, 365=yearly). |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"flatFeeAmount": "1.0",
"percentageFee": "1.0",
"percentageIntervalDays": "1.0",
"interestPolicyName": "abc123"
}Fields
| Name | Description |
|---|---|
blockListHits([String]) | List of block list hits found. |
valid(Boolean) | Indicates if the block list validation passed. |
Example
{
"valid": true,
"blockListHits": ["abc123"]
}Example
{
"leadId": "abc123",
"number": "abc123"
}LeadsEdge
A Relay edge containing a Leads and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(Lead) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([LeavePropertyProcessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": LeavePropertyProcessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}LeavePropertyProcessConnectionTypeEdge
A Relay edge containing a LeavePropertyProcessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(LeavePropertyProcessType) | The item at the end of the edge |
Example
{
"node": LeavePropertyProcessType,
"cursor": "abc123"
}LeavePropertyProcessType
Represents a Leave Property process.
Fields
| Name | Description |
|---|---|
id(ID) | The ID or the primary key of the lifecycle process. |
status(LifecycleSupplyPointProcessStatus) | The status of the process. |
supplyPoints(SupplyPointConnectionTypeConnection!) | The supply points associated with the process. |
Example
{
"id": "abc123",
"status": "PENDING",
"supplyPoints": SupplyPointConnectionTypeConnection
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([LeaveSupplierProcessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": LeaveSupplierProcessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}LeaveSupplierProcessConnectionTypeEdge
A Relay edge containing a LeaveSupplierProcessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(LeaveSupplierProcessType) | The item at the end of the edge |
Example
{
"node": LeaveSupplierProcessType,
"cursor": "abc123"
}LeaveSupplierProcessType
Represents a Leave Supplier process. Conceptually, it contains information related to supply points that are associated with a Leave Supplier journey.
Fields
| Name | Description |
|---|---|
id(ID) | The ID or the primary key of the lifecycle process. |
number(String) | The unique identifier of the process. |
status(LifecycleSupplyPointProcessStatus) | The status of the process. |
supplyPoints(SupplyPointConnectionTypeConnection!) | The supply points associated with the process. |
Example
{
"id": "abc123",
"status": "PENDING",
"number": "abc123",
"supplyPoints": SupplyPointConnectionTypeConnection
}LedgerType
Ledgers provide the foundation of Kraken’s bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular Kraken account.
Fields
| Name | Description |
|---|---|
acceptsPayments(Boolean) | Whether payments can be posted onto this ledger. |
affectsAccountBalance(Boolean) | Whether this ledger's balance contributes to the account's balance. |
agreements(AgreementConnection) | The charged supply agreements of the ledger. |
amountOwedByCustomer(Int) | The amount owed from the customer perspective. A positive value implies the customer owes the business, while a negative amount implies the customer is in credit. |
balance(Int) | The current balance on the ledger in minor units of currency. |
creditTransferPermissionsData(CreditTransferPermissionsDataType) | Permissions data for credit transfers involving the given ledger. |
currentDirectDebitInstructionInvalidatedWithVendor(Boolean) | True if the current direct debit instruction has been invalidated by vendor. False otherwise. |
debtLedger(LedgerType) | The debt ledger assigned to this ledger. |
id(ID) | Deprecated The 'ledgerId' field is deprecated. |
invoices(InvoiceBillingDocumentConnectionTypeConnection) | An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time. Arguments
Exclude invoices that were issued by external systems. Does not apply to legacy bills.
The id of the invoice.
The order the invoices should be returned in. |
ledgerType(String) | The ledger type code. |
name(String) | The display name of the ledger. |
number(String) | The canonical name of the ledger. |
paymentAdequacy(PaymentAdequacyDetailsType) | Override Field to add additional attributes and extend description with possible_errors |
paymentPreferenceAtTime(PaymentPreferenceUnion) | The customer's preferred payment method at a point in time. The possible errors that can be raised are:
Arguments
The time at which to know the payment preference. |
paymentPreferences(PaymentPreferenceConnectionTypeConnection) | The customer's preferred payment methods. |
paymentsWithNonConcludedRePresentation(PaymentWithNonConcludedRePresentationConnectionTypeConnection) | Payments with non-concluded re-presentation. |
refundRequests(RefundRequestConnectionTypeConnection) | Refund requests for a given ledger. |
repaymentRequests(RepaymentRequestConnectionTypeConnection) | Repayment requests for a given ledger. |
statements(StatementBillingDocumentConnectionTypeConnection) | A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series. |
supportsInvoices(Boolean) | Is it possible for this ledger to contain invoices. |
supportsStatements(Boolean) | Is it possible for this ledger to contain statements. |
transactions(TransactionConnectionTypeConnection) | Transactions on the given ledger. Arguments
Optional date representing the beginning of the postedDate range filter. This date value is inclusive.
The order in which to return the transactions.
Optional date representing the end of the postedDate range filter. This date value is exclusive.
Include only these specific transaction types in the result. |
usablePaymentInstructions(PaymentInstructionConnectionTypeConnection) | The usable payment instructions for this ledger. |
Example
{
"id": "abc123",
"name": "abc123",
"number": "abc123",
"ledgerType": "abc123",
"balance": 1,
"amountOwedByCustomer": 1,
"affectsAccountBalance": true,
"statements": StatementBillingDocumentConnectionTypeConnection,
"invoices": InvoiceBillingDocumentConnectionTypeConnection,
"transactions": TransactionConnectionTypeConnection,
"repaymentRequests": RepaymentRequestConnectionTypeConnection,
"refundRequests": RefundRequestConnectionTypeConnection,
"acceptsPayments": true,
"paymentAdequacy": PaymentAdequacyDetailsType,
"creditTransferPermissionsData": CreditTransferPermissionsDataType,
"paymentPreferences": PaymentPreferenceConnectionTypeConnection,
"paymentPreferenceAtTime": PreferredInstruction,
"debtLedger": LedgerType,
"agreements": AgreementConnection,
"usablePaymentInstructions": PaymentInstructionConnectionTypeConnection,
"supportsStatements": true,
"supportsInvoices": true,
"currentDirectDebitInstructionInvalidatedWithVendor": true,
"paymentsWithNonConcludedRePresentation": PaymentWithNonConcludedRePresentationConnectionTypeConnection
}Fields
| Name | Description |
|---|---|
joinSupplierProcesses(JoinSupplierProcessConnectionTypeConnection) | List of JoinSupplierProcess for an account. |
leavePropertyProcesses(LeavePropertyProcessConnectionTypeConnection) | List of LeavePropertyProcess for an account. |
leaveSupplierProcesses(LeaveSupplierProcessConnectionTypeConnection) | List of LeaveSupplierProcess for an account. |
occupyPropertyProcesses(OccupyPropertyProcessConnectionTypeConnection) | List of OccupyPropertyProcess for an account. |
Example
{
"leaveSupplierProcesses": LeaveSupplierProcessConnectionTypeConnection,
"joinSupplierProcesses": JoinSupplierProcessConnectionTypeConnection,
"occupyPropertyProcesses": OccupyPropertyProcessConnectionTypeConnection,
"leavePropertyProcesses": LeavePropertyProcessConnectionTypeConnection
}LifecycleType
Represents the lifecycle of an offering.
Fields
| Name | Description |
|---|---|
activatedAt(DateTime) | DateTime when the offering was activated. |
code(String!) | Unique lifecycle code. |
maxVersion(Int!) | Maximum version number reached. |
previousOffering(ID) | Identifier of the previous version of this offering. |
status(CatalogComponentStatus!) | Current status of the offering. |
version(Int!) | Current version of the offering. |
Example
{
"code": "abc123",
"version": 1,
"maxVersion": 1,
"previousOffering": "abc123",
"status": "DRAFT",
"activatedAt": "2020-01-01T00:00:00.000Z"
}LineCommonError
A base error type. Should be used for general application or lower level errors.
Fields
| Name | Description |
|---|---|
field(String) | The field that for which this error should be associated. |
message(String!) | The error message to display to the user. |
Example
{
"message": "abc123",
"field": "abc123"
}LineEmoji
A LINE specific emoji object. refs: https://developers.line.biz/en/reference/messaging-api/#text-message
Fields
| Name | Description |
|---|---|
emojiId(String!) | The emoji id. |
index(Int!) | The location of the emoji in the message. |
length(Int) | The length of the emoji string placeholder. |
productId(String!) | The product id. |
Example
{
"index": 1,
"length": 1,
"productId": "abc123",
"emojiId": "abc123"
}LineItemConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edges([LineItemEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
Example
{
"pageInfo": PageInfo,
"edges": LineItemEdge
}LineItemEdge
A Relay edge containing a LineItem and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(LineItemType) | The item at the end of the edge |
Example
{
"node": LineItemType,
"cursor": "abc123"
}LineItemType
A record of spend on consumption between two points in time.
Fields
| Name | Description |
|---|---|
endAt(DateTime) | |
itemType(String) | |
netAmount(Decimal) | |
numberOfUnits(Decimal) | |
settlementUnit(String) | |
startAt(DateTime) |
Example
{
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"netAmount": "1.0",
"numberOfUnits": "1.0",
"itemType": "abc123",
"settlementUnit": "abc123"
}LineLinkRedirectResponse
Link Successful. Complete link process with LINE.
Fields
| Name | Description |
|---|---|
redirectUrl(String!) |
Example
{
"redirectUrl": "abc123"
}Fields
| Name | Description |
|---|---|
keywords([String!]!) | Keywords describing the sticker. |
packageId(String!) | Sticker package id. |
resourceType(String!) | Sticker resource type. |
stickerId(String!) | Sticker id. |
text(String!) | Text used to customize some stickers. |
Example
{
"packageId": "abc123",
"stickerId": "abc123",
"resourceType": "abc123",
"keywords": "abc123",
"text": "abc123"
}Fields
| Name | Description |
|---|---|
displayContent(String!) | The display content. |
emojis([LineEmoji!]) | The emojis in the message. |
Example
{
"displayContent": "abc123",
"emojis": [LineEmoji]
}LinkActionType
An action which navigates to any URL.
Fields
| Name | Description |
|---|---|
id(ID) | Unique identifier of the object. |
typeName(String) | The name of the action object's type. |
typename(String) | The name of the object's type. |
url(String!) | The URL to navigate to. |
Example
{
"typeName": "abc123",
"id": "abc123",
"typename": "abc123",
"url": "abc123"
}LinkTokenNotFound
Returned when no LineAccountLink record matching the parameters exists.
Fields
| Name | Description |
|---|---|
type(LineLinkErrorType!) | The type of error that occurred. |
Example
{
"type": "NO_MATCHING_LINE_LINK"
}Fields
| Name | Description |
|---|---|
averageMonthlyCharge(Int) | The combined average montly cost for all markets based on usage. |
balanceAdjustment(Int) | Suggested temporary adjustment to ongoing usage amount to cover debt or overpayment. |
consumption(ConsumptionBreakdownConnectionTypeConnection) | Breakdown of customer's estimated or real usage per market and per month. |
currentBalance(Int) | The balance the ledger has at the time of review. |
existingMonthlyAmount(Int) | The amount the customer is paying monthly at the time of the review. |
reviewedOn(Date) | The date that we used to calculate the review of the ledger. |
suggestedNewMonthlyAmount(Int) | The suggested monthly payment amount in minor currency following the payment adequacy review. |
targetBalance(Int) | The balance we expect the ledger to have at the end period of the review. |
Example
{
"suggestedNewMonthlyAmount": 1,
"consumption": ConsumptionBreakdownConnectionTypeConnection,
"averageMonthlyCharge": 1,
"existingMonthlyAmount": 1,
"balanceAdjustment": 1,
"currentBalance": 1,
"targetBalance": 1,
"reviewedOn": "2020-01-01"
}Fields
| Name | Description |
|---|---|
currentBalance(Int) | How much balance we expect the account to have at this time of year. |
estimatedConsumption([ConsumptionBreakdown]) | Breakdown of customer's usage per source and per month. |
recommendedPayment(PaymentBreakdown) | The suggested monthly payment amount in pence following the payment adequacy review. |
reviewedOn(Date) | The date that we used to calculate the review of the account. |
targetBalance(Int) | How much balance we expect the account to have at this time of year. |
Example
{
"recommendedPayment": PaymentBreakdown,
"currentBalance": 1,
"targetBalance": 1,
"estimatedConsumption": [ConsumptionBreakdown],
"reviewedOn": "2020-01-01"
}LoyaltyPointLedgerEntryType
A Loyalty Point ledger entry.
Fields
| Name | Description |
|---|---|
accountNumber(String) | The account number associated with the entry. |
balanceBroughtForward(String) | Equal to the |
balanceCarriedForward(String) | Equal to the |
id(ID!) | |
idempotencyKey(UUID) | A unique idempotency key for the operation. |
ledgerType(String) | The |
postedAt(DateTime) | The date the points were added to the ledger. |
reasonCode(String) | The reason the entry was being added. |
value(String) | The value of the charge or credit. |
Example
{
"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"
}Fields
| Name | Description |
|---|---|
isEligible(Boolean) | Whether the account is eligible to join the loyalty points program. |
primaryIneligibilityReason(String) | The primary reason for ineligibility, if any. |
Example
{
"isEligible": true,
"primaryIneligibilityReason": "abc123"
}Fields
| Name | Description |
|---|---|
mpxn(String!) | Identifier for meter point. |
products([EnergyProductType]) | List of available products for the meter point. |
Example
{
"mpxn": "abc123",
"products": [EnergyProductType]
}MarketSupplyQuotedProductConnectionTypeConnection
Pagination for quoted products.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([MarketSupplyQuotedProductConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": MarketSupplyQuotedProductConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}MarketSupplyQuotedProductConnectionTypeEdge
A Relay edge containing a MarketSupplyQuotedProductConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(MarketSupplyQuotedProductType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}MarketSupplyQuotedSupplyPointConnectionTypeConnection
Pagination for quoted supply points.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([MarketSupplyQuotedSupplyPointConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": MarketSupplyQuotedSupplyPointConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}MarketSupplyQuotedSupplyPointConnectionTypeEdge
A Relay edge containing a MarketSupplyQuotedSupplyPointConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(MarketSupplyQuotedSupplyPointType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
errors([ErrorType]) | A list of any errors that occurred while running this mutation. |
token(String) | A Kraken Token that can be used to authenticate to the API, masquerading as the desired user. |
Example
{
"token": "abc123",
"errors": [ErrorType]
}Fields
| Name | Description |
|---|---|
amount(Int) | The maximum amount available to be requested as a refund. |
reasonToRecommendAmount(MaximumRefundReasonChoices) | The reason why a specific amount is the maximum available to be requested as a refund. |
recommendedBalance(Int) | The recommended minimum balance an account should have when asking for a refund. |
Example
{
"amount": 1,
"reasonToRecommendAmount": "MAX_AVAILABLE_AMOUNT",
"recommendedBalance": 1
}MeasurementConnection
Pagination for measurements.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([MeasurementEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": MeasurementEdge,
"totalCount": 1,
"edgeCount": 1
}MeasurementEdge
A Relay edge containing a Measurement and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(MeasurementInterface) | The item at the end of the edge |
Example
{
"node": MeasurementInterface,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
metaData(MeasurementsMetadataOutput) | This type will return more granular data about the measurement. |
readAt(DateTime!) | The datetime the measurement was taken. |
source(String!) | The data source of the measurement. |
unit(String!) | The unit of the measurement. |
value(Decimal!) | The value of the measurement. |
Example
{
"source": "abc123",
"metaData": MeasurementsMetadataOutput,
"value": "1.0",
"unit": "abc123",
"readAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
extras([ExtrasOutput]) | Extras relating to the parent measurement node. |
statistics([StatisticOutput]) | Statistics relating to the parent measurement node. |
utilityFilters(UtilityFiltersOutput) | The source information relating to the parent measurement node. |
Example
{
"utilityFilters": ElectricityFiltersOutput,
"statistics": [StatisticOutput],
"extras": [ExtrasOutput]
}MessageEdge
A Relay edge containing a Message and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(Message) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
key(String!) | The key for the metadata. |
value(JSONString) | The metadata value. |
Example
{
"key": "abc123",
"value": {"key": "value"}
}Fields
| Name | Description |
|---|---|
deviceType(String) | The type of MFA device. |
isConfirmed(Boolean) | Whether the MFA device is confirmed or not. |
Example
{
"deviceType": "abc123",
"isConfirmed": true
}MinimumContractLengthType
Represents the minimum term of a contract.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
length(Int) | The minimum length of the contract. |
type(NonEmptyString) | The type of the term. |
unitOfTime(String) | The unit of time for the contract length. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"length": 1,
"unitOfTime": "abc123"
}ModelYearRange
Range of model years supported for a device model.
If end year is null, all years after start year are supported.
Fields
| Name | Description |
|---|---|
endYear(Int) | Latest year model is supported. If null, all years after start year are supported. |
startYear(Int!) | Earliest year model is supported. |
Example
{
"startYear": 1,
"endYear": 1
}Fields
| Name | Description |
|---|---|
amount(Decimal!) | |
currency(String!) | The ISO-4217 code for the currency. |
Example
{
"amount": "1.0",
"currency": "abc123"
}NotifiableApplicationType
Represents an application that can receive push notifications.
Fields
| Name | Description |
|---|---|
bundleId(String!) | Bundle ID or package name of the app. |
description(String!) | |
externalProjectId(String!) | Project ID used in push notification delivery service. (Currently: AWS Pinpoint) |
externalProvider(NotifiableApplicationExternalProvider!) | |
id(ID!) | |
name(String!) | Human readable name for the app. |
pushNotificationBindings([PushNotificationBindingType!]!) | |
service(NotifiableApplicationService!) |
Example
{
"id": "abc123",
"name": "abc123",
"bundleId": "abc123",
"service": "GCM",
"externalProvider": "PINPOINT",
"externalProjectId": "abc123",
"description": "abc123",
"pushNotificationBindings": PushNotificationBindingType
}OCPPAuthentication
Open Charge Point Protocol (OCPP) authentication.
Take the given OCPP authentication details and trigger OCPP authentication.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4310: Unable to register OCPP authentication details.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}Example
{
"url": "abc123",
"username": "abc123"
}ObtainKrakenJSONWebToken
The unifying approach used to get a Kraken token (JWT: JSON Web Token) with different types of input.
The currently supported inputs are: - account user email/password combination - account user API key - organization live secret key - pre-signed key - refresh token
The possible errors that can be raised are:
- KT-CT-1135: Invalid data.
- KT-CT-1134: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
payload(GenericScalar!) | The body payload of the Kraken Token. The same information can be obtained by using JWT decoding tools on the value of the |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
refreshExpiresIn(Int) | A Unix timestamp representing the point in time at which the refresh token will expire. |
refreshToken(String) | A token that can be used in a subsequent call to |
token(String!) | The Kraken Token. Can be used in the |
Example
{
"possibleErrors": [PossibleErrorType],
"token": "abc123",
"payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"refreshToken": "abc123",
"refreshExpiresIn": 1
}OccupancyPeriodType
An occupancy period for a property.
Fields
| Name | Description |
|---|---|
accountNumber(String) | Account number associated with this occupancy period. |
effectiveFrom(DateTime) | Date the occupancy period is effective from. |
effectiveTo(DateTime) | Date the occupancy period is effective to. |
id(ID) | |
isOccupier(Boolean) | Whether the account associated with the occupancy period is an occupier account type. |
Example
{
"id": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z",
"effectiveTo": "2020-01-01T00:00:00.000Z",
"isOccupier": true,
"accountNumber": "abc123"
}Fields
| Name | Description |
|---|---|
account(String!) | |
address(String!) | |
date(String!) | |
occupyToken(String!) | A Kraken Token that can be used to call the 'occupy' mutation for the account. |
propertyId(Int!) |
Example
{
"account": "abc123",
"address": "abc123",
"date": "abc123",
"propertyId": 1,
"occupyToken": "abc123"
}Fields
| Name | Description |
|---|---|
account(AccountInterface) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"account": AccountInterface
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([OccupyPropertyProcessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": OccupyPropertyProcessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}OccupyPropertyProcessConnectionTypeEdge
A Relay edge containing a OccupyPropertyProcessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(OccupyPropertyProcessType) | The item at the end of the edge |
Example
{
"node": OccupyPropertyProcessType,
"cursor": "abc123"
}OccupyPropertyProcessType
Represents a Occupy Property process.
Fields
| Name | Description |
|---|---|
id(ID) | The ID or the primary key of the lifecycle process. |
occupyAt(DateTime!) | |
status(LifecycleSupplyPointProcessStatus) | The status of the process. |
supplyPoints(SupplyPointConnectionTypeConnection!) | The supply points associated with the process. |
Example
{
"id": "abc123",
"status": "PENDING",
"occupyAt": "2020-01-01T00:00:00.000Z",
"supplyPoints": SupplyPointConnectionTypeConnection
}Fields
| Name | Description |
|---|---|
createdAt(DateTime) | The date and time when Offer Group was created. |
createdBy(ActorType) | The Actor who created the Offer Group. |
identifier(ID) | Identifier of the Offer Group. |
offers([OfferType]) | One or more Offers contained in the Offer Group. |
Fields
| Name | Description |
|---|---|
acceptedAt(DateTime) | The date and time when Offer was accepted. |
createdBy(ActorType) | The Actor who created the Offer. |
description(String) | Description of the Offer. |
identifier(ID) | Identifier of the Offer. |
quote(QuoteType_) | The Quote this Offer is related to. |
rejectedAt(DateTime) | The date and time when Offer was rejected. |
validFrom(DateTime) | The date and time from which the Offer becomes valid. |
validTo(DateTime) | The date and time until which the Offer remains valid. |
Example
{
"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
}OfferingComponentType
Represents a nested offering component within an offering.
Fields
| Name | Description |
|---|---|
component(OfferingType!) | The offering associated with this component. |
identifier(ID!) | Unique identifier of the component. |
initialQuantity(Int!) | Initial/default quantity for this component. |
maximumQuantity(Int!) | Maximum quantity of this component that can be selected. |
minimumQuantity(Int!) | Minimum quantity of this component that can be selected. |
Example
{
"identifier": "abc123",
"minimumQuantity": 1,
"maximumQuantity": 1,
"initialQuantity": 1,
"component": OfferingType
}OfferingType
Represents a product offering in the catalog.
Fields
| Name | Description |
|---|---|
customerDescription(String!) | Customer-facing description of the offering. |
customerName(String!) | Customer-facing name of the offering. |
groups([GroupType]) | Groups of components with cardinality constraints. |
identifier(ID!) | Unique identifier of the offering. |
internalName(String!) | Internal name used to identify the offering. |
isActive(Boolean!) | Whether this offering is currently active. |
isAmendable(Boolean!) | Whether this offering can be amended (only DRAFT offerings). |
isDraft(Boolean!) | Whether this offering is in draft status. |
isExpired(Boolean!) | Whether this offering has expired. |
isFirstDraft(Boolean!) | Whether this is the first draft version (version 1, not yet activated). |
isLatestVersion(Boolean!) | Whether this is the latest version of the offering. |
isSellable(Boolean!) | Whether this offering can be sold stand-alone. |
lifecycle(LifecycleType!) | Lifecycle information for this offering. |
offeringComponents([OfferingComponentType]) | Nested offering components included in this offering. |
productComponents([ProductComponentType]) | Product components included in this offering. |
tags([TagType]) | Tags associated with this offering. |
termTemplateComponents([TermTemplateComponentType]) | Contract term template components included in this offering. |
Example
{
"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
}OnSiteJobsAppointmentActionConnectionTypeEdge
A Relay edge containing a OnSiteJobsAppointmentActionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(OnSiteJobsAppointmentActionType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}OnSiteJobsAppointmentConnectionTypeEdge
A Relay edge containing a OnSiteJobsAppointmentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(OnSiteJobsAppointmentType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}OnSiteJobsAssetConnectionTypeEdge
A Relay edge containing a OnSiteJobsAssetConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(OnSiteJobsAssetType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}OnSiteJobsJobTypeType
Represents a job type available for on-site jobs requests.
Fields
| Name | Description |
|---|---|
id(String!) | The unique identifier for the job type. |
name(String!) | The human-readable name of the job type. |
Example
{
"id": "abc123",
"name": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([OnSiteJobsRequestActionConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": OnSiteJobsRequestActionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}OnSiteJobsRequestActionConnectionTypeEdge
A Relay edge containing a OnSiteJobsRequestActionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(OnSiteJobsRequestActionType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}OnSiteJobsRequestConnectionTypeEdge
A Relay edge containing a OnSiteJobsRequestConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(OnSiteJobsRequestType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Example
{
"id": 1,
"name": "abc123",
"teamName": "abc123",
"isOffline": true,
"isAcceptingCalls": true
}Fields
| Name | Description |
|---|---|
assignedToTeam(String) | Team assigned to this opportunity. |
assignedToUser(String) | User assigned to this opportunity. |
consents([ConsentOutput]) | List of consents for the opportunity. |
email(String) | Lead legal contact email. |
extraDetails(JSONString) | Extra details about the opportunity. |
funnel(SalesFunnel) | The sales funnel this opportunity is in. |
leadNumber(String) | Lead number. |
leadType(String) | Lead type. |
name(String) | Lead legal name. |
number(String) | Opportunity number. |
offerGroupId(String) | Offer group ID. |
opportunityAddress(AddressOutput) | Opportunity address. |
opportunityId(ID) | Opportunity ID. |
opportunityRichAddress(RichAddressType) | Opportunity rich address. |
phoneNumber(String) | Lead legal contact phone number. |
productOfferingId(String) | Product offering ID. |
salesChannel(String) | Sales channel. |
stage(String) | Current stage in a funnel. |
Example
{
"opportunityId": "abc123",
"leadNumber": "abc123",
"leadType": "abc123",
"name": "abc123",
"email": "abc123",
"phoneNumber": "abc123",
"number": "abc123",
"stage": "abc123",
"extraDetails": {"key": "value"},
"opportunityAddress": AddressOutput,
"opportunityRichAddress": RichAddressType,
"salesChannel": "abc123",
"assignedToTeam": "abc123",
"assignedToUser": "abc123",
"productOfferingId": "abc123",
"offerGroupId": "abc123",
"consents": [ConsentOutput]
}OrderDetailsType
Represents the details of an Order.
Fields
| Name | Description |
|---|---|
order(OrderType) | The order details. The possible errors that can be raised are:
|
resources([OrderResource]) | The resources associated with the order. The possible errors that can be raised are:
|
status(OrderStatus) | The current status of the order. The possible errors that can be raised are:
|
Example
{
"status": "PENDING"
}OrderItemType
Represents an item being ordered.
Fields
| Name | Description |
|---|---|
code(NonEmptyString) | The code identifying the item. |
marketData(JSONString) | Market-specific data for the item. |
profile(ItemProfileType) | The profile containing characteristics of the item. |
Example
{
"profile": ItemProfileType,
"marketData": {"key": "value"},
"code": NonEmptyString
}OrderLineDateRangeType
Represents a period defined by specific start and end dates.
Fields
| Name | Description |
|---|---|
end(DateTime) | The end date and time of the period. Null indicates an infinite/rolling period. |
start(DateTime!) | The start date and time of the period. |
Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z"
}OrderLineDurationType
Represents a period defined by duration in seconds.
Fields
| Name | Description |
|---|---|
duration(Float!) | The duration in seconds. |
Example
{
"duration": 1.0
}OrderLineType
Represents a line item in an order.
Fields
| Name | Description |
|---|---|
item(OrderItemType) | The item being ordered. |
period(OrderLinePeriodType) | The period for which this order line is valid. Can be a range or a duration. |
target(AccountType) | The target customer for this order line. |
terms([TermInterface]) | The terms applicable to this order line. |
Example
{
"item": OrderItemType,
"period": OrderLineDateRangeType,
"target": AccountType,
"terms": TermInterface
}PageInfo
The Relay compliant PageInfo type, containing data necessary to paginate this connection.
Fields
| Name | Description |
|---|---|
endCursor(String) | When paginating forwards, the cursor to continue. |
hasNextPage(Boolean!) | When paginating forwards, are there more items? |
hasPreviousPage(Boolean!) | When paginating backwards, are there more items? |
startCursor(String) | When paginating backwards, the cursor to continue. |
Example
{
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "abc123",
"endCursor": "abc123"
}Payment
A payment from the customer to the supplier.
Fields
| Name | Description |
|---|---|
accountNumber(String) | Unique identifier of the account the transaction belongs to. |
amount(Int) | Gross amount including tax (when payable). Refer to the Deprecated The 'amount' field is deprecated. |
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
balanceCarriedForward(Int) | The customer's resulting balance after this transaction has been applied, in the smallest unit of currency. |
billingDocumentIdentifier(ID) | The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document. |
createdAt(DateTime) | The date time when the transaction is created. |
hasStatement(Boolean) | Returns True if the transaction is linked with a statement. |
id(ID) | Unique identifier for the transaction. |
isAccountCharge(Boolean) | Deprecated. Deprecated The 'isAccountCharge' field is deprecated. |
isAccountPayment(Boolean) | Deprecated. Deprecated The 'isAccountPayment' field is deprecated. |
isCredit(Boolean) | Deprecated. Deprecated The 'isCredit' field is deprecated. |
isHeld(Boolean) | Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction. |
isIssued(Boolean) | Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents. |
isLateFailedPayment(Boolean!) | Whether a payment has been reversed due to a late failure.Sometimes a payment is marked cleared, only for Kraken to be notified days/weeks later that the payment has failed. |
isReversed(Boolean!) | |
note(String) | Returns the note field value for the transaction, which contains additional info. |
paymentTransactionType(AccountPaymentTransactionTypeChoices) | The transaction type of the payment. |
postedDate(Date) | Date when the transaction was posted to the account. |
reasonCode(String) | Returns the reason. |
statementId(ID) | Returns None if a statement is not linked with the transaction. Deprecated The 'statementId' field is deprecated. |
title(String) | Human-readable title describing the transaction. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123",
"amount": 1,
"amounts": TransactionAmountType,
"balanceCarriedForward": 1,
"isCredit": true,
"isAccountCharge": true,
"isAccountPayment": true,
"isHeld": true,
"isIssued": true,
"title": "abc123",
"billingDocumentIdentifier": "abc123",
"statementId": "abc123",
"isReversed": true,
"hasStatement": true,
"note": "abc123",
"reasonCode": "abc123",
"isLateFailedPayment": true,
"paymentTransactionType": "DD_FIRST_COLLECTION"
}PaymentAdequacyDetailsType
Payment adequacy adjusts fixed payment schedules to maintain a healthy ledger balance over a year.
Fields
| Name | Description |
|---|---|
isCurrentlyExempt(Boolean) | This ledger will be exempt from default Payment Adequacy. This may mean that it is completely exempt, or handled with special rules. |
Example
{
"isCurrentlyExempt": true
}Fields
| Name | Description |
|---|---|
suggestedDirectDebitAmount(Int) | The suggested monthly payment amount in pence following the payment adequacy review. |
Example
{
"suggestedDirectDebitAmount": 1
}Fields
| Name | Description |
|---|---|
adjustment(Int) | Temporary amount to cover debt. |
ongoing(Int) | Amount which covers ongoing usage. |
total(Int) | Total to pay: ongoing + adjustment. |
Example
{
"total": 1,
"ongoing": 1,
"adjustment": 1
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentForecastConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentForecastConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentForecastConnectionTypeEdge
A Relay edge containing a PaymentForecastConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentForecastType) | The item at the end of the edge |
Example
{
"node": PaymentForecastType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
amount(Int) | |
date(Date) | |
method(ScheduleType) | The payment method used for the forecasted payment. |
paymentNumber(Int) |
Example
{
"paymentNumber": 1,
"date": "2020-01-01",
"amount": 1,
"method": "BACS_TRANSFER"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentInstructionConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentInstructionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentInstructionConnectionTypeEdge
A Relay edge containing a PaymentInstructionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentInstructionType) | The item at the end of the edge |
Example
{
"node": PaymentInstructionType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
accountUser(AccountUserType) | The account user who is an owner of this payment instruction. |
business(BusinessType) | The business who is an owner of this payment instruction. |
Example
{
"accountUser": AccountUserType,
"business": BusinessType
}PaymentInstructionType
Payment Instructions
Fields
| Name | Description |
|---|---|
accountHolder(String!) | |
accountType(String) | |
bankCode(String) | |
cardExpiryMonth(Int) | |
cardExpiryYear(Int) | |
cardNumber(String!) | |
cardPaymentNetwork(String) | |
cardType(String) | |
iban(String!) | |
id(ID!) | |
instructionType(String!) | |
maskedAccountIdentifier(String) | A masked reference to a recurring payment method. |
owners([PaymentInstructionOwnerType]) | The owners of the financial account this instruction represents. |
sortCode(String!) | |
status(String!) | |
supplementaryLedger(SupplementaryLedgerType) | The supplementary ledger for this payment instruction. |
validFrom(DateTime!) | |
vendor(String!) |
Example
{
"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]
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentPlanConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentPlanConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentPlanConnectionTypeEdge
A Relay edge containing a PaymentPlanConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentPlanType) | The item at the end of the edge |
Example
{
"node": PaymentPlanType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
paymentFrequency(String) | The frequency of the payment plan (e.g., 'Monthly', 'Weekly'). |
paymentFrequencyMultiplier(Int) | The multiplier for the payment frequency (e.g., 1, 2, 3, etc.). |
paymentPlanId(String) | The ID string of the payment plan. |
paymentPlanStatus(String) | The status of the payment plan. |
totalAmountPaid(Int) | Total paid into the plan in pence. |
totalAmountRemaining(Int) | Total remaining amount to be paid in the plan in pence. |
totalPlanValue(Int) | Total amount included in the plan at setup, in pence. |
Example
{
"paymentPlanId": "abc123",
"paymentPlanStatus": "abc123",
"totalPlanValue": 1,
"totalAmountRemaining": 1,
"totalAmountPaid": 1,
"paymentFrequency": "abc123",
"paymentFrequencyMultiplier": 1
}PaymentPlanPaymentType
An object that represents a planned payment for a payment plan.
Example
{
"payableDate": "2020-01-01",
"amount": 1,
"paymentType": "abc123"
}PaymentPlanType
An object that represents a payment plan.
Fields
| Name | Description |
|---|---|
acceptedAt(DateTime) | |
account(AccountType!) | |
id(ID!) | |
initialScheduleType(String!) | |
ledgerNumber(String) | The ledger number for this payment plan or None if one does not exist. |
nextPayment(PaymentPlanPaymentType) | The next planned payment for this payment plan. |
offerExpiresAt(DateTime) | |
offeredAt(DateTime) | |
payments([PaymentPlanPaymentType!]!) | |
status(String!) | |
strategyDisplayName(String) | The display name of the strategy used for this payment plan or None if one does not exist. |
strategyName(String!) | |
updatedAt(DateTime!) |
Example
{
"id": "abc123",
"account": AccountType,
"initialScheduleType": "abc123",
"strategyName": "abc123",
"status": "abc123",
"offeredAt": "2020-01-01T00:00:00.000Z",
"offerExpiresAt": "2020-01-01T00:00:00.000Z",
"acceptedAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"payments": PaymentPlanPaymentType,
"nextPayment": PaymentPlanPaymentType,
"strategyDisplayName": "abc123",
"ledgerNumber": "abc123"
}PaymentPreferenceConnectionTypeConnection
Pagination object for PaymentPreferenceUnion
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentPreferenceConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentPreferenceConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentPreferenceConnectionTypeEdge
A Relay edge containing a PaymentPreferenceConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentPreferenceUnion) | The item at the end of the edge |
Example
{
"node": PreferredInstruction,
"cursor": "abc123"
}PaymentRequestConnectionTypeConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentRequestConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentRequestConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentRequestConnectionTypeEdge
A Relay edge containing a PaymentRequestConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentRequestType) | The item at the end of the edge |
Example
{
"node": PaymentRequestType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
customerAmount(Int) | The amount the customer is expected to pay in minor currency. |
expectedPaymentDate(Date) | The date the payment is expected to be made. |
fundingSourceAmounts(FundingSourceAmountConnectionTypeConnection) | The amount that was funded by each funding source. |
paymentStatus(String) | The status of the payment. |
totalAmount(Int) | The total amount of the payment in minor currency. |
Example
{
"expectedPaymentDate": "2020-01-01",
"paymentStatus": "abc123",
"totalAmount": 1,
"customerAmount": 1,
"fundingSourceAmounts": FundingSourceAmountConnectionTypeConnection
}Fields
| Name | Description |
|---|---|
paymentRequest(PaymentRequestConnectionTypeConnection) | A list of payment requests for a given ledger. |
Example
{
"paymentRequest": PaymentRequestConnectionTypeConnection
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentScheduleConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentScheduleConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentScheduleConnectionTypeEdge
A Relay edge containing a PaymentScheduleConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentScheduleType) | The item at the end of the edge |
Example
{
"node": PaymentScheduleType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
args(JSONString) | The arguments of the delay configuration. |
code(String) | The code of the delay configuration. |
Example
{
"code": "abc123",
"args": {"key": "value"}
}Fields
| Name | Description |
|---|---|
description(String) | A human-readable description of the value. |
direction(PaymentDayDirectionType) | Direction of payment day. |
Example
{
"direction": "OF_MONTH",
"description": "abc123"
}PaymentScheduleType
An object that represents when we have agreed to take payments from a payment instruction.
Fields
| Name | Description |
|---|---|
delayConfiguration(PaymentScheduleDelayConfigurationType) | The delay configuration for this payment schedule. |
id(ID!) | |
isExemptFromPaymentAdequacy(Boolean) | If the payment schedule is exempt from payment adequacy. |
isPaymentHoliday(Boolean) | |
isVariablePaymentAmount(Boolean!) | |
ledgerNumber(String) | The ledger number of the payment schedule. |
paymentAdequacyAdjustment(Int) | |
paymentAdequacyAdjustmentExpiryDate(Date) | |
paymentAmount(Int!) | |
paymentDay(Int) | |
paymentDayDetails(PaymentSchedulePaymentDayDetailsType) | Details of the payment_day value. |
paymentFrequency(PaymentFrequencyOptions) | The frequency of the payment schedule. |
paymentFrequencyMultiplier(Int!) | |
paymentHolidayReason(String!) | |
reason(PaymentScheduleReasonOptions) | The reason the payment schedule was created. |
scheduleType(ScheduleType) | The method of payment for the schedule. Deprecated The 'scheduleType' field is deprecated. |
supplementaryLedger(SupplementaryLedgerType) | The supplementary ledger for this payment schedule, if it is on one. |
totalDebtAmount(Int) | The sum of the payment adequacy contributions on the payment schedule that are expected to be taken before the debt repayment is complete. |
validFrom(Date!) | |
validTo(Date) |
Example
{
"id": "abc123",
"supplementaryLedger": SupplementaryLedgerType,
"validFrom": "2020-01-01",
"validTo": "2020-01-01",
"reason": "GENERAL_ACCOUNT_PAYMENT",
"paymentHolidayReason": "abc123",
"paymentDay": 1,
"paymentFrequency": "Weekly",
"paymentFrequencyMultiplier": 1,
"paymentAmount": 1,
"paymentAdequacyAdjustment": 1,
"paymentAdequacyAdjustmentExpiryDate": "2020-01-01",
"isVariablePaymentAmount": true,
"totalDebtAmount": 1,
"isPaymentHoliday": true,
"scheduleType": "BACS_TRANSFER",
"paymentDayDetails": PaymentSchedulePaymentDayDetailsType,
"delayConfiguration": PaymentScheduleDelayConfigurationType,
"isExemptFromPaymentAdequacy": true,
"ledgerNumber": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PaymentWithNonConcludedRePresentationConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PaymentWithNonConcludedRePresentationConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PaymentWithNonConcludedRePresentationConnectionTypeEdge
A Relay edge containing a PaymentWithNonConcludedRePresentationConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PaymentWithNonConcludedRePresentationType) | The item at the end of the edge |
Example
{
"node": PaymentWithNonConcludedRePresentationType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
amountPayable(Int) | The amount expected for this payment in minor currency units. |
payableDate(Date) | The date this payment is scheduled to be debited. |
Example
{
"amountPayable": 1,
"payableDate": "2020-01-01"
}PaysByDirectDebitType
Represents a restriction for if an account should pay only by direct debit in a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
paysByDirectDebit(Boolean!) | Whether the account is paying by direct debit or not. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"paysByDirectDebit": true
}PerformBoostCharge
Initiate a boost charge for an electric vehicle (EV).
This will start charging the EV and will not stop until the battery reaches 100% charged.
If it is not possible to initiate a boost charge, a KT-CT-4357 error will be returned.
It may have a boostChargeRefusalReasons extension which lists the reasons why the boost
charge was refused. Possible reasons include:
BC_DEVICE_NOT_YET_LIVE(device is not yet live)BC_DEVICE_RETIRED(device is retired)BC_DEVICE_SUSPENDED(device is suspended)BC_DEVICE_DISCONNECTED(device is disconnected)BC_DEVICE_NOT_AT_HOME(device is not at home)BC_BOOST_CHARGE_IN_PROGRESS(boost charge already in progress)BC_DEVICE_FULLY_CHARGED(device is already fully charged)
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4356: A boost charge cannot currently be performed.
- KT-CT-4357: Unable to trigger boost charge.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}PerformMoveOut
The possible errors that can be raised are:
- KT-GB-6624: An error occurred when trying to process this house move.
- KT-GB-6625: An error occurred when trying to process this house move.
- KT-GB-6626: There was an error processing the PSR data.
- KT-GB-6627: There are missing agent appointments.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountInterface) | Account to perform move out. |
newAccount(AccountInterface) | The new account created as part of the move out process. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountInterface,
"newAccount": AccountInterface
}PerformTestCharge
Initiate a test charge of an electric vehicle (EV).
This is to ensure that the EV or EVSE (charge point) can be controlled remotely and successfully charged for a short period.
If it is not possible to initiate a test charge, a KT-CT-4355 error will be returned. It may have a
testChargeRefusalReasons extension which lists the reasons why the test charge was refused. Possible reasons
include:
TC_DEVICE_LIVE(device is already live)TC_DEVICE_ONBOARDING_IN_PROGRESS(test dispatch already in progress)TC_DEVICE_RETIRED(device is retired)TC_DEVICE_SUSPENDED(device is suspended)TC_DEVICE_DISCONNECTED(device is disconnected)TC_DEVICE_ALREADY_CHARGING(device is already charging)TC_DEVICE_AWAY_FROM_HOME(device is away from home)TC_DEVICE_NO_LOCATION_CONFIGURED(device has no location configured)TC_DEVICE_LOCATION_UNABLE_TO_IDENTIFY(unable to identify device location)TC_DEVICE_LOCATION_MISSING(device location is missing)
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4362: Device not ready for test charge.
- KT-CT-4355: Unable to trigger charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}Fields
| Name | Description |
|---|---|
attachments(BillingAttachmentConnectionTypeConnection) | |
billType(BillTypeEnum) | The type of the bill. |
closingBalance(Int!) | The closing balance of an issued billing document. |
documentDebtPosition(BillingDocumentPositionType) | Position of the billing document in the delinquent debt tracking system. |
fromDate(Date) | The date of the constituent bill covered from. |
id(ID) | The ID of the constituent bill. |
identifier(ID) | The unique identifier for the billing document. Note: a pending billing document will not have an identifier yet; and not all finalized billing documents will have an identifier assigned to them, in which case this will be null. |
isAnnulled(Boolean!) | Whether the billing document has been annulled. |
issuedDate(Date) | The date the bill was sent to the customer. |
printedCopyRequests([Date]) | List of dates when a printed copy of this bill was requested. |
representations(BillRepresentationConnectionTypeConnection) | |
temporaryUrl(String) | Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. Deprecated The 'temporaryUrl' field is deprecated. |
toDate(Date) | The date of the constituent bill covered to. |
totalCharges(StatementTotalType) | The total amounts for all charges on the billing document. |
totalCredits(StatementTotalType) | The total amounts for all credits on the statement. |
transactions(BillTransactionConnectionTypeConnection) | Transactions on the given ledger. Arguments
The order in which to return the transactions.
Include only these specific transaction types in the result. |
Example
{
"id": "abc123",
"billType": "STATEMENT",
"fromDate": "2020-01-01",
"toDate": "2020-01-01",
"temporaryUrl": "abc123",
"issuedDate": "2020-01-01",
"attachments": BillingAttachmentConnectionTypeConnection,
"identifier": "abc123",
"totalCharges": StatementTotalType,
"totalCredits": StatementTotalType,
"isAnnulled": true,
"transactions": BillTransactionConnectionTypeConnection,
"closingBalance": 1,
"documentDebtPosition": BillingDocumentPositionType,
"representations": BillRepresentationConnectionTypeConnection,
"printedCopyRequests": ["2020-01-01"]
}Fields
| Name | Description |
|---|---|
buttonAction(ActionType!) | The action to perform when the button is pressed. |
buttonStyle(ButtonStyle) | The button style. |
id(ID) | Unique identifier of the object. |
title(String!) | Title text of the button. |
typename(String) | The name of the object's type. |
Example
{
"buttonStyle": "PRIMARY",
"title": "abc123",
"buttonAction": DeeplinkActionType,
"id": "abc123",
"typename": "abc123"
}Fields
| Name | Description |
|---|---|
isBlocked(Boolean) | Whether the viewer has been blocked due to spending all its allowed points. |
limit(Int) | The maximum number of points the viewer gets for requests per hour. |
remainingPoints(Int) | The remaining points for the viewer in one hour time limit. |
ttl(Int) | Time To Live: UNIX timestamp when the viewer will get a new allowance of points. |
usedPoints(Int) | The points used so far in one hour time limit. |
Example
{
"limit": 1,
"remainingPoints": 1,
"usedPoints": 1,
"ttl": 1,
"isBlocked": true
}PointsSizeType
A measurement in points.
Fields
| Name | Description |
|---|---|
id(ID) | Unique identifier of the object. |
points(Int!) | The points value. |
typename(String) | The name of the object's type. |
Example
{
"id": "abc123",
"typename": "abc123",
"points": 1
}PortfolioConnectionTypeConnection
Paginator of Operations Team
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PortfolioConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PortfolioConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PortfolioConnectionTypeEdge
A Relay edge containing a PortfolioConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PortfolioType) | The item at the end of the edge |
Example
{
"node": PortfolioType,
"cursor": "abc123"
}PortfolioType
An object that represents a portfolio.
Fields
| Name | Description |
|---|---|
accounts(AccountConnectionTypeConnection) | The accounts associated with this portfolio. |
ancestors(PortfolioConnectionTypeConnection) | The ancestors of the given portfolio. |
billingName(String) | |
brand(String) | The brand code associated with the portfolio. |
collectiveBilling(Boolean!) | |
createdAt(DateTime!) | |
depth(Int) | The depth of the portfolio in the hierarchy. |
descendants(PortfolioConnectionTypeConnection) | The descendants of the given portfolio. |
id(ID!) | |
leadAccountNumber(String) | The lead account for this portfolio. |
name(String) | The name of the portfolio. |
number(String!) | |
operationsTeam(OperationsTeamType) | Operations team for this portfolio. |
parent(PortfolioType) | The parent portfolio of the given portfolio, if any. |
updatedAt(DateTime!) |
Example
{
"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
}PortfolioUserRoleType
The role a user has in association with one portfolio.
Fields
| Name | Description |
|---|---|
id(ID!) | |
portfolio(PortfolioType!) | Portfolio object. |
role(RoleString) | The portfolio role. |
user(AccountUserType!) |
Example
{
"id": "abc123",
"user": AccountUserType,
"role": RoleString,
"portfolio": PortfolioType
}PossibleErrorType
The GraphQL error type for displaying information about GraphQL errors that might be raised from the API.
Fields
| Name | Description |
|---|---|
code(String) | The error code that might be returned from the query/mutation. |
description(String) | The error description that might be returned from the query/mutation. |
message(String) | The error message that might be returned from the query/mutation. |
type(String) | The error type that might be returned from the query/mutation. |
Example
{
"message": "abc123",
"code": "abc123",
"type": "abc123",
"description": "abc123"
}PossibleErrorsOutputType
Information and possible errors of the requested query/mutation.
Fields
| Name | Description |
|---|---|
authErrors(Boolean) | Whether the possible authentication errors are included. |
name(String) | Name of the query/mutation whose possible errors are returned. |
possibleErrors([PossibleErrorType]) | List of the errors the query/mutation is susceptible of raising. |
type(query_type) | Type of the query (query or mutation). |
Example
{
"name": "abc123",
"type": "query",
"authErrors": true,
"possibleErrors": [PossibleErrorType]
}Fields
| Name | Description |
|---|---|
attachments(BillingAttachmentConnectionTypeConnection) | |
billType(BillTypeEnum) | The type of the bill. |
fromDate(Date) | The date of the bill is covered from. |
grossAmount(BigInt) | The gross amount of the historical bill. |
id(ID) | The ID of the bill. |
identifier(String) | The unique identifier of a historical bill. It will usually be present on the billing document itself. |
issuedDate(Date) | The date the bill was sent to the customer. |
params(JSONString) | The params associated with the historical bill. |
temporaryUrl(String) | Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. Deprecated The 'temporaryUrl' field is deprecated. |
toDate(Date) | The date of the bill is covered to. |
Example
{
"id": "abc123",
"billType": "STATEMENT",
"fromDate": "2020-01-01",
"toDate": "2020-01-01",
"temporaryUrl": "abc123",
"issuedDate": "2020-01-01",
"attachments": BillingAttachmentConnectionTypeConnection,
"identifier": "abc123",
"params": {"key": "value"},
"grossAmount": 1
}PreSignedToken
A pre-signed, expiring and opaque tokens that can be swapped for a limited scope JWT (Kraken Token).
Fields
| Name | Description |
|---|---|
isValid(Boolean) | |
key(String!) | |
scope(ExpiringTokenScope!) | The scope that the token will grant to the account user. |
Example
{
"key": "abc123",
"scope": "SUBMIT_METER_READINGS",
"isValid": true
}PreferredInstruction
Represents the preference of the user to be charged using a specific payment instruction.
Fields
| Name | Description |
|---|---|
forPaymentsAfter(String) | The start time of the payment preference. |
paymentMethod(PaymentInstructionType) | The payment instruction preferred by the user. |
status(String) | The status of the payment preference. |
Example
{
"forPaymentsAfter": "abc123",
"status": "abc123",
"paymentMethod": PaymentInstructionType
}PrepayBalanceSnapshotType
A snapshot of a prepay meter's credit and debt balance at a given point in time.
Fields
| Name | Description |
|---|---|
accumulatedDebtRegisterInMillipence(Int!) | |
asAt(DateTime!) | |
creditInPence(Int!) | The credit balance on the meter, in pence. |
debtInPence(Int!) | The debt balance on the meter, in pence. |
emergencyCreditBalanceInMillipence(Int!) | |
emergencyCreditInPence(Int!) | The emergency credit balance on the meter, in pence. |
meterBalanceInMillipence(Int!) | |
paymentDebtRegisterInMillipence(Int!) | |
timeDebtRegisterOneInMillipence(Int!) | |
timeDebtRegisterTwoInMillipence(Int!) |
Example
{
"asAt": "2020-01-01T00:00:00.000Z",
"timeDebtRegisterOneInMillipence": 1,
"timeDebtRegisterTwoInMillipence": 1,
"paymentDebtRegisterInMillipence": 1,
"emergencyCreditBalanceInMillipence": 1,
"accumulatedDebtRegisterInMillipence": 1,
"meterBalanceInMillipence": 1,
"creditInPence": 1,
"debtInPence": 1,
"emergencyCreditInPence": 1
}Fields
| Name | Description |
|---|---|
createdDate(Date!) | |
id(ID!) | |
netAmount(BigInt!) | |
reason(String) | The reason assigned to the Balance Transfer that originated the credit.If this endpoint is used to display prepay top-ups, then transfers with reason PREPAYBILLINGDUMPINFLIGHT_CREDIT must be excluded as these are transfers made during prepay billing after a credit removal and they are not top-ups. |
smartPrepayProcessStatus(SmartPrepayProcessStatusChoices) | |
utrn(String) |
Example
{
"id": "abc123",
"netAmount": 1,
"createdDate": "2020-01-01",
"smartPrepayProcessStatus": "NOT_STARTED",
"utrn": "abc123",
"reason": "abc123"
}PrepayLedgersType
The ledgers associated to a prepayment meter. There are three types: a credit ledger for mirroring the meter's credit balance, a debt ledger for mirroring the meter's debt balance and payment ledger which is the inflight payments that we have not yet managed to resolve on the other two ledgers.
Fields
| Name | Description |
|---|---|
creditLedger(SupplementaryLedgerType) | Override Field to add additional attributes and extend description with possible_errors |
debtLedger(SupplementaryLedgerType) | Override Field to add additional attributes and extend description with possible_errors |
paymentLedger(PrepayPaymentLedgerType) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"creditLedger": SupplementaryLedgerType,
"debtLedger": SupplementaryLedgerType,
"paymentLedger": PrepayPaymentLedgerType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PrepayPaymentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PrepayPaymentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PrepayPaymentConnectionTypeEdge
A Relay edge containing a PrepayPaymentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PrepayPaymentType) | The item at the end of the edge |
Example
{
"node": PrepayPaymentType,
"cursor": "abc123"
}PrepayPaymentLedgerType
The in-flight payment ledger tracks the status of payments made to a prepay meter.
Fields
| Name | Description |
|---|---|
creditTransfers([PrepayCreditTransferType]) | Transfers of credit from the account ledger to a smart prepay meter. |
currentBalance(Int) | The current final balance of the ledger in pence. |
id(ID) | Deprecated The 'ledgerId' field is deprecated. |
ledgerType(String) | |
name(String) | The display name of the ledger. |
number(String) | The canonical name of the ledger. |
paymentAdequacy(PaymentAdequacyDetailsType) | Override Field to add additional attributes and extend description with possible_errors |
payments([PrepayPaymentType]) | Payments made to add credit to a smart prepay meter. |
Example
{
"id": "abc123",
"name": "abc123",
"ledgerType": "abc123",
"number": "abc123",
"currentBalance": 1,
"paymentAdequacy": PaymentAdequacyDetailsType,
"payments": [PrepayPaymentType],
"creditTransfers": [PrepayCreditTransferType]
}Fields
| Name | Description |
|---|---|
amount(BigInt!) | Amount of payment in the currency's minor unit |
id(ID!) | |
meter(Meter) | |
paymentDate(Date!) | The date this payment is scheduled to be debited |
smartPrepayProcessStatus(SmartPrepayProcessStatusChoices) | |
smartPrepayStatus(SmartPrepayPaymentStatusChoices) | Deprecated The 'smartPrepayStatus' field is deprecated. |
utrn(String!) |
Example
{
"id": "abc123",
"amount": 1,
"paymentDate": "2020-01-01",
"smartPrepayStatus": "UTRN_REQUESTED",
"smartPrepayProcessStatus": "NOT_STARTED",
"utrn": "abc123",
"meter": Meter
}Fields
| Name | Description |
|---|---|
description(String) | |
displayName(String) | |
fullName(String) | |
id(ID) | |
isExport(Boolean) | Whether the tariff is for exporting energy. |
preVatStandingCharge(Float) | |
preVatUnitRate(Float) | |
productCode(String) | |
standingCharge(Float) | |
tags([String]) | Tags associated with the tariff. |
tariffCode(String) | Describes a particular tariff by combining the product code, number of rates, available from date and GSP code. |
unitRate(Float) |
Example
{
"id": "abc123",
"displayName": "abc123",
"fullName": "abc123",
"description": "abc123",
"productCode": "abc123",
"standingCharge": 1.0,
"preVatStandingCharge": 1.0,
"tariffCode": "abc123",
"isExport": true,
"tags": ["abc123"],
"unitRate": 1.0,
"preVatUnitRate": 1.0
}PrerecordConsentGranularity
The possible errors that can be raised are:
- KT-GB-4501: Meter point not applicable for pre-recording consent.
- KT-GB-4502: Unable to determine acceptable granularities. Please try again shortly.
- KT-GB-4503: Provided granularity is not valid for this meter point.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
mpan(String) | MPAN for which the mutation was called. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"mpan": "abc123"
}Fields
| Name | Description |
|---|---|
amount(Decimal!) | |
unit(Unit) | Unit that monetary amount relates to eg. 27 cents per kwh. |
Example
{
"amount": "1.0",
"unit": "KILOWATT_HOURS"
}PrintAttachmentType
Represents a print attachment
Fields
| Name | Description |
|---|---|
filename(String!) | |
id(ID!) | |
s3Bucket(String!) | |
s3Key(String!) | |
temporaryUrl(String) | Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). |
Example
{
"id": "abc123",
"filename": "abc123",
"s3Bucket": "abc123",
"s3Key": "abc123",
"temporaryUrl": "abc123"
}Fields
| Name | Description |
|---|---|
eventType(String!) | |
id(ID!) | The ID of the object |
message(PrintMessageType) | Print message of the print event. |
occurredAt(DateTime!) |
Example
{
"id": "abc123",
"eventType": "abc123",
"occurredAt": "2020-01-01T00:00:00.000Z",
"message": PrintMessageType
}PrintMessageType
Represents a print communication.
Fields
| Name | Description |
|---|---|
account(AccountType) | |
attachments([PrintAttachmentType]) | Attachments of the message. |
highPriority(Boolean) | Comms that are marked as high priority. |
id(ID!) | The ID of the object |
templateCode(String!) |
Example
{
"id": "abc123",
"templateCode": "abc123",
"account": AccountType,
"attachments": [PrintAttachmentType],
"highPriority": true
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PrintMessageTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PrintMessageTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PrintMessageTypeEdge
A Relay edge containing a PrintMessageType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PrintMessageType) | The item at the end of the edge |
Example
{
"node": PrintMessageType,
"cursor": "abc123"
}ProductComponentType
Represents a product component within an offering.
Fields
| Name | Description |
|---|---|
component(CatalogProductType!) | The product associated with this component. |
identifier(ID!) | Unique identifier of the component. |
initialQuantity(Int!) | Initial/default quantity for this component. |
maximumQuantity(Int!) | Maximum quantity of this component that can be selected. |
minimumQuantity(Int!) | Minimum quantity of this component that can be selected. |
Example
{
"identifier": "abc123",
"minimumQuantity": 1,
"maximumQuantity": 1,
"initialQuantity": 1,
"component": CatalogProductType
}ProductEligibilityType
Product eligibility verification result object.
Fields
| Name | Description |
|---|---|
ineligibilityReasons([ProductIneligibilityReasonDetails]) | List of product ineligibility reasons. |
isEligible(Boolean!) | Whether customer is eligible for product. |
Example
{
"isEligible": true,
"ineligibilityReasons": [ProductIneligibilityReasonDetails]
}ProductEnrolmentCandidateEligibilityType
Response type for eligibility checks run on a product enrolment candidate.
Fields
| Name | Description |
|---|---|
candidate(ProductEnrolmentCandidateType!) | The candidate who has been evaluated for product enrolment. |
eligibility(ProductEligibilityType!) | The result of the product eligibility check for the candidate. |
Example
{
"candidate": ProductEnrolmentCandidateType,
"eligibility": ProductEligibilityType
}ProductEnrolmentCandidateType
Represents a candidate for product enrolment, represented as a set of meter point mpxns.
Fields
| Name | Description |
|---|---|
exportMpan(String) | The MPAN for the export electricity meter point. |
gasMprn(String) | The MPRN for the gas meter point. |
importMpan(String) | The MPAN for the import electricity meter point. |
Example
{
"importMpan": "abc123",
"exportMpan": "abc123",
"gasMprn": "abc123"
}Fields
| Name | Description |
|---|---|
name(String) | The name of the stage. |
status(EnrolmentStepStatus) | The current status of the stage. |
steps([ProductEnrolmentStepType]) | The steps that are part of the enrolment stage. |
Example
{
"name": "abc123",
"status": "SKIPPED",
"steps": [ProductEnrolmentStepType]
}Fields
| Name | Description |
|---|---|
displayName(String) | The name of the step. |
status(EnrolmentStepStatus) | The current status of the step. |
updatedAt(DateTime) | The date time that the step was last updated. |
Example
{
"displayName": "abc123",
"status": "SKIPPED",
"updatedAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
account(AccountType!) | |
electricityMeterPoint(ElectricityMeterPointType) | The electricity meter point associated with the enrolment. |
gasMeterPoint(GasMeterPointType) | The gas meter point associated with the enrolment. |
id(ID!) | |
product(EnergyProductType) | The product associated with the enrolment. |
stages([ProductEnrolmentStageType]) | The stages that are part of the enrolment. |
status(EnrolmentStatus!) |
Example
{
"id": "abc123",
"account": AccountType,
"status": "NOT_STARTED",
"product": EnergyProductType,
"electricityMeterPoint": ElectricityMeterPointType,
"gasMeterPoint": GasMeterPointType,
"stages": [ProductEnrolmentStageType]
}Fields
| Name | Description |
|---|---|
code(String) | Ineligibility reason code. |
description(String) | Customer ineligibility reason description. |
Example
{
"code": "abc123",
"description": "abc123"
}ProductRateOverrideConfigurationType
Configuration for Product Rate Override Configuration term.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
indexationOptions(IndexationOptionsType) | The indexation options for the product rate override configuration. |
isVariable(Boolean) | Whether the term is variable. |
schedules([ProductRateOverrideScheduleType]) | The schedules for the product rate override configuration. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"indexationOptions": IndexationOptionsType,
"schedules": [ProductRateOverrideScheduleType]
}ProductRateOverrideItemType
Item for Product Rate Override Configuration term.
Fields
| Name | Description |
|---|---|
pricePerUnit(Decimal) | The price per unit for the product rate override item. |
productCode(String) | The product code for the product rate override item. |
rateBand(String) | The rate band for the product rate override item. |
Example
{
"productCode": "abc123",
"rateBand": "abc123",
"pricePerUnit": "1.0"
}ProductRateOverrideScheduleType
Schedule for Product Rate Override Configuration term.
Fields
| Name | Description |
|---|---|
effectiveFrom(DateTime) | The effective from date for the product rate override schedule. |
items([ProductRateOverrideItemType]) | The items for the product rate override schedule. |
Example
{
"items": [ProductRateOverrideItemType],
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
additionals(String) | |
annualStandingCharge(Decimal!) | |
assumedAnnualConsumptionDay(Int!) | |
assumedAnnualConsumptionNight(Int!) | |
consumptionDistributionCoefficients(ConsumptionDistributionCoefficients) | Some tariffs expect customers to alter their usage patterns (e.g. EV tariffs) so will redistribute total consumption accordingly. |
estimatedAnnualCost(Int) | |
exitFees(Int) | |
exitFeesType(String) | |
paymentMethod(PaymentMethods!) | Override Field to add additional attributes and extend description with possible_errors |
priceGuaranteedUntil(String!) | |
standingCharge(Decimal!) | |
supplier(String!) | |
tariffCode(String!) | |
tariffComparisonRate(Decimal) | |
tariffDisplayName(String!) | |
tariffEndsOn(String!) | |
tariffFullName(String!) | |
tariffType(String!) | |
unitRateDay(Decimal!) | |
unitRateNight(Decimal!) |
Example
{
"supplier": "abc123",
"tariffFullName": "abc123",
"tariffDisplayName": "abc123",
"tariffType": "abc123",
"tariffCode": "abc123",
"tariffEndsOn": "abc123",
"paymentMethod": "DIRECT_DEBIT",
"priceGuaranteedUntil": "abc123",
"exitFees": 1,
"exitFeesType": "abc123",
"additionals": "abc123",
"tariffComparisonRate": "1.0",
"estimatedAnnualCost": 1,
"annualStandingCharge": "1.0",
"standingCharge": "1.0",
"unitRateDay": "1.0",
"unitRateNight": "1.0",
"assumedAnnualConsumptionDay": 1,
"assumedAnnualConsumptionNight": 1,
"consumptionDistributionCoefficients": ConsumptionDistributionCoefficients
}Fields
| Name | Description |
|---|---|
additionals(String) | |
annualStandingCharge(Decimal!) | |
assumedAnnualConsumption(Int!) | |
estimatedAnnualCost(Int) | |
exitFees(Int) | |
exitFeesType(String) | |
paymentMethod(PaymentMethods!) | Override Field to add additional attributes and extend description with possible_errors |
priceGuaranteedUntil(String!) | |
standingCharge(Decimal!) | |
supplier(String!) | |
tariffCode(String!) | |
tariffComparisonRate(Decimal) | |
tariffDisplayName(String!) | |
tariffEndsOn(String!) | |
tariffFullName(String!) | |
tariffType(String!) | |
unitRate(Decimal!) |
Example
{
"supplier": "abc123",
"tariffFullName": "abc123",
"tariffDisplayName": "abc123",
"tariffType": "abc123",
"tariffCode": "abc123",
"tariffEndsOn": "abc123",
"paymentMethod": "DIRECT_DEBIT",
"priceGuaranteedUntil": "abc123",
"exitFees": 1,
"exitFeesType": "abc123",
"additionals": "abc123",
"tariffComparisonRate": "1.0",
"estimatedAnnualCost": 1,
"annualStandingCharge": "1.0",
"standingCharge": "1.0",
"unitRate": "1.0",
"assumedAnnualConsumption": 1
}Fields
| Name | Description |
|---|---|
additionals(String) | |
annualStandingCharge(Decimal!) | |
assumedAnnualConsumptionDay(Int!) | |
assumedAnnualConsumptionNight(Int!) | |
assumedAnnualConsumptionOffPeak(Int!) | |
estimatedAnnualCost(Int) | |
exitFees(Int) | |
exitFeesType(String) | |
paymentMethod(PaymentMethods!) | Override Field to add additional attributes and extend description with possible_errors |
priceGuaranteedUntil(String!) | |
standingCharge(Decimal!) | |
supplier(String!) | |
tariffCode(String!) | |
tariffComparisonRate(Decimal) | |
tariffDisplayName(String!) | |
tariffEndsOn(String!) | |
tariffFullName(String!) | |
tariffType(String!) | |
unitRateDay(Decimal!) | |
unitRateNight(Decimal!) | |
unitRateOffPeak(Decimal!) |
Example
{
"supplier": "abc123",
"tariffFullName": "abc123",
"tariffDisplayName": "abc123",
"tariffType": "abc123",
"tariffCode": "abc123",
"tariffEndsOn": "abc123",
"paymentMethod": "DIRECT_DEBIT",
"priceGuaranteedUntil": "abc123",
"exitFees": 1,
"exitFeesType": "abc123",
"additionals": "abc123",
"tariffComparisonRate": "1.0",
"estimatedAnnualCost": 1,
"annualStandingCharge": "1.0",
"standingCharge": "1.0",
"unitRateDay": "1.0",
"unitRateNight": "1.0",
"unitRateOffPeak": "1.0",
"assumedAnnualConsumptionDay": 1,
"assumedAnnualConsumptionNight": 1,
"assumedAnnualConsumptionOffPeak": 1
}Fields
| Name | Description |
|---|---|
addressLine1(String!) | |
addressLine2(String!) | |
country(String!) | |
county(String!) | |
postcode(String!) | |
town(String!) |
Example
{
"addressLine1": "abc123",
"addressLine2": "abc123",
"town": "abc123",
"county": "abc123",
"country": "abc123",
"postcode": "abc123"
}Fields
| Name | Description |
|---|---|
administrativeArea(String) | Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture.
|
asString(String) | The entire formatted address represented as a single string, as it would be written on an envelope. The formatting of this field may vary according to the country of the address (which may not match this Kraken installation's home country). It may also change if we update our address-formatting code or if our understanding of the correct formatting for a given country changes. Avoid parsing individual components of an address out of this field's value; use the other fields on this type instead. Arguments
Whether to include the country. The country will be spelled out in all-caps on the last line, as per Universal Postal Union standards.
Whether to include the name attached to this address.
Whether to include the postal code attached to this address. |
country(String) | ISO 3166-1 alpha-2 code of the country this address belongs
to, e.g. |
deliveryPointIdentifier(String) | Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point. This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers. |
dependentLocality(String) | UK dependent localities, or neighbourhoods or boroughs in some other locations. |
locality(String) | City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town. |
name(String) | A personal name. |
organization(String) | The name of a business or organisation. |
postalCode(String) | Postal code (ZIP code in the US). |
sortingCode(String) | Sorting code, e.g. FR CEDEX code. This field is not used in many countries. |
streetAddress(String) | The 'street address' component. This value can (and often will) contain newline characters when appropriate. In some cases, data may appear in this field instead of the
below fields; e.g. a UK post town name may appear here
instead of in the If |
structuredStreetAddress(GenericScalar) | The 'street address' component, in a structured format. This field stores the same value as The exact structure of this value depends on the country of the address, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank.
|
Example
{
"name": "abc123",
"organization": "abc123",
"streetAddress": "abc123",
"structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"dependentLocality": "abc123",
"locality": "abc123",
"administrativeArea": "abc123",
"postalCode": "abc123",
"sortingCode": "abc123",
"country": "abc123",
"deliveryPointIdentifier": "abc123",
"asString": "abc123"
}Fields
| Name | Description |
|---|---|
property(PropertyType!) | The matched property. |
score(Decimal!) | A score representing the degree of confidence for a match. |
Example
{
"score": "1.0",
"property": PropertyType
}PropertyType
Represents a property. Conceptually, it collects supply points under an address.
Fields
| Name | Description |
|---|---|
address(String) | The address of the property, formatted into a single string. |
availableSmets2InstallationTimeslots([Smets2InstallationTimeslotType]) | Timeslots for which the property has the possibility to book a smart-meter installation. |
coordinates(CoordinatesType) | Coordinates for the property, useful for displaying the property on a map. |
electricityMeterPoints([ElectricityMeterPointType]) | Retrieve the details of electricity meter-points for a property. |
embeddedNetwork(EmbeddedNetworkType) | The embedded network this property belongs to, if any. |
gasMeterPoints([GasMeterPointType]) | Retrieve the details of gas meter-points for a property. |
id(String) | |
isChangeOfTenancyOngoing(Boolean) | |
isSmets2InstallationAllowed(Boolean) | Indicates if the property meets smart meter install preconditions. |
label(String) | An optional label for the property. |
measurements(MeasurementConnection) | Measurements at a property Arguments
Defaults to the far future which will return the most recent readings.
Latest date to return measurements for (inclusive).
Defaults to the far past which will return the oldest readings.
Earliest date to return measurements from.
Timezone to use for grouping. Defaults to Kraken localtime.
Filters for each utility being measured. |
occupancyPeriods([OccupancyPeriodType]) | Time periods during which the property is associated with an account. Useful to display information about house-moves, as performing a move out of a property will set the end date for the occupancy period. |
postcode(String!) | |
richAddress(PropertyRichAddressType) | Property rich address. |
smartDeviceNetworks([SmartMeterDeviceNetworkType]) | Retrieve any smartmeter devices connected to the property. |
splitAddress([String]) | List of address lines. |
wanCoverage(WANCoverageStrengths) | Likelihood that a smart meter at the given postcode and address will get a stable network connection. |
Example
{
"id": "abc123",
"postcode": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"label": "abc123",
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"measurements": MeasurementConnection,
"smartDeviceNetworks": [SmartMeterDeviceNetworkType],
"isChangeOfTenancyOngoing": true,
"isSmets2InstallationAllowed": true,
"electricityMeterPoints": [ElectricityMeterPointType],
"gasMeterPoints": [GasMeterPointType],
"wanCoverage": "HIGH",
"availableSmets2InstallationTimeslots": [Smets2InstallationTimeslotType]
}Fields
| Name | Description |
|---|---|
oauthUri(String!) | OAuth 2.0 URI for the provider. |
Example
{
"oauthUri": "abc123"
}ProviderVirtualKeyDetailsType
Details of a public key that can be added to devices for end-to-end authentication or encryption.
E.g. for Tesla the user visits a URL and the name can be used to show what the key is called. https://github.com/teslamotors/vehicle-command#distributing-your-public-key
Fields
| Name | Description |
|---|---|
virtualKeyName(String!) | Friendly human-readable name for the virtual key. |
virtualKeyUri(String!) | URI for the virtual key. |
Example
{
"virtualKeyName": "abc123",
"virtualKeyUri": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ProvisionalTransactionConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ProvisionalTransactionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}ProvisionalTransactionConnectionTypeEdge
A Relay edge containing a ProvisionalTransactionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ProvisionalTransactionType) | The item at the end of the edge |
Example
{
"node": ProvisionalTransactionType,
"cursor": "abc123"
}ProvisionalTransactionType
A provisional transaction represents some debit or credit to or from a customer's account which we cannot yet finalise for some reason, but which is still useful to keep a note of, and display to the customer. Provisional transactions are purely to give guidance in the absence of finalised information. We therefore only return provisional transactions that have not been finalised. When a transaction is finalised, it is available through the transactions field.
Fields
| Name | Description |
|---|---|
amount(Int) | The amount in pence for this provisional transaction. It will be negative for charges, positive for credits. |
date(Date) | The date at which the charge should be applied to the account. |
id(ID!) | |
title(String) | A user readable string that indicates what this transaction relates to. |
Example
{
"id": "abc123",
"title": "abc123",
"amount": 1,
"date": "2020-01-01"
}Fields
| Name | Description |
|---|---|
cost(Money) | The cost for the charge added during a charging session. |
end(DateTime!) | The end time of a charging session. |
energyAdded(Energy) | The energy added during a charging session. |
location(String!) | Location of the charging session. |
operatorImageUrl(String) | URL of the operator image. |
start(DateTime!) | The start time of a charging session. |
stateOfChargeChange(Decimal) | The change in state of charge during a charging session. The value will be between 0 and 100, if not null. |
stateOfChargeFinal(Decimal) | The final state of charge after a charging session. The value will be between 0 and 100, if not null. |
PushNotificationBindingType
Represents a pairing of a single app installation to an account user.
Fields
| Name | Description |
|---|---|
application(NotifiableApplicationType!) | |
expiresAt(DateTime!) | |
id(ID!) | |
messages([SMSMessageType!]!) | |
registeredAt(DateTime!) | |
token(String!) | |
user(AccountUserType!) |
Example
{
"id": "abc123",
"messages": SMSMessageType,
"user": AccountUserType,
"token": "abc123",
"application": NotifiableApplicationType,
"registeredAt": "2020-01-01T00:00:00.000Z",
"expiresAt": "2020-01-01T00:00:00.000Z"
}QuantityType
Graphene type object to represent Quantity(magnitude, unit)
Fields
| Name | Description |
|---|---|
magnitude(Float!) | The numeric value of this field. |
unit(String!) | Unit of this field. |
Example
{
"magnitude": 1.0,
"unit": "abc123"
}QuoteAccountOnProducts
The possible errors that can be raised are:
- KT-CT-4616: Unable to create a quote.
- KT-GB-4614: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
quoteRequest(QuoteRequest) | The generated quote. |
Example
{
"possibleErrors": [PossibleErrorType],
"quoteRequest": QuoteRequest
}Example
{
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123"
}QuoteCampaignOffer
Quote a given account on a campaign offer.
Fields
| Name | Description |
|---|---|
quoteCode(String) |
Example
{
"quoteCode": "abc123"
}Fields
| Name | Description |
|---|---|
costs([QuoteCostType]) | The cost for quoting this product. |
createdAt(DateTime) | The date and time when the quote component was created. |
identifier(ID) | Identifier of the Quote. |
productComponentIdentifier(ID) | Identifier of the Product Component. |
quotingParamsInputData(JSONString) | The input data used for quoting this product component. |
termsAndConditionsS3Urls([TermsAndConditionsS3UrlType]) | S3 URLs for terms and conditions linked to this quote component. Arguments
Expiration time for S3 URLs in seconds. Defaults to 1 hour (3600 seconds). |
Example
{
"identifier": "abc123",
"productComponentIdentifier": "abc123",
"costs": [QuoteCostType],
"quotingParamsInputData": {"key": "value"},
"createdAt": "2020-01-01T00:00:00.000Z",
"termsAndConditionsS3Urls": [TermsAndConditionsS3UrlType]
}Fields
| Name | Description |
|---|---|
key(String!) | Name of the cost field. |
value(QuoteCostUnionType) | Value of the cost field. |
Example
{
"key": "abc123",
"value": DecimalType
}Fields
| Name | Description |
|---|---|
quoteRequest(QuoteRequest) | The generated quote. |
Example
{
"quoteRequest": QuoteRequest
}Fields
| Name | Description |
|---|---|
code(String!) | The code of the created quote. |
createdAt(DateTime) | |
electricitySupplyPoints([ElectricitySupplyPoint]) | List of electricity supply points and their quoted products. |
gasSupplyPoints([GasSupplyPoint]) | List of gas supply points and their quoted products. |
termsAndConditions([TermsAndConditions]) | List of terms and conditions for this quote. |
Example
{
"electricitySupplyPoints": [ElectricitySupplyPoint],
"gasSupplyPoints": [GasSupplyPoint],
"createdAt": "2020-01-01T00:00:00.000Z",
"termsAndConditions": [TermsAndConditions],
"code": "abc123"
}Fields
| Name | Description |
|---|---|
createdAt(DateTime) | |
electricitySupplyPoints([ElectricitySupplyPoint]) | List of electricity supply points and their quoted products. |
gasSupplyPoints([GasSupplyPoint]) | List of gas supply points and their quoted products. |
termsAndConditions([TermsAndConditions]) | List of terms and conditions for this quote. |
Example
{
"electricitySupplyPoints": [ElectricitySupplyPoint],
"gasSupplyPoints": [GasSupplyPoint],
"createdAt": "2020-01-01T00:00:00.000Z",
"termsAndConditions": [TermsAndConditions]
}Fields
| Name | Description |
|---|---|
address(QuoteAddressType) | |
code(String) | |
consumptionEstimates(ConsumptionEstimates) | Deprecated. Use the consumptionEstimates query instead. Deprecated The 'consumptionEstimates' field is deprecated. |
elecAnnualConsumptionDay(Int) | In kWh |
elecAnnualConsumptionNight(Int) | In kWh |
elecAnnualConsumptionStandard(Int) | In kWh |
elecEstimate(Boolean!) | |
gasAnnualConsumption(Int) | In kWh |
gasEstimate(Boolean!) | |
gspGroupId(String) | |
includesElectricity(Boolean!) | |
includesGas(Boolean!) | |
isBusiness(Boolean!) | |
latitude(Float) | |
longitude(Float) | |
meterType(MeterTypes) | The meter type for the quote. |
mpan(String!) | |
mprn(String) | |
partnerProductId(Int) | |
paymentMethod(QuotePaymentMethod!) | |
postcode(String!) | |
quotedProducts([QuotedProductType]) | A list of the products that have been quoted for the usage provided at the time the quote was created. Arguments
|
termsAndConditions(TermsAndConditionsType) |
Example
{
"code": "abc123",
"postcode": "abc123",
"gspGroupId": "abc123",
"includesElectricity": true,
"includesGas": true,
"isBusiness": true,
"meterType": "NO_METER",
"mpan": "abc123",
"paymentMethod": "DIRECTDEBIT",
"elecAnnualConsumptionStandard": 1,
"elecAnnualConsumptionDay": 1,
"elecAnnualConsumptionNight": 1,
"elecEstimate": true,
"gasAnnualConsumption": 1,
"gasEstimate": true,
"partnerProductId": 1,
"latitude": 1.0,
"longitude": 1.0,
"address": QuoteAddressType,
"consumptionEstimates": ConsumptionEstimates,
"quotedProducts": [QuotedProductType],
"termsAndConditions": TermsAndConditionsType,
"mprn": "abc123"
}Fields
| Name | Description |
|---|---|
createdAt(DateTime) | The date and time when the quote was created. |
createdBy(ActorType) | The Actor who created the Quote. |
identifier(ID) | Identifier of the Quote. |
productOfferingIdentifier(ID) | The product offering identifier this Quote is related to. |
quoteComponents([QuoteComponentType]) | Quote components of this quote. |
Example
{
"identifier": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"productOfferingIdentifier": "abc123",
"quoteComponents": [QuoteComponentType],
"createdBy": ActorType
}Fields
| Name | Description |
|---|---|
offeringComponents([QuotedOfferingParamsType]) | Quoting components of this quote. |
offeringIdentifier(ID) | Product offering identifier. |
productComponents([QuotedProductComponentType]) | Product component data including its quoting parameters. |
Example
{
"offeringIdentifier": "abc123",
"productComponents": [QuotedProductComponentType],
"offeringComponents": [QuotedOfferingParamsType]
}Fields
| Name | Description |
|---|---|
productCode(ID) | Product code. |
quotingParams([QuotingParamType]) | Quoting parameter definitions for this product. |
Example
{
"productCode": "abc123",
"quotingParams": [QuotingParamType]
}Fields
| Name | Description |
|---|---|
allowedSupplyStartDates([Date]) | A list of dates allowable to start supply of the quoted product. |
annualAmount(Int) | Estimated cost in pence of the product over a year based on the quoted usage. |
annualSaving(Int) | Estimated saving in pence vs the 'Big 6' of the product over a year based on the quoted usage. |
co2SavingInKg(Int) | The amount of co2 saved per year when this product is chosen. |
description(String!) | |
elecTariffCode(String!) | |
electricityTariffInformationLabel(TariffInformationLabelType) | Electricity tariff information label (TIL) provides standardised information between suppliers about a tariff. |
gasTariffCode(String!) | |
gasTariffInformationLabel(TariffInformationLabelStandard) | Gas tariff information label (TIL) provides standardised information between suppliers about a tariff. |
id(ID!) | |
includesCarbonOffsetting(Boolean) | |
isVariable(Boolean) | Whether or not this is a variable product. |
monthlyAmount(Int) | Estimated cost in pence of the product per month based on the quoted usage. |
name(String!) | |
product(EnergyProductType) | |
recommended(Boolean!) | |
treesSaving(Int) | The number of trees it would take to offset the amount of co2 that is saved per year when this product is chosen. |
Example
{
"id": "abc123",
"name": "abc123",
"description": "abc123",
"product": EnergyProductType,
"recommended": true,
"monthlyAmount": 1,
"annualAmount": 1,
"annualSaving": 1,
"elecTariffCode": "abc123",
"gasTariffCode": "abc123",
"electricityTariffInformationLabel": TariffInformationLabelStandard,
"gasTariffInformationLabel": TariffInformationLabelStandard,
"isVariable": true,
"allowedSupplyStartDates": ["2020-01-01"],
"co2SavingInKg": 1,
"treesSaving": 1,
"includesCarbonOffsetting": true
}Fields
| Name | Description |
|---|---|
choices([String]) | Choices of the quoting parameter if present. |
name(String) | Name of the quoting parameter. |
type(String) | Type of the quoting parameter. |
Example
{
"name": "abc123",
"type": "abc123",
"choices": ["abc123"]
}RateGroupEligibilityConfigurationType
Represents a rate group eligibility term of in a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
schedules([RateGroupEligibilityScheduleType]) | A list of rate group eligibility schedules associated with the contract. |
timeSeriesSpecificationSchedules([TimeSeriesSpecificationEligibilityScheduleType]) | A list of time series specification eligibility schedules associated with the contract. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"schedules": [RateGroupEligibilityScheduleType],
"timeSeriesSpecificationSchedules": [TimeSeriesSpecificationEligibilityScheduleType]
}RateGroupEligibilityPeriodType
Represents a period with a start and optional end date.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
end(DateTime) | The end date and time of the period. |
start(DateTime) | The start date and time of the period. |
Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z"
}RateGroupEligibilityScheduleType
Represents a schedule for rate group eligibility within a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
effectivePeriod(RateGroupEligibilityPeriodType) | The period during which this eligibility is effective. |
isEligible(Boolean) | Indicates if the rate group is eligible. |
productCode(String) | The product code associated with the rate group. |
rateGroupCode(String) | The rate group code. |
Example
{
"productCode": "abc123",
"rateGroupCode": "abc123",
"isEligible": true,
"effectivePeriod": RateGroupEligibilityPeriodType
}Fields
| Name | Description |
|---|---|
intervalEnd(DateTime) | The exclusive end of this reading's interval. |
intervalStart(DateTime) | The inclusive start of this reading's interval. |
quality(String) | The quality of this reading if applicable. |
source(String) | The source of this reading if applicable. |
units(String) | This reading's units. |
value(Decimal) | The recorded value for this reading. |
Example
{
"value": "1.0",
"units": "abc123",
"intervalStart": "2020-01-01T00:00:00.000Z",
"intervalEnd": "2020-01-01T00:00:00.000Z",
"source": "abc123",
"quality": "abc123"
}Fields
| Name | Description |
|---|---|
granularityValue(String) | Reading consent granularity value. |
Example
{
"granularityValue": "abc123"
}Fields
| Name | Description |
|---|---|
exportReadings(ExportReadingsConnection) | Readings representing outgoing utility flow e.g., solar generation. |
importReadings(ImportReadingsConnection) | Readings representing incoming utility flow e.g., usage or consumption.. |
Example
{
"exportReadings": ExportReadingsConnection,
"importReadings": ImportReadingsConnection
}Fields
| Name | Description |
|---|---|
buttonAction(ActionType!) | The action to perform when the button is pressed. |
buttonStyle(ButtonStyle) | The button style. |
id(ID) | Unique identifier of the object. |
title(String!) | Title text of the button. |
typename(String) | The name of the object's type. |
variant(ButtonVariance) | Colour style of button eg. filled, outlined, text_only. |
Example
{
"buttonStyle": "PRIMARY",
"title": "abc123",
"buttonAction": DeeplinkActionType,
"id": "abc123",
"typename": "abc123",
"variant": "FILLED"
}RedeemLoyaltyPointsForAccountCredit
Redeem Loyalty Points as account credit.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-9201: No Loyalty Point ledger found for the user.
- KT-CT-9202: Loyalty Points adapter not configured.
- KT-CT-9203: No ledger entries for the ledger.
- KT-CT-9205: Insufficient Loyalty Points.
- KT-CT-9206: Indivisible points.
- KT-CT-9204: Negative or zero points set.
- KT-CT-9208: Invalid posted at datetime.
- KT-CT-9209: Negative Loyalty Points balance.
- KT-CT-9210: Unhandled Loyalty Points exception.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
pointsRedeemed(Int) | The number of loyalty points that were redeemed. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"pointsRedeemed": 1
}RedeemReferralClaimCode
The possible errors that can be raised are:
- KT-CT-6723: Unauthorized.
- KT-CT-6724: Referral claim code not found.
- KT-CT-6725: Referral claim code redeeming error.
- KT-CT-6726: Referral claim code has already been redeemed.
- KT-CT-6727: Referral claim code is not available.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
success(Boolean!) | Whether or not the request was successful. |
Example
{
"possibleErrors": [PossibleErrorType],
"success": true
}ReferralClaimCodeType
Referral claim code is a way of claiming promotional benefit coming from the partner-reward referral schemes.
Fields
| Name | Description |
|---|---|
accountReferral(ReferralType) | Account referral associated with the claim code. |
createdAt(DateTime) | Datetime when claim code was generated. |
id(Int) | Id of claim code instance. |
isValid(Boolean) | Whether the referral claim code is valid and available for use. |
referralScheme(ReferralSchemeType) | Referral scheme claim code belongs to. |
value(String) | Value of claim code. |
Example
{
"id": 1,
"value": "abc123",
"referralScheme": ReferralSchemeType,
"accountReferral": ReferralType,
"isValid": true,
"createdAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([ReferralConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
referringUserTotalPaymentAmount(Int!) | Total payment amount given to the referring account in the smallest unit. of the client's currency. If you filter the referrals by |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": ReferralConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1,
"referringUserTotalPaymentAmount": 1
}ReferralConnectionTypeEdge
A Relay edge containing a ReferralConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(ReferralType) | The item at the end of the edge |
Example
{
"node": ReferralType,
"cursor": "abc123"
}ReferralSchemeType
A referral scheme is a way for one account to earn a reward for referring another. This is achieved by the referred account using a url (provided by the referring account) to sign up.
Fields
| Name | Description |
|---|---|
canBeReferred(Boolean) | Whether the current account is eligible to be referred under this scheme. |
code(String) | The unique code for the scheme. |
combinedRewardAmount(Int) | The reward amount received by the referrer and the referee combined. |
isUsageAtCapacity(Boolean) | True if the the scheme has limit of uses, and if the usage is at capacity. |
loyaltyPointsBonus(Int) | The number of loyalty points to be awarded to the referrer in addition to the reward amount. |
maxRecurrence(Int) | Max number of times this referral code can be credited to a given account. |
referralDisplayUrl(String) | A referral url for display purposes. |
referralUrl(String) | A fully qualified url give people to create accounts referred by this scheme. |
referredRewardAmount(Int) | The reward amount received by the referred party. |
referrerFamilyName(String) | The family name of the person making the referral. Deprecated The 'referrerFamilyName' field is deprecated. |
referrerGivenName(String) | The given name of the person making the referral. |
referrerRewardAmount(Int) | The reward amount received by the referrer. |
schemeType(String) | Scheme type of the referral scheme. |
Example
{
"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
}Fields
| Name | Description |
|---|---|
business(ReferralSchemeType) | A business scheme type. |
domestic(ReferralSchemeType) | A domestic scheme type. |
friendsAndFamily(ReferralSchemeType) | A friends and family scheme type. Deprecated The 'friendsAndFamily' field is deprecated. |
Example
{
"domestic": ReferralSchemeType,
"business": ReferralSchemeType,
"friendsAndFamily": ReferralSchemeType
}ReferralType
Details of an account referral
Fields
| Name | Description |
|---|---|
code(String) | The referral code. |
combinedPaymentAmount(Int) | The payment amount in the smallest unit of the clients currency received by the referrer and the referee combined. |
id(ID!) | |
paymentDate(Date) | The date when the payment was made. |
paymentStatus(String) | The status of the payment. |
referredUserJoinDate(DateTime) | The date the referred user joined. |
referredUserName(String) | The name of the referred user. |
referredUserPaymentAmount(Int) | Payment amount given to the referred account in the smallest unit of the client's currency. |
referringUserPaymentAmount(Int) | Payment amount given to the referring account in the clients fractional currency unit. |
schemeType(ReferralSchemeTypeChoices) | The type of reward scheme. |
Example
{
"id": "abc123",
"paymentDate": "2020-01-01",
"schemeType": "REFERRAL_REWARD",
"code": "abc123",
"referredUserName": "abc123",
"paymentStatus": "abc123",
"referredUserJoinDate": "2020-01-01T00:00:00.000Z",
"referredUserPaymentAmount": 1,
"referringUserPaymentAmount": 1,
"combinedPaymentAmount": 1
}RefreshQuote
The possible errors that can be raised are:
- KT-GB-4612: Unable to refresh quote - quote not found.
- KT-GB-4613: Error generating quote.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
quote(QuoteType) |
Example
{
"possibleErrors": [PossibleErrorType],
"quote": QuoteType
}Refund
A refund to the customer from the energy supplier.
Fields
| Name | Description |
|---|---|
accountNumber(String) | Unique identifier of the account the transaction belongs to. |
amount(Int) | Gross amount including tax (when payable). Refer to the Deprecated The 'amount' field is deprecated. |
amounts(TransactionAmountType) | The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned. |
balanceCarriedForward(Int) | The customer's resulting balance after this transaction has been applied, in the smallest unit of currency. |
billingDocumentIdentifier(ID) | The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document. |
createdAt(DateTime) | The date time when the transaction is created. |
hasStatement(Boolean) | Returns True if the transaction is linked with a statement. |
id(ID) | Unique identifier for the transaction. |
isAccountCharge(Boolean) | Deprecated. Deprecated The 'isAccountCharge' field is deprecated. |
isAccountPayment(Boolean) | Deprecated. Deprecated The 'isAccountPayment' field is deprecated. |
isCredit(Boolean) | Deprecated. Deprecated The 'isCredit' field is deprecated. |
isHeld(Boolean) | Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction. |
isIssued(Boolean) | Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents. |
isReversed(Boolean!) | |
note(String) | Returns the note field value for the transaction, which contains additional info. |
postedDate(Date) | Date when the transaction was posted to the account. |
reasonCode(String) | Returns the reason. |
statementId(ID) | Returns None if a statement is not linked with the transaction. Deprecated The 'statementId' field is deprecated. |
title(String) | Human-readable title describing the transaction. |
Example
{
"id": "abc123",
"postedDate": "2020-01-01",
"createdAt": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123",
"amount": 1,
"amounts": TransactionAmountType,
"balanceCarriedForward": 1,
"isCredit": true,
"isAccountCharge": true,
"isAccountPayment": true,
"isHeld": true,
"isIssued": true,
"title": "abc123",
"billingDocumentIdentifier": "abc123",
"statementId": "abc123",
"isReversed": true,
"hasStatement": true,
"note": "abc123",
"reasonCode": "abc123"
}Fields
| Name | Description |
|---|---|
amount(Int) | The amount of money requested. |
payment(AccountPaymentType) | The payment which is being refunded. |
reasonCode(String) | Internal code for the reason the refund is being requested. |
requestId(ID) | The ID of the refund request. |
status(RepaymentRequestStatus) | The current status of the refund request. |
Example
{
"requestId": "abc123",
"amount": 1,
"payment": AccountPaymentType,
"reasonCode": "abc123",
"status": "REQUESTED"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([RefundRequestConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": RefundRequestConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}RefundRequestConnectionTypeEdge
A Relay edge containing a RefundRequestConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(RefundPaymentRequestType) | The item at the end of the edge |
Example
{
"node": RefundPaymentRequestType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
requestedAmountToReturn(Int) | The requested refund amount which was submitted in the repayment. |
Example
{
"requestedAmountToReturn": 1
}RegenerateSecretKey
Regenerate the user's API key.
Fields
| Name | Description |
|---|---|
key(String!) | The generated key value, which is only ever available once (here). |
viewer(AccountUserType) | The currently authenticated user. |
Example
{
"key": "abc123",
"viewer": AccountUserType
}Fields
| Name | Description |
|---|---|
pushNotificationBinding(PushNotificationBindingType) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"pushNotificationBinding": PushNotificationBindingType
}Example
{
"identifier": "abc123",
"name": "abc123",
"value": "abc123",
"digits": 1,
"isQuarantined": true
}RegistersConnection
Pagination for device registers.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([RegistersEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": RegistersEdge,
"totalCount": 1,
"edgeCount": 1
}RegistersEdge
A Relay edge containing a Registers and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(DeviceRegister) | The item at the end of the edge |
Example
{
"node": DeviceRegister,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
assigneeTeamName(String) | The name of the team responsible for completing the reminder. |
assigneeUsername(String) | The username of the user responsible for completing the reminder. |
content(String) | Reminder content. |
createdAt(DateTime) | The date and time the account reminder was created. |
dueAt(DateTime) | When the reminder is due. |
id(Int) | The unique ID of the reminder. |
isKrakenManaged(Boolean) | If the reminder is managed by Kraken. |
reminderTypeName(String) | The reminder type name. |
reopenInkConversation(Boolean) | Reopen ink conversation. |
Example
{
"id": 1,
"reminderTypeName": "abc123",
"isKrakenManaged": true,
"content": "abc123",
"dueAt": "2020-01-01T00:00:00.000Z",
"assigneeUsername": "abc123",
"assigneeTeamName": "abc123",
"reopenInkConversation": true,
"createdAt": "2020-01-01T00:00:00.000Z"
}RemoveConsumerDevice
Remove a consumer device from the CHF/HAN. Currently limited to only CAD devices.
The possible errors that can be raised are:
- KT-GB-4012: Unable to find the CAD device.
- KT-GB-4032: Error sending the request to remove the device.
- KT-GB-4013: Received invalid device type to remove other than CAD.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
requestReference(String) | The reference of the remove consumer device request in Kraken. |
Example
{
"possibleErrors": [PossibleErrorType],
"requestReference": "abc123"
}RenewAgreements
Renew agreements for an account.
This mutation calls tariff renewal use-case both for electricity and gas agreements.
This mutation renews agreements from midnight the day it is invoked in the case of flexible tariffs and fixed tariffs ending in more than 90 days. For fixed tariffs that end in less than 90 days, it creates follow on agreements that start when the fixed agreements end (or minimum of when they end in the case of misaligned agreements).
The possible errors that can be raised are:
- KT-GB-4125: Invalid data.
- KT-GB-4111: Unable to renew agreements for tariff renewal.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
account(AccountType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountType
}RenewAgreementsForAccount
Renew agreements provided for an account.
The possible errors that can be raised are:
- KT-GB-4113: At least one list of agreements to renew is required.
- KT-GB-4126: Electricity and gas agreement input is invalid.
- KT-GB-4114: Unable to renew agreements.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountType
}Fields
| Name | Description |
|---|---|
product(EnergyProductType) | Override Field to add additional attributes and extend description with possible_errors |
slug(String!) |
Example
{
"slug": "abc123",
"product": EnergyProductType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([RepaymentRequestConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": RepaymentRequestConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}RepaymentRequestConnectionTypeEdge
A Relay edge containing a RepaymentRequestConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(RepaymentRequestType) | The item at the end of the edge |
Example
{
"node": RepaymentRequestType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
amount(Int) | The amount of money requested. |
instruction(PaymentInstructionType) | The payment instruction, if any, associated with the repayment request. |
method(RepaymentMethod) | The method by which the money will be transferred to the customer. |
reasonCode(String) | Classifier code for repayment reason. |
requestId(String) | The ID of the repayment request. |
status(RepaymentRequestStatus) | The current status of the repayment request. |
Example
{
"requestId": "abc123",
"amount": 1,
"reasonCode": "abc123",
"method": "BANK_TRANSFER",
"instruction": PaymentInstructionType,
"status": "REQUESTED"
}ReplaceAgreement
Replace the given agreement with the given product.
TODO: Move this outside of plugin as it is applicable to the wider domain.
Fields
| Name | Description |
|---|---|
account(AccountInterface) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"account": AccountInterface
}RequestConsumptionData
The possible errors that can be raised are:
- KT-GB-4033: No electricity device found matching device ID.
- KT-GB-4034: Error requesting consumption data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
requestReference(String) | The reference for the associated request in Kraken. |
Example
{
"possibleErrors": [PossibleErrorType],
"requestReference": "abc123"
}RequestDoubleOptIn
Request a double opt in for a consent.
This mutation will create a consent with a value of PENDING and publish a double opt-in requested transactional messaging trigger.
The possible errors that can be raised are:
- KT-CT-9019: Invalid input.
- KT-CT-9018: Account not found.
- KT-CT-1111: Unauthorized.
- KT-CT-9016: Consent management not enabled.
- KT-CT-9017: Consent type not found.
- KT-CT-9023: Consent already accepted.
- KT-CT-1199: Too many requests.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
consent(ConsentType) | The consent that was created or updated. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"consent": ConsentType
}Fields
| Name | Description |
|---|---|
email(String) | The email that requested a password reset email. |
Example
{
"email": "abc123"
}RequestPrintedBill
Request an issued bill to be printed and (re)posted to billing address of the account.
The possible errors that can be raised are:
- KT-CT-3824: Unauthorized.
- KT-CT-9705: The billing document has not been issued.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
success(Boolean) | Whether the request was successful. |
Example
{
"possibleErrors": [PossibleErrorType],
"success": true
}Fields
| Name | Description |
|---|---|
canRequestRefund(Boolean!) | Whether the account can request a refund. |
reason(String) | The reason why a refund cannot be requested. |
Example
{
"canRequestRefund": true,
"reason": "abc123"
}RequestRepaymentOutputType
Output for creating a repayment request.
Fields
| Name | Description |
|---|---|
requestId(String) | The ID of the repayment request. |
status(RepaymentRequestStatus) | The current status of the repayment request. |
Example
{
"requestId": "abc123",
"status": "REQUESTED"
}Fields
| Name | Description |
|---|---|
clientMutationId(String) | |
email(String!) | |
errors([ErrorType]) | |
isCreateMode(Boolean) |
Example
{
"email": "abc123",
"isCreateMode": true,
"errors": [ErrorType],
"clientMutationId": "abc123"
}Fields
| Name | Description |
|---|---|
clientMutationId(String) | |
errors([SerializerFieldErrorsType]) |
Example
{
"errors": [SerializerFieldErrorsType],
"clientMutationId": "abc123"
}Fields
| Name | Description |
|---|---|
failureCodes([String]) | A list of codes of which password validation the new password failed against if applicable.
One of:
- Deprecated The 'failureCodes' field is deprecated. |
failureReasons([String]) | A list of messages of which password validations the new password failed against if applicable. Deprecated The 'failureReasons' field is deprecated. |
passwordUpdated(Boolean) | True if the password update was successful, false otherwise. Deprecated The 'passwordUpdated' field is deprecated. |
userId(ID!) | The ID of the user whose password was changed. |
Example
{
"userId": "abc123",
"passwordUpdated": true,
"failureReasons": ["abc123"],
"failureCodes": ["abc123"]
}ResumeDeviceControl
Resume control of a device after having been away from home.
This is so that the device can be charged again according to the set preferences.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4359: Unable to resume device control.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}RewardType
A reward is based on a scheme that an account has applied for in order to be
eligible for a discount. Examples can include signup, promo, or partner codes that
were applied to an account.
Fields
| Name | Description |
|---|---|
code(String) | The referral code. |
id(ID!) | |
paymentDate(Date) | The date when the payment was made. |
paymentStatus(ReferralStatusChoices) | The status of the reward payment. |
rewardAmount(Int) | Reward amount given to the account in the smallest unit of the clients currency. |
schemeType(ReferralSchemeTypeChoices) | The type of reward scheme. |
Example
{
"id": "abc123",
"paymentDate": "2020-01-01",
"schemeType": "REFERRAL_REWARD",
"code": "abc123",
"rewardAmount": 1,
"paymentStatus": "Pending"
}RichAddressType
A postal address.
This data model is based on the structure used by Google's libaddressinput library—so you can use it, or other libraries that use its data model and reference data, to accept input.
All fields can be blank, except for country which must
always be supplied.
If you only need the address in a single string, use the
asString property. If you need the address as a list of
lines, use the asString property, then use
.splitlines() (or your programming language's
equivalent) on the resulting value.
Fields
| Name | Description |
|---|---|
administrativeArea(String) | Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture.
|
asString(String) | The entire formatted address represented as a single string, as it would be written on an envelope. The formatting of this field may vary according to the country of the address (which may not match this Kraken installation's home country). It may also change if we update our address-formatting code or if our understanding of the correct formatting for a given country changes. Avoid parsing individual components of an address out of this field's value; use the other fields on this type instead. Arguments
Whether to include the country. The country will be spelled out in all-caps on the last line, as per Universal Postal Union standards.
Whether to include the name attached to this address.
Whether to include the postal code attached to this address. |
country(String) | ISO 3166-1 alpha-2 code of the country this address belongs
to, e.g. |
deliveryPointIdentifier(String) | Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point. This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers. |
dependentLocality(String) | UK dependent localities, or neighbourhoods or boroughs in some other locations. |
locality(String) | City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town. |
name(String) | A personal name. |
organization(String) | The name of a business or organisation. |
postalCode(String) | Postal code (ZIP code in the US). |
sortingCode(String) | Sorting code, e.g. FR CEDEX code. This field is not used in many countries. |
streetAddress(String) | The 'street address' component. This value can (and often will) contain newline characters when appropriate. In some cases, data may appear in this field instead of the
below fields; e.g. a UK post town name may appear here
instead of in the If |
structuredStreetAddress(GenericScalar) | The 'street address' component, in a structured format. This field stores the same value as The exact structure of this value depends on the country of the address, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank.
|
Example
{
"name": "abc123",
"organization": "abc123",
"streetAddress": "abc123",
"structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"dependentLocality": "abc123",
"locality": "abc123",
"administrativeArea": "abc123",
"postalCode": "abc123",
"sortingCode": "abc123",
"country": "abc123",
"deliveryPointIdentifier": "abc123",
"asString": "abc123"
}Fields
| Name | Description |
|---|---|
isValid(Boolean!) | Whether the SEG installation is valid according to MCS. |
Example
{
"isValid": true
}Fields
| Name | Description |
|---|---|
eventType(String!) | |
id(ID!) | The ID of the object |
message(SMSMessageType) | SMS message of the SMS event. |
occurredAt(DateTime!) |
Example
{
"id": "abc123",
"eventType": "abc123",
"occurredAt": "2020-01-01T00:00:00.000Z",
"message": SMSMessageType
}SMSMessageType
Represents a SMS communication.
Fields
| Name | Description |
|---|---|
account(AccountType) | |
attachments([AttachmentType]) | Attachments of the message. |
id(ID!) | |
recipient(String) | SMS recipient. |
sender(String) | SMS sender. |
sentAt(DateTime) | |
textBody(String) | SMS body. |
Example
{
"id": "abc123",
"sentAt": "2020-01-01T00:00:00.000Z",
"account": AccountType,
"attachments": [AttachmentType],
"sender": "abc123",
"recipient": "abc123",
"textBody": "abc123"
}ScheduleQuoteFollowUp
Schedule a quote follow up message to the provided recipient.
The possible errors that can be raised are:
- KT-CT-4619: Quote with given code not found.
- KT-CT-4632: Invalid recipient information.
- KT-CT-4633: Mutation not enabled in this environment.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
success(Boolean!) | Whether the message was scheduled successfully. |
Example
{
"possibleErrors": [PossibleErrorType],
"success": true
}Fields
| Name | Description |
|---|---|
action(String) | Whether the scheduled transaction is a 'charge' or a 'credit'. |
ancillaryData(JSONString) | Additional data that is consumed and associated with the scheduled transaction. |
displayNote(String) | Optional short note about the scheduled transaction for customer display. |
grossAmount(BigInt) | The gross amount of the scheduled transaction. |
internalNote(String) | Optional short note about the scheduled transaction for internal use. |
ledgerNumber(String) | The ledger the scheduled transaction is for. |
metadata(JSONString) | Any extra data that is associated with scheduled transaction. |
netAmount(BigInt) | The net amount of the scheduled transaction. |
postedAfter(DateTime) | The datetime after which the scheduled transaction can be added to the ledger. |
reason(String) | The reason why the scheduled transaction is added to the account. |
salesTaxAmount(BigInt) | The tax amount of the scheduled transaction. |
salesTaxRate(Decimal) | The tax rate of the scheduled transaction. |
Example
{
"ledgerNumber": "abc123",
"action": "abc123",
"grossAmount": 1,
"netAmount": 1,
"salesTaxAmount": 1,
"salesTaxRate": "1.0",
"reason": "abc123",
"ancillaryData": {"key": "value"},
"metadata": {"key": "value"},
"internalNote": "abc123",
"displayNote": "abc123",
"postedAfter": "2020-01-01T00:00:00.000Z"
}ScreenActionType
An action which calls another backend screen via its screen id.
Fields
| Name | Description |
|---|---|
allowBack(Boolean!) | Whether to allow returning to the original caller screen. |
id(ID) | Unique identifier of the object. |
params([BackendScreenParam]!) | Map of the parameters (key-value pairs) to pass to the next backend screen. |
screenId(String!) | The ID of the screen to navigate to. |
typeName(String) | The name of the action object's type. |
typename(String) | The name of the object's type. |
Example
{
"id": "abc123",
"typename": "abc123",
"typeName": "abc123",
"screenId": "abc123",
"params": BackendScreenParam,
"allowBack": true
}SectionType
A section containing a list of cards or carousel items
Fields
| Name | Description |
|---|---|
content(SectionContent!) | The content of the section. |
id(ID) | Unique identifier of the object. |
order(Int!) | The order of the section. |
typename(String) | The name of the object's type. |
Example
{
"id": "abc123",
"typename": "abc123",
"content": CardComponentType,
"order": 1
}SelectChargePointMake
Options for selecting a charge point's make from a list of options.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}SelectChargePointMakeForSmartFlexOnboarding
Complete the select charge point make step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
chargePointMake(ChargePointVariantType) | The make of the charge point, e.g. myenergi. |
id(ID) | A unique identifier for this list item. |
Example
{
"id": "abc123",
"chargePointMake": ChargePointVariantType
}SelectChargePointVariant
Options for selecting a charge point's variant from a list of options.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}SelectChargePointVariantForSmartFlexOnboarding
Complete the select charge point variant step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
chargePointVariant(ChargePointVariantType) | The model variant of the charge point, e.g. Zappi. |
id(ID) | A unique identifier for this list item. |
Example
{
"id": "abc123",
"chargePointVariant": ChargePointVariantType
}SelectDeviceType
A type where the user must select the type of device to onboard.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}SelectDeviceTypeForSmartFlexOnboarding
Select the type of device to start the onboarding process.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
label(String) | The device type, e.g. Electric Vehicle. |
Example
{
"id": "abc123",
"label": "abc123"
}SelectFromListForSmartFlexOnboarding
Select from a list of options presented (in a step that inherits from SelectFromList).
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}SelectSessionDevice
A type where the user must select a device from a list of session devices.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
sessionDevice(SessionDeviceType) | A device associated with the onboarding session. |
Example
{
"id": "abc123",
"sessionDevice": SessionDeviceType
}SelectUserVehicle
Options for selecting a user's vehicle from a list of options.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}SelectUserVehicleForSmartFlexOnboarding
Complete the select user vehicle step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
userVehicle(ElectricVehicleType) | The selected electric vehicle when multiple vehicles were available. Deprecated The 'userVehicle' field is deprecated. |
vehicle(VehicleInformationType) | A vehicle associated with the user's OEM account. |
Example
{
"id": "abc123",
"userVehicle": ElectricVehicleType,
"vehicle": VehicleInformationType
}SelectVehicleMake
Options for selecting a vehicle's make from a list of options.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}SelectVehicleMakeForSmartFlexOnboarding
Complete the select vehicle make step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
vehicleMake(ElectricVehicleType) | The make of the electric vehicle make, e.g. Tesla. |
Example
{
"id": "abc123",
"vehicleMake": ElectricVehicleType
}SelectVehicleOrChargePoint
A step to prompt users to select between their vehicle or charge point.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
selectedIntegration(SelectIntegrationChoices) |
Example
{
"id": "abc123",
"selectedIntegration": "ELECTRIC_VEHICLE"
}SelectVehicleVariant
Options for selecting a vehicle's variant from a list of options.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
options([SmartFlexListItemInterface]) | The options the user can select. |
selectedOptionId(ID) | The ID of the option that has been selected, if any. |
Example
{
"id": "abc123",
"options": SmartFlexListItemInterface,
"selectedOptionId": "abc123"
}SelectVehicleVariantForSmartFlexOnboarding
Complete the select vehicle variant step.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
vehicleVariant(ElectricVehicleType) | The model variant of the electric vehicle, e.g. Model Y. |
Example
{
"id": "abc123",
"vehicleVariant": ElectricVehicleType
}Fields
| Name | Description |
|---|---|
code(String) | The selected product code. |
displayName(String) | The selected product display name. |
Example
{
"code": "abc123",
"displayName": "abc123"
}Example
{
"message": "abc123",
"code": "abc123"
}Fields
| Name | Description |
|---|---|
errors([ErrorTypeUnion!]) | |
field(String) |
Example
{
"field": "abc123",
"errors": SerializerErrorType
}Fields
| Name | Description |
|---|---|
id(String) | A unique session device identifier. |
make(String) | The make (manufacturer) of the device. |
model(String) | The model of the device. |
name(String) | The name of the device. |
Example
{
"id": "abc123",
"name": "abc123",
"make": "abc123",
"model": "abc123"
}SetBatteryChargingPreferences
Allow customers to set/update their battery's charging preferences.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4353: An error occurred while trying to update your charging preferences.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(BatteryDeviceType) | The battery device updated, with the ID of the device in KrakenFlex. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": BatteryDeviceType
}SetLoyaltyPointsUser
Set the Loyalty Points user for the account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-9210: Unhandled Loyalty Points exception.
- KT-CT-9214: Couldn't assign user loyalty points role.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
newLoyaltyPointsUserId(String) | ID of the new Loyalty Points user. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"newLoyaltyPointsUserId": "abc123"
}SetReadingConsentGranularity
Update the reading consent granularity for a meter point.
This mutation allows the user to update the reading consent granularity for a specific meter point. Note that if the consent granularity is already set to the current value, no changes will be made, and the mutation will return a success response.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
readingConsentGranularitySubmitted(Boolean) | Whether the reading consent granularity was successfully submitted. |
Example
{
"possibleErrors": [PossibleErrorType],
"readingConsentGranularitySubmitted": true
}SetUpDirectDebitInstruction
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-3821: Received neither ledger ID nor ledger number.
- KT-CT-3940: Invalid data.
- KT-CT-5415: Account user not found.
- KT-CT-11103: Business not found.
- KT-CT-3971: Instruction owners are not valid.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
paymentInstruction(DirectDebitInstructionType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentInstruction": DirectDebitInstructionType
}SetUpDirectDebitInstructionForBusiness
The possible errors that can be raised are:
- KT-CT-3940: Invalid data.
- KT-CT-3956: Temporary error occurred.
- KT-CT-11107: Unauthorized.
- KT-CT-3948: Could not set up direct debit instruction.
- KT-CT-3971: Instruction owners are not valid.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
paymentInstruction(DirectDebitInstructionType) | The created direct debit instruction. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentInstruction": DirectDebitInstructionType
}SetUpDirectDebitInstructionFromStoredDetails
The possible errors that can be raised are:
- KT-CT-3956: Temporary error occurred.
- KT-CT-3948: Could not set up direct debit instruction.
- KT-CT-3971: Instruction owners are not valid.
- KT-CT-5415: Account user not found.
- KT-CT-11103: Business not found.
- KT-CT-4123: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
paymentInstruction(DirectDebitInstructionType) | The payment instruction that was created from stored details. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentInstruction": DirectDebitInstructionType
}SetVehicleChargingPreferences
Allow customers to set/update their vehicle's charging preferences.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4321: Serializer validation error.
- KT-CT-4353: An error occurred while trying to update your charging preferences.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}ShareGoodsQuote
The possible errors that can be raised are:
- KT-CT-4122: Invalid email.
- KT-CT-8203: Received an invalid quote code.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
share(GoodsQuoteShare) | Goods quote shared. |
Example
{
"possibleErrors": [PossibleErrorType],
"share": GoodsQuoteShare
}SiteworksAppointmentConnectionTypeEdge
A Relay edge containing a SiteworksAppointmentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(SiteworksAppointmentType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
agentReference(String) | |
appointmentDate(Date) | |
calculationId(String) | |
endTime(Time) | |
promiseId(String) | |
siteId(String) | |
slotId(String) | |
startTime(Time) |
Example
{
"appointmentDate": "2020-01-01",
"startTime": "00:00:00.000Z",
"endTime": "00:00:00.000Z",
"agentReference": "abc123",
"siteId": "abc123",
"slotId": "abc123",
"calculationId": "abc123",
"promiseId": "abc123"
}Fields
| Name | Description |
|---|---|
calculationId(String) | |
expectedJobDurationMinutes(Int) | |
fetchStatus(FetchSiteworksAppointmentStatus) | The status of the fetch siteworks appointment operation. |
slots([SiteworksAppointmentSlotType]) |
Example
{
"calculationId": "abc123",
"slots": [SiteworksAppointmentSlotType],
"expectedJobDurationMinutes": 1,
"fetchStatus": "PENDING"
}SiteworksBookingAccountConnectionTypeEdge
A Relay edge containing a SiteworksBookingAccountConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(SiteworksBookingAccountType) | The item at the end of the edge |
Example
{
"node": SiteworksBookingAccountType,
"cursor": "abc123"
}SiteworksBookingAccountType
An object holding information about an account and its associated users, properties and meter points, used for administering siteworks bookings.
Fields
| Name | Description |
|---|---|
accountType(String!) | |
activeCampaigns([SiteworksCampaignType]) | Active campaigns for the account. |
billingName(String!) | Name for this account. If one exists, the billing name of the portfolio will prepend this. |
brand(String!) | The brand of the account. |
canModifyPayments(CanModifyPaymentsType) | Data about whether or not an account can modify their payments. |
marketSupplyAgreements(AgreementConnection) | Retrieve all market supply agreements under this account. Note that when |
number(String!) | |
properties([SiteworksBookingPropertyType]) | Properties linked to the account now and in the future. |
siteworksRequests([SiteworksRequestType]) | Siteworks requests associated to an account. |
smets2Interest(SmartMeterInterestChoices) | The interest of an account in procuring smart meters. |
status(AccountStatus) | The current status of the account. |
users([AccountUserType!]!) |
Example
{
"number": "abc123",
"status": "PENDING",
"users": AccountUserType,
"billingName": "abc123",
"accountType": "abc123",
"properties": [SiteworksBookingPropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType,
"siteworksRequests": [SiteworksRequestType],
"activeCampaigns": [SiteworksCampaignType],
"smets2Interest": "PRIORITY",
"brand": "abc123"
}SiteworksBookingElectricityMeterPointType
This type holds information about an electricity meter point that is used by partner organisations to book siteworks.
Fields
| Name | Description |
|---|---|
agentContracts([ElectricityAgentContractType]) | A list of agents responsible for management of the meterpoint. Arguments
Filter the contracts by status. |
dccServiceFlag(String!) | |
energisationStatus(String!) | |
gspGroupId(String) | The distribution network the grid supply point falls under. |
id(ID!) | |
isMeterReadingDue(Boolean!) | Whether this meter point has a meter which is due a reading. Arguments
|
isOnSupply(Boolean!) | |
latestSupplyPeriod(SupplyPeriodType) | The latest supply period of the meterpoint. |
meters([ElectricityMeterType]) | |
mpan(String!) | |
ssc(String!) | Standard settlement configuration |
status(String!) | |
supplyEndDate(Date) |
Example
{
"id": "abc123",
"supplyEndDate": "2020-01-01",
"mpan": "abc123",
"ssc": "abc123",
"energisationStatus": "abc123",
"dccServiceFlag": "abc123",
"status": "abc123",
"isOnSupply": true,
"latestSupplyPeriod": SupplyPeriodType,
"isMeterReadingDue": true,
"meters": [ElectricityMeterType],
"gspGroupId": "abc123",
"agentContracts": [ElectricityAgentContractType]
}SiteworksBookingGasMeterPointType
This type holds information about a gas meter point that is used by partner organisations to book siteworks.
Fields
| Name | Description |
|---|---|
agentContracts([GasAgentContractType]) | A list of agents responsible for management of the meterpoint. Arguments
Filter the contracts by status. |
id(ID!) | |
isMeterReadingDue(Boolean!) | Whether this meter point has a meter which is due a reading. Arguments
|
isOnSupply(Boolean!) | |
latestSupplyPeriod(SupplyPeriodType) | The latest supply period of the meterpoint. |
meters([GasMeterType]) | |
mprn(String) | |
status(String!) | |
supplyEndDate(Date) |
Example
{
"id": "abc123",
"supplyEndDate": "2020-01-01",
"mprn": "abc123",
"status": "abc123",
"isOnSupply": true,
"latestSupplyPeriod": SupplyPeriodType,
"isMeterReadingDue": true,
"meters": [GasMeterType],
"agentContracts": [GasAgentContractType]
}SiteworksBookingPropertyType
This type is used by partner organisations to retrieve information about a property and its meter points that is used to book siteworks.
Fields
| Name | Description |
|---|---|
electricityMeterPoints([SiteworksBookingElectricityMeterPointType]) | Retrieve the details of an electricity meter-point. |
gasMeterPoints([SiteworksBookingGasMeterPointType]) | Retrieve the details of a gas meter-point. |
id(ID!) | |
isChangeOfTenancyOngoing(Boolean) | |
isSmets2InstallationAllowed(Boolean) | Indicates if the property meets smart meter install preconditions. |
postcode(String!) | |
smartDeviceNetworks([SmartMeterDeviceNetworkType]) | Retrieve any smartmeter devices connected to the property. |
splitAddress([String]) | List of address lines. |
Example
{
"id": "abc123",
"postcode": "abc123",
"smartDeviceNetworks": [SmartMeterDeviceNetworkType],
"isChangeOfTenancyOngoing": true,
"isSmets2InstallationAllowed": true,
"electricityMeterPoints": [SiteworksBookingElectricityMeterPointType],
"gasMeterPoints": [SiteworksBookingGasMeterPointType],
"splitAddress": ["abc123"]
}Example
{
"name": "abc123",
"slug": "abc123"
}Fields
| Name | Description |
|---|---|
appointments([ActiveAppointmentType]) | Siteworks appointments associated to a request. |
Example
{
"appointments": [ActiveAppointmentType]
}Fields
| Name | Description |
|---|---|
alerts([SmartFlexDeviceAlertInterface]) | Active alert message(s) for a device, showing the latest first. |
deviceType(KrakenFlexDeviceTypes!) | The type of device. |
id(ID!) | A UUID that identifies this device registration. Re-registering this device will result in a different ID. |
integrationDeviceId(String) | The third-party integration device ID. |
make(String) | Make of the battery. |
model(String) | Model of the battery. |
name(String) | The user-friendly name for the device. |
onboardingWizard(SmartFlexOnboardingWizard) | The current onboarding wizard for a device. |
preferenceSetting(FlexDevicePreferenceSettingInterface) | The preference setting for this device. |
preferences(SmartFlexDevicePreferencesInterface) | The device's preference details. |
propertyId(String) | The id of the property linked to the device. |
provider(ProviderChoices!) | The third-party that enables control of this device. |
reAuthenticationState(DeviceReAuthenticationInterface) | The re-authentication state of this device, if applicable. |
status(SmartFlexDeviceStatusInterface!) | Information about the current status of this device. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"make": "abc123",
"model": "abc123"
}SmartFlexChargePoint
Information about a charge point that has been registered with Kraken Flex.
Fields
| Name | Description |
|---|---|
alerts([SmartFlexDeviceAlertInterface]) | Active alert message(s) for a device, showing the latest first. |
chargePointVariant(ChargePointVariantModelType) | This contains more detail about the variant of the charge point model. |
chargingPreferences(SmartFlexVehicleChargingPreferences) | The user's preferences for charging using this charge point. |
chargingSessions(DeviceChargingSessionConnection) | History of charging sessions for a SmartFlex device. Arguments
Earliest time of the charging sessions.
Latest time of the charging sessions.
The types of charging sessions to be returned. |
deviceType(KrakenFlexDeviceTypes!) | The type of device. |
id(ID!) | A UUID that identifies this device registration. Re-registering this device will result in a different ID. |
integrationDeviceId(String) | The third-party integration device ID. |
make(String) | The make of the charge point, e.g. myenergi. |
model(String) | The model of the charge point, e.g. Zappi. |
name(String) | The user-friendly name for the device. |
onboardingWizard(SmartFlexOnboardingWizard) | The current onboarding wizard for a device. |
preferenceSetting(FlexDevicePreferenceSettingInterface) | The preference setting for this device. |
preferences(SmartFlexDevicePreferencesInterface) | The device's preference details. |
propertyId(String) | The id of the property linked to the device. |
provider(ProviderChoices!) | The third-party that enables control of this device. |
reAuthenticationState(DeviceReAuthenticationInterface) | The re-authentication state of this device, if applicable. |
status(SmartFlexDeviceStatusInterface!) | Information about the current status of this device. |
vehicleVariant(ElectricVehicleModelType) | This contains more detail about the variant of the vehicle model. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"chargingSessions": DeviceChargingSessionConnection,
"make": "abc123",
"model": "abc123",
"vehicleVariant": ElectricVehicleModelType,
"chargePointVariant": ChargePointVariantModelType,
"chargingPreferences": SmartFlexVehicleChargingPreferences
}SmartFlexChargePointStatus
The current status of a registered charge point.
Fields
| Name | Description |
|---|---|
current(SmartFlexDeviceLifecycleStatus) | The current status of the device. |
currentState(SmartFlexDeviceState) | The current state of this SmartFlex device state machine. |
isSuspended(Boolean) | Whether control of the device is currently disabled. |
stateOfCharge(DecimalReading) | The latest SoC received from the vehicle. It has a value between 0-100. |
stateOfChargeLimit(StateOfChargeLimit) | Information about the limits for the SoC. |
testDispatchFailureReason(TestDispatchAssessmentFailureReason) | The reason for the most recent failed test dispatch (if any). |
Example
{
"current": "ONBOARDING",
"isSuspended": true,
"currentState": "AUTHENTICATION_PENDING",
"stateOfCharge": DecimalReading,
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}Fields
| Name | Description |
|---|---|
cause(SmartFlexChargingErrorCause!) | Possible cause of the charging error. |
Example
{
"cause": "SOC_LIMIT_REACHED"
}Fields
| Name | Description |
|---|---|
cost(Money) | The cost for the charge added during a charging session. |
dispatches([SmartFlexDispatch]) | The charging session dispatch. |
end(DateTime!) | The end time of a charging session. |
energyAdded(Energy) | The energy added during a charging session. |
problems([SmartFlexChargingProblem]) | Charging problem(s) encountered during the session due to an error or truncation. |
start(DateTime!) | The start time of a charging session. |
stateOfChargeChange(Decimal) | The change in state of charge during a charging session. The value will be between 0 and 100, if not null. |
stateOfChargeFinal(Decimal) | The final state of charge after a charging session. The value will be between 0 and 100, if not null. |
targetType(PreferencesTargetType!) | The target type for a user's preferences. |
type(SmartFlexChargingType!) | The type of charge, i.e. |
Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"stateOfChargeChange": "1.0",
"stateOfChargeFinal": "1.0",
"energyAdded": Energy,
"cost": Money,
"type": "SMART",
"targetType": "ABSOLUTE_STATE_OF_CHARGE",
"dispatches": [SmartFlexDispatch],
"problems": SmartFlexChargingError
}Fields
| Name | Description |
|---|---|
achievableStateOfCharge(Decimal!) | The state of charge (in percent) that was possible, given the truncation. |
originalAchievableStateOfCharge(Decimal!) | The state of charge (in percent) that could have been achieved, if not for truncation of the charging session. |
truncationCause(SmartFlexChargingTruncationCause!) | The cause for the truncation of a charging session. |
Example
{
"truncationCause": "DISCONNECTED",
"originalAchievableStateOfCharge": "1.0",
"achievableStateOfCharge": "1.0"
}SmartFlexDevice
Information about a device that has been registered for Smart Flex.
Fields
| Name | Description |
|---|---|
alerts([SmartFlexDeviceAlertInterface]) | Active alert message(s) for a device, showing the latest first. |
deviceType(KrakenFlexDeviceTypes!) | The type of device. |
id(ID!) | A UUID that identifies this device registration. Re-registering this device will result in a different ID. |
integrationDeviceId(String) | The third-party integration device ID. |
name(String) | The user-friendly name for the device. |
onboardingWizard(SmartFlexOnboardingWizard) | The current onboarding wizard for a device. |
preferenceSetting(FlexDevicePreferenceSettingInterface) | The preference setting for this device. |
preferences(SmartFlexDevicePreferencesInterface) | The device's preference details. |
propertyId(String) | The id of the property linked to the device. |
provider(ProviderChoices!) | The third-party that enables control of this device. |
reAuthenticationState(DeviceReAuthenticationInterface) | The re-authentication state of this device, if applicable. |
status(SmartFlexDeviceStatusInterface!) | Information about the current status of this device. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface
}SmartFlexDeviceAlert
Information about an alert relevant to a device registered for Smart Flex.
Fields
| Name | Description |
|---|---|
message(String) | A device alert message. |
publishedAt(DateTime) | When a device alert message is published. |
Example
{
"message": "abc123",
"publishedAt": "2020-01-01T00:00:00.000Z"
}SmartFlexDevicePreferenceSchedule
A schedule entry for device preferences specifying target values for a specific day and time.
For information about valid value ranges, time constraints, and step increments,
query the device's preferenceSettings field which provides bounds and validation rules.
Fields
| Name | Description |
|---|---|
dayOfWeek(DayOfWeek!) | Day of week schedule applies to. |
max(Float!) | Maximum value for the schedule. Usage depends on the targetType - e.g., maximum charge for EVs. For valid bounds and step increments, see the device's |
min(Float) | Minimum value for the schedule when applicable. Usage depends on the targetType - e.g., minimum temperature for heat pumps. May be null for device types that don't require a lower bound. For valid bounds and step increments, see the device's |
time(Time!) | Time of day the preference applies. |
upperLimit(Float) | Upper limit value for the schedule when applicable.Usage depends on the targetType - e.g., charge level to never be exceeded for V2G EVs.May be null for device types that don't require an upper bound. |
Example
{
"dayOfWeek": "MONDAY",
"time": "00:00:00.000Z",
"min": 1.0,
"max": 1.0,
"upperLimit": 1.0
}Fields
| Name | Description |
|---|---|
gridExport(FlexGridExportStatus!) | The status of the device's grid export capability. |
mode(PreferencesModeChoices!) | The device's preference mode. |
schedules([SmartFlexDevicePreferenceSchedule]) | The schedules of the device's preference. |
targetType(PreferencesTargetType!) | The target type of the preference. |
unit(PreferencesUnitChoices!) | The unit of the preference schedules' min and max values. |
Example
{
"targetType": "ABSOLUTE_STATE_OF_CHARGE",
"unit": "CELSIUS",
"mode": "CHARGE",
"schedules": [SmartFlexDevicePreferenceSchedule],
"gridExport": "ENABLED"
}SmartFlexDeviceStatus
Information about the current status of a device registered for Smart Flex.
Fields
| Name | Description |
|---|---|
current(SmartFlexDeviceLifecycleStatus) | The current status of the device. |
currentState(SmartFlexDeviceState) | The current state of this SmartFlex device state machine. |
isSuspended(Boolean) | Whether control of the device is currently disabled. |
Example
{
"current": "ONBOARDING",
"isSuspended": true,
"currentState": "AUTHENTICATION_PENDING"
}Fields
| Name | Description |
|---|---|
importSupplyPointId(String!) | Import supply point ID. |
smartFlexDeviceId(String!) | SmartFlex device ID. |
Example
{
"importSupplyPointId": "abc123",
"smartFlexDeviceId": "abc123"
}Fields
| Name | Description |
|---|---|
end(DateTime!) | The end time of the dispatch. |
energyAddedKwh(Decimal) | The energy added in kWh of the dispatch. |
start(DateTime!) | The start time of the dispatch. |
type(SmartFlexChargingType!) | The type of charge. |
Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"type": "SMART",
"energyAddedKwh": "1.0"
}SmartFlexOnboardingDeviceRegistration
A type that returns True if the device(s) were successfully registered.
Fields
| Name | Description |
|---|---|
deviceRegistered(Boolean) | Returns true if the device(s) were successfully registered. |
id(ID) | A unique identifier for this onboarding step. |
Example
{
"id": "abc123",
"deviceRegistered": true
}Fields
| Name | Description |
|---|---|
backendScreen(BackendScreenType) | A Backend Screen that renders the SmartFlex onboarding wizard. Arguments
The maximum version of Backend Screens supported by the client. |
completedSteps([SmartFlexOnboardingStepInterface]) | The completed steps for all onboarding wizards that are currently in progress. Note: - The last step is the most recent one. - If an onboarding journey is completed, it will not be included in this list. |
currentStep(SmartFlexOnboardingStepInterface) | The next step of the SmartFlex onboarding wizard. Returns |
deviceType(KrakenFlexDeviceTypes) | The onboarding wizard's selected device type to be onboarded. |
displayName(String) | The onboarding wizard's display name extracted from the wizard's selected device attributes. |
id(ID!) | A unique identifier for this SmartFlex onboarding wizard. |
resumable(SmartFlexResumable) | Determines whether the wizard's onboarding journey can be resumed. |
Example
{
"id": "abc123",
"resumable": SmartFlexResumable,
"deviceType": "BATTERIES",
"displayName": "abc123",
"backendScreen": ComponentListType,
"currentStep": SmartFlexOnboardingStepInterface,
"completedSteps": SmartFlexOnboardingStepInterface
}Fields
| Name | Description |
|---|---|
isResumable(Boolean) | A boolean to determine whether the wizard's onboarding journey can be resumed. |
resumableReasons([String]) | Reasons why a wizard cannot be resumed. |
Example
{
"isResumable": true,
"resumableReasons": ["abc123"]
}SmartFlexVehicle
Information about a vehicle that has been registered with Kraken Flex.
Fields
| Name | Description |
|---|---|
alerts([SmartFlexDeviceAlertInterface]) | Active alert message(s) for a device, showing the latest first. |
chargePointVariant(ChargePointVariantModelType) | This contains more detail about the variant of the charge point model. |
chargingPreferences(SmartFlexVehicleChargingPreferences) | The user's preferences for charging this vehicle. Deprecated The 'chargingPreferences' field is deprecated. |
chargingSessions(DeviceChargingSessionConnection) | History of charging sessions for a SmartFlex device. Arguments
Earliest time of the charging sessions.
Latest time of the charging sessions.
The types of charging sessions to be returned. |
deviceType(KrakenFlexDeviceTypes!) | The type of device. |
id(ID!) | A UUID that identifies this device registration. Re-registering this device will result in a different ID. |
integrationDeviceId(String) | The third-party integration device ID. |
make(String) | The make of the vehicle, e.g. Tesla. |
model(String) | The model of the vehicle, e.g. Model 3. |
name(String) | The user-friendly name for the device. |
onboardingWizard(SmartFlexOnboardingWizard) | The current onboarding wizard for a device. |
preferenceSetting(FlexDevicePreferenceSettingInterface) | The preference setting for this device. |
preferences(SmartFlexDevicePreferencesInterface) | The device's preference details. |
propertyId(String) | The id of the property linked to the device. |
provider(ProviderChoices!) | The third-party that enables control of this device. |
reAuthenticationState(DeviceReAuthenticationInterface) | The re-authentication state of this device, if applicable. |
status(SmartFlexDeviceStatusInterface!) | Information about the current status of this device. |
vehicleVariant(ElectricVehicleModelType) | This contains more detail about the variant of the vehicle model. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"chargingSessions": DeviceChargingSessionConnection,
"make": "abc123",
"model": "abc123",
"vehicleVariant": ElectricVehicleModelType,
"chargePointVariant": ChargePointVariantModelType,
"chargingPreferences": SmartFlexVehicleChargingPreferences
}SmartFlexVehicleChargingPreferences
The user's preferences for charging, e.g. target SoC (State of Charge).
Fields
| Name | Description |
|---|---|
maximumSoc(Int) | The maximum SoC (percentage). |
minimumSoc(Int) | The minimum SoC (percentage). |
weekdayTargetSoc(Int!) | The target SoC to achieve on a weekday (percentage). |
weekdayTargetTime(Time!) | The time at which the target SoC should be achieved on a weekday. |
weekendTargetSoc(Int!) | The target SoC to achieve on a weekend (percentage). |
weekendTargetTime(Time!) | The time at which the target SoC should be achieved on a weekend. |
Example
{
"weekdayTargetTime": "00:00:00.000Z",
"weekdayTargetSoc": 1,
"weekendTargetTime": "00:00:00.000Z",
"weekendTargetSoc": 1,
"minimumSoc": 1,
"maximumSoc": 1
}SmartFlexVehicleStatus
The current status of a registered vehicle.
Fields
| Name | Description |
|---|---|
current(SmartFlexDeviceLifecycleStatus) | The current status of the device. |
currentState(SmartFlexDeviceState) | The current state of this SmartFlex device state machine. |
isSuspended(Boolean) | Whether control of the device is currently disabled. |
stateOfCharge(DecimalReading) | The latest SoC received from the vehicle. It has a value between 0-100. |
stateOfChargeLimit(StateOfChargeLimit) | Information about the limits for the SoC. |
testDispatchFailureReason(TestDispatchAssessmentFailureReason) | The reason for the most recent failed test dispatch (if any). |
Example
{
"current": "ONBOARDING",
"isSuspended": true,
"currentState": "AUTHENTICATION_PENDING",
"stateOfCharge": DecimalReading,
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}Fields
| Name | Description |
|---|---|
readingFrequency(SmartMeterReadingFrequencyChoices) | The reading frequency for the smart meter. |
readingsAnalysisConsentProvided(Boolean) | Has the user given consent that their readings can be used for further analysis? |
readingsAnalysisConsentUpdatedDatetime(DateTime) | The datetime when the user gave consent that their readings can be used for further analysis. |
Example
{
"readingFrequency": "DAILY",
"readingsAnalysisConsentProvided": true,
"readingsAnalysisConsentUpdatedDatetime": "2020-01-01T00:00:00.000Z"
}SmartMeterDeviceNetworkType
This is the network through which a set of SMETS2 devices communicates.
Fields
| Name | Description |
|---|---|
id(ID!) | |
smartDevices([SmartMeterDeviceType]) | A list of devices attached to one network. Arguments
Filter the devices by status. |
Example
{
"id": "abc123",
"smartDevices": [SmartMeterDeviceType]
}SmartMeterDeviceType
A smart meter device.
Fields
| Name | Description |
|---|---|
deviceId(String!) | |
deviceNetwork(SmartMeterDeviceNetworkType) | |
exportElectricityMeter(ElectricityMeterType) | |
firmwareVersion(String!) | |
gasMeter(GasMeterType) | |
id(ID!) | |
importElectricityMeter(ElectricityMeterType) | |
manufacturer(String!) | |
model(String!) | |
paymentMode(PaymentMode) | The payment mode (e.g. credit or prepayment) that the device is currently operating in. |
serialNumber(String!) | |
status(DeviceStatus!) | |
type(DeviceType) | |
weeklyDebtRecoveryRateInPence(Int) | The rate, in pence per week, that debt is being recovered from this device. |
Example
{
"id": "abc123",
"importElectricityMeter": ElectricityMeterType,
"exportElectricityMeter": ElectricityMeterType,
"gasMeter": GasMeterType,
"deviceNetwork": SmartMeterDeviceNetworkType,
"serialNumber": "abc123",
"deviceId": "abc123",
"type": "ESME",
"status": "PENDING",
"manufacturer": "abc123",
"model": "abc123",
"firmwareVersion": "abc123",
"paymentMode": "PREPAY",
"weeklyDebtRecoveryRateInPence": 1
}Fields
| Name | Description |
|---|---|
consumption(Decimal) | Total energy consumed by the meter measured in Wh. |
consumptionDelta(Decimal) | Energy consumption in Wh between the read_at and the next reading. |
costDelta(Decimal) | Energy cost excluding VAT for the consumption delta in pence. |
costDeltaWithTax(Decimal) | Energy cost including VAT for the consumption delta in pence. |
demand(Decimal) | Energy being demanded by the meter measured in W. |
export(Decimal) | Total energy exported by the meter measured in Wh. |
readAt(DateTime) | The start_at time of the telemetry data. E.g if querying in 30 minute intervals the reading may have been taken anywhere between 00:00:00 and 00:29:59 and represents the maximum reading taken in the time period. |
Example
{
"readAt": "2020-01-01T00:00:00.000Z",
"consumption": "1.0",
"export": "1.0",
"demand": "1.0",
"consumptionDelta": "1.0",
"costDelta": "1.0",
"costDeltaWithTax": "1.0"
}Fields
| Name | Description |
|---|---|
account(AccountType!) | |
id(ID!) | |
meterPoint(ElectricityMeterPointType) | |
product(EnergyProductType!) |
Example
{
"id": "abc123",
"account": AccountType,
"meterPoint": ElectricityMeterPointType,
"product": EnergyProductType
}SmartTariffOnboardingType
The smart tariff onboarding process. Only relevant for Kraken instances that support half hourly tariffs. Returns null if not applicable.
Fields
| Name | Description |
|---|---|
id(ID!) | |
lastUpdated(String) | |
latestStatus(SmartOnboardingEventTypes) | |
latestTermsStatus(SmartOnboardingTermsStatuses) | |
smartTariffCode(SmartOnboardingTariffCodes) |
Example
{
"id": "abc123",
"latestStatus": "STARTED",
"latestTermsStatus": "TERMS_ACCEPTANCE_REQUIRED",
"smartTariffCode": "AGILE_OCTOPUS",
"lastUpdated": "abc123"
}Smets2InstallationTimeslotType
A timeslot for which a property can make an appointment for installation of a smart-meter.
Example
{
"appointmentDate": "2020-01-01",
"startTime": "00:00:00.000Z",
"endTime": "00:00:00.000Z"
}SpecialCircumstanceRecordType
Any special circumstances that the user has notified us about, which may entitle them to some specialist services.
Fields
| Name | Description |
|---|---|
createdAt(DateTime) | The date and time the special circumstance record was created. |
electricityPSRCode(String) | |
gasPSRCode(String) | |
id(ID) | |
internalCode(String) | |
summary(String) |
Example
{
"id": "abc123",
"summary": "abc123",
"internalCode": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"gasPSRCode": "abc123",
"electricityPSRCode": "abc123"
}SpecialCircumstancesType
Information about the special circumstances that relate to a user.
Fields
| Name | Description |
|---|---|
isSharingConsentGiven(Boolean) | Whether the user has consented for their data to be given to the appropriate industry or regulatory bodies. We typically only ask for this once, so this field can be used to decide whether to ask the user for their initial consent. |
records([SpecialCircumstanceRecordUnion]) | A list of special circumstance records, both temporary and permanent. |
Example
{
"isSharingConsentGiven": true,
"records": SpecialCircumstanceRecordType
}Fields
| Name | Description |
|---|---|
description(String) | |
displayName(String) | |
fullName(String) | |
id(ID) | |
isExport(Boolean) | Whether the tariff is for exporting energy. |
preVatStandingCharge(Float) | |
preVatUnitRate(Float) | |
productCode(String) | |
standingCharge(Float) | |
tags([String]) | Tags associated with the tariff. |
tariffCode(String) | Describes a particular tariff by combining the product code, number of rates, available from date and GSP code. |
unitRate(Float) | |
unitRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
Example
{
"id": "abc123",
"displayName": "abc123",
"fullName": "abc123",
"description": "abc123",
"productCode": "abc123",
"standingCharge": 1.0,
"preVatStandingCharge": 1.0,
"tariffCode": "abc123",
"isExport": true,
"tags": ["abc123"],
"unitRate": 1.0,
"unitRateEpgApplied": true,
"preVatUnitRate": 1.0
}StartCustomerVerification
Start the customer verification using the provided verification method.
The possible errors that can be raised are:
- KT-CT-1701: Brand does not exist.
- KT-CT-4194: Verification type not supported yet.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
verificationProcess(VerificationProcess) | The newly created verification process. |
Example
{
"possibleErrors": [PossibleErrorType],
"verificationProcess": VerificationProcess
}StartExportOnboardingProcess
Onboarding for export tariffs.
This mutation kicks off the export onboarding for electricity.
The possible errors that can be raised are:
- KT-GB-4103: Unable to start export onboarding process.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
onboardingProcess(SmartOnboardingProcessType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
productEnrolment(ProductEnrolmentType) | The product enrolment process created. |
Example
{
"possibleErrors": [PossibleErrorType],
"onboardingProcess": SmartOnboardingProcessType,
"productEnrolment": ProductEnrolmentType
}StartReAuthentication
Create a wizard for re-authenticating a device with SmartFlex.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-4385: Re-authentication is not supported for this device.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for re-authenticating the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}StartSmartFlexOnboarding
Create a wizard for onboarding a device with SmartFlex.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-4385: Re-authentication is not supported for this device.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}StartSmartOnboardingProcess
Onboarding for smart tariffs.
This mutation kicks off the smart onboarding for electricity.
The possible errors that can be raised are:
- KT-GB-4102: Unable to start smart onboarding process.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
onboardingProcess(SmartOnboardingProcessType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
productEnrolment(ProductEnrolmentType) | The product enrolment process created. |
Example
{
"possibleErrors": [PossibleErrorType],
"onboardingProcess": SmartOnboardingProcessType,
"productEnrolment": ProductEnrolmentType
}StartTestChargeForSmartFlexOnboarding
Attempt to start a test charge.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4371: Onboarding wizard ID is invalid.
- KT-CT-4372: Simultaneous attempts to update onboarding process.
- KT-CT-4375: Incorrect or missing parameters for SmartFlex onboarding step.
- KT-CT-4376: Unable to complete onboarding step. Please try again later.
- KT-CT-4377: Invalid onboarding step ID.
- KT-CT-4378: Invalid input or step id. Please make sure you are using the correct step id and providing the expected input params.
- KT-CT-4379: Vehicle is not ready for a test charge.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"possibleErrors": [PossibleErrorType],
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
isLimitViolated(Boolean) | Whether or not target SoC exceeds upper SoC limit. |
timestamp(String) | Time of the latest SoC limit reading. |
upperSocLimit(Int) | Maximum level of charge allowed by the battery relative to its capacity (in percent). |
Example
{
"upperSocLimit": 1,
"timestamp": "abc123",
"isLimitViolated": true
}StatementBillingDocumentConnectionTypeConnection
A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([StatementBillingDocumentConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": StatementBillingDocumentConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}StatementBillingDocumentConnectionTypeEdge
A Relay edge containing a StatementBillingDocumentConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(StatementBillingDocumentType) | The item at the end of the edge |
Example
{
"node": StatementBillingDocumentType,
"cursor": "abc123"
}StatementBillingDocumentType
A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.
Fields
| Name | Description |
|---|---|
annulledBy(AnnulmentBillingDocumentType) | Billing document that annuls this statement. |
documentDebtPosition(BillingDocumentPositionType) | Position of the billing document in the delinquent debt tracking system. |
earliestChargeAt(DateTime) | The earliest charge date of the statement. |
endAt(DateTime!) | The end of the statement's period. |
firstIssuedAt(DateTime) | The date and time the statement was sent to the customer. |
id(Int) | ID for the statement billing document. |
identifier(String) | The unique reference of the statement that can be used for identifying the statement externally. |
latestChargeAt(DateTime) | The latest charge date of the statement. |
paymentDueDate(Date) | The date due for payment for the statement. |
pdfUrl(String) | URL to the PDF of the statement. |
startAt(DateTime!) | The start of the statement's period. |
totalCharges(StatementTotalType) | The total amounts for all charges on the statement. |
totalCredits(StatementTotalType) | The total amounts for all credits on the statement. |
transactions(BillTransactionConnectionTypeConnection) | Transactions on the statement Arguments
The order in which to return the transactions. |
Example
{
"id": 1,
"identifier": "abc123",
"startAt": "2020-01-01T00:00:00.000Z",
"endAt": "2020-01-01T00:00:00.000Z",
"firstIssuedAt": "2020-01-01T00:00:00.000Z",
"earliestChargeAt": "2020-01-01T00:00:00.000Z",
"latestChargeAt": "2020-01-01T00:00:00.000Z",
"paymentDueDate": "2020-01-01",
"pdfUrl": "abc123",
"annulledBy": AnnulmentBillingDocumentType,
"totalCharges": StatementTotalType,
"totalCredits": StatementTotalType,
"transactions": BillTransactionConnectionTypeConnection,
"documentDebtPosition": BillingDocumentPositionType
}Fields
| Name | Description |
|---|---|
grossTotal(Int) | The gross total amount for the statement (in minor currency units). |
netTotal(Int) | The net total amount for the statement (in minor currency units). |
taxTotal(Int) | The total amount of tax on the statement (in minor currency units). |
Example
{
"netTotal": 1,
"taxTotal": 1,
"grossTotal": 1
}Fields
| Name | Description |
|---|---|
attachments(BillingAttachmentConnectionTypeConnection) | |
billType(BillTypeEnum) | The type of the bill. |
closingBalance(Int) | This field returns the closing balance of an issued statement. |
consumptionEndDate(Date) | The last day of consumption that this statement includes. |
consumptionStartDate(Date) | The first day of consumption that this statement includes. |
fromDate(Date) | The date of the constituent bill covered from. |
heldStatus(HeldStatus) | Retrieve the held status of a account statement. |
id(ID) | The ID of the constituent bill. |
isExternalBill(Boolean) | Whether the bill originated in Kraken or externally. |
issuedDate(Date) | The date the bill was sent to the customer. |
openingBalance(Int) | This field returns the opening balance of a statement. |
paymentDueDate(Date) | The date the bill is due to be paid. |
reversalsAfterClose(StatementReversalsAfterClose!) | How many charges have been reversed after the close date. |
status(AccountStatementStatus) | Current status of the associated statement. |
temporaryUrl(String) | Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. Deprecated The 'temporaryUrl' field is deprecated. |
toAddress(String) | Email recipient address. |
toDate(Date) | The date of the constituent bill covered to. |
totalCharges(StatementTotalType) | The total amounts for all charges on the statement. |
totalCredits(StatementTotalType) | The total amounts for all credits on the statement. |
transactions(TransactionConnectionTypeConnection) | Transactions on the bill. |
userId(Int) | Email recipient user ID. |
Example
{
"id": "abc123",
"billType": "STATEMENT",
"fromDate": "2020-01-01",
"toDate": "2020-01-01",
"temporaryUrl": "abc123",
"issuedDate": "2020-01-01",
"attachments": BillingAttachmentConnectionTypeConnection,
"closingBalance": 1,
"openingBalance": 1,
"isExternalBill": true,
"transactions": TransactionConnectionTypeConnection,
"userId": 1,
"toAddress": "abc123",
"paymentDueDate": "2020-01-01",
"consumptionStartDate": "2020-01-01",
"consumptionEndDate": "2020-01-01",
"reversalsAfterClose": "ALL",
"status": "OPEN",
"heldStatus": HeldStatus,
"totalCharges": StatementTotalType,
"totalCredits": StatementTotalType
}Fields
| Name | Description |
|---|---|
costExclTax(EstimatedMoneyType) | Monetary cost of the statistic (excluding tax), if applicable. |
costInclTax(EstimatedMoneyType) | Monetary cost of the statistic (including tax), if applicable. |
description(String) | Description of the statistic for the parent node. |
label(String) | Display label of the statistic for the parent node. |
type(ReadingStatisticTypeEnum) | The type of statistic being measured for the parent node. |
value(Decimal) | Consumption / generation value of the statistic, if applicable. |
Example
{
"type": "STANDING_CHARGE_COST",
"label": "abc123",
"description": "abc123",
"costExclTax": EstimatedMoneyType,
"costInclTax": EstimatedMoneyType,
"value": "1.0"
}StoreDirectDebitPaymentMethodDetails
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-3821: Received neither ledger ID nor ledger number.
- KT-CT-3940: Invalid data.
- KT-CT-3956: Temporary error occurred.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
storedPaymentMethodDetailsReference(String) |
Example
{
"possibleErrors": [PossibleErrorType],
"storedPaymentMethodDetailsReference": "abc123"
}StorePaymentInstruction
Store a new payment instruction created through the embedded process.
The possible errors that can be raised are:
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-4177: Unauthorized.
- KT-CT-3822: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
paymentInstruction(PaymentInstructionType) | The stored payment instruction. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentInstruction": PaymentInstructionType
}Fields
| Name | Description |
|---|---|
stringValue(String!) | The string value of the characteristic. |
Example
{
"stringValue": "abc123"
}StringType
Graphene type object to represent string values
Fields
| Name | Description |
|---|---|
stringValue(String!) | Value of this field. |
Example
{
"stringValue": "abc123"
}SubmitCustomerFeedback
The possible errors that can be raised are:
- KT-CT-5514: Unable to submit feedback.
- KT-CT-5511: The feedback_id should be provided for feedback source.
- KT-CT-5512: The feedback doesn't match the account.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
customerFeedback(CustomerFeedbackType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"customerFeedback": CustomerFeedbackType
}SubmitRepaymentRequest
Mutation for executing the repayment request use case.
The possible errors that can be raised are:
- KT-CT-1132: Unauthorized.
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-3821: Received neither ledger ID nor ledger number.
- KT-CT-3926: Unauthorized.
- KT-CT-3927: Invalid Amount.
- KT-CT-3928: Idempotency key used for another repayment request.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
repaymentRequest(RequestRepaymentOutputType) | The newly created repayment request. |
Example
{
"possibleErrors": [PossibleErrorType],
"repaymentRequest": RequestRepaymentOutputType
}SupplementaryLedgerType
Ledgers provide the foundation of Kraken’s bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular Kraken account.
Fields
| Name | Description |
|---|---|
currentBalance(Int) | The current final balance of the ledger in pence. |
id(ID) | Deprecated The 'ledgerId' field is deprecated. |
ledgerType(String) | |
name(String) | The display name of the ledger. |
number(String) | The canonical name of the ledger. |
paymentAdequacy(PaymentAdequacyDetailsType) | Override Field to add additional attributes and extend description with possible_errors |
Example
{
"id": "abc123",
"name": "abc123",
"ledgerType": "abc123",
"number": "abc123",
"currentBalance": 1,
"paymentAdequacy": PaymentAdequacyDetailsType
}SupplyOrServiceCharge
Supporting information for a customer charge resulting from a supply or service agreement
Fields
| Name | Description |
|---|---|
agreements(AgreementConnection) | Agreements which were charged |
Example
{
"agreements": AgreementConnection
}Fields
| Name | Description |
|---|---|
supplyEndAt(DateTime) | The end date of the supply period. |
supplyStartAt(DateTime) | The start date of the supply period. |
Example
{
"supplyStartAt": "2020-01-01T00:00:00.000Z",
"supplyEndAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([SupplyPointConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": SupplyPointConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}SupplyPointConnectionTypeEdge
A Relay edge containing a SupplyPointConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(SupplyPointType) | The item at the end of the edge |
Example
{
"node": SupplyPointType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
externalIdentifier(String) | Supply point external identifier. |
marketName(String) | Supply point market name. |
requestedSupplyStartDate(Date) | Requested supply start date. |
selectedProduct(SelectedProductType) | The selected product information for this supply point or None if no product is selected. |
Example
{
"externalIdentifier": "abc123",
"marketName": "abc123",
"requestedSupplyStartDate": "2020-01-01",
"selectedProduct": SelectedProductType
}SupplyPointType
Represents a SupplyPoint.
Fields
| Name | Description |
|---|---|
devices(DevicesConnection) | Get list of devices under a supply point. |
externalIdentifier(String) | The external identifier of the supply point. |
id(ID!) | The ID of the supply point. |
marketName(String!) | The market this supply point belongs to. |
meterPoint(MeterPointType) | The meter point associated with this supply point. |
property(PropertyType) | The supply point's property. |
readings(Readings) | Get readings from a readable device e.g., a supply point, device, or register. Arguments
The exclusive end of the time period as an isoformatted string.
Get readings of only this type.
The inclusive start of the time period as an isoformatted string.
Time buckets to group readings into.
The timezone in which to return readings. |
Example
{
"id": "abc123",
"marketName": "abc123",
"externalIdentifier": "abc123",
"readings": Readings,
"property": PropertyType,
"devices": DevicesConnection,
"meterPoint": ElectricityMeterPointType
}SupplyProductTagType
A product tag.
Example
{
"code": "abc123",
"displayName": "abc123"
}SupplyProductType
GraphQL type for a supply product.
Fields
| Name | Description |
|---|---|
availabilityStatus(ProductAvailability) | The product availability status. |
availableFrom(DateTime) | The date and time the product is available from. |
availableTo(DateTime) | The date and time the product is available to. |
brandCode(String) | The brand code of the product. |
code(String) | The product code. |
description(String) | The product description. |
displayName(String) | The product description. |
endsAt(DateTime) | The date the product ends. |
fullName(String) | The product title. |
id(ID!) | |
isHidden(Boolean) | Whether the product is hidden. |
marketName(String) | The name of the market the product belongs to. |
notes(String) | The product notes. |
params(JSONString) | The product parameters. |
tags([SupplyProductTagType!]!) | Tags associated with the product. |
term(Int) | The product term in months. |
termsAndConditionsTypes([TermsAndConditionsType!]!) | Active terms and conditions for a market supply product. |
termsContractType(String) | The product contract type. |
Example
{
"id": "abc123",
"code": "abc123",
"notes": "abc123",
"fullName": "abc123",
"displayName": "abc123",
"description": "abc123",
"availableFrom": "2020-01-01T00:00:00.000Z",
"availableTo": "2020-01-01T00:00:00.000Z",
"isHidden": true,
"term": 1,
"endsAt": "2020-01-01T00:00:00.000Z",
"brandCode": "abc123",
"marketName": "abc123",
"availabilityStatus": "EVERYONE",
"termsContractType": "abc123",
"termsAndConditionsTypes": TermsAndConditionsType,
"params": {"key": "value"},
"tags": SupplyProductTagType
}SuspendDeviceControl
Suspend control of a device while away from home, e.g. on holiday.
This is to prevent charging during that period.
The possible errors that can be raised are:
- KT-CT-4301: Unable to find device for given account.
- KT-CT-4358: Unable to suspend device control.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"krakenflexDevice": KrakenFlexDeviceType
}SwitchMeterPointProducts
Switch the provided meter points to the specified product.
The possible errors that can be raised are:
- KT-GB-4116: Invalid data.
- KT-GB-4617: Quoted product not found.
- KT-CT-4623: Unauthorized.
- KT-GB-4117: Unable to process product switch.
- KT-GB-4119: Meter point already on another account.
- KT-GB-4120: MPxN has no active agreement.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountType) | The account associated with the meter points whose products were switched. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountType
}TagType
Represents a tag used for classifying offerings and products.
Example
{
"code": "abc123",
"displayName": "abc123"
}Fields
| Name | Description |
|---|---|
additionals(String) | |
annualStandingCharge(Float) | |
assumedAnnualConsumptionDay(Int) | |
assumedAnnualConsumptionNight(Int) | |
estimatedAnnualCost(Int) | |
exitFees(Int) | |
exitFeesType(String) | |
paymentMethod(String) | |
priceGuaranteedUntil(String) | |
standingCharge(Float) | |
supplier(String) | |
tariffCode(String) | |
tariffComparisonRate(Float) | |
tariffEndsOn(String) | |
tariffName(String) | |
tariffType(String) | |
unitRateDay(Float) | |
unitRateNight(Float) |
Example
{
"supplier": "abc123",
"tariffName": "abc123",
"tariffType": "abc123",
"tariffCode": "abc123",
"paymentMethod": "abc123",
"tariffEndsOn": "abc123",
"priceGuaranteedUntil": "abc123",
"exitFees": 1,
"exitFeesType": "abc123",
"additionals": "abc123",
"tariffComparisonRate": 1.0,
"standingCharge": 1.0,
"estimatedAnnualCost": 1,
"annualStandingCharge": 1.0,
"unitRateDay": 1.0,
"unitRateNight": 1.0,
"assumedAnnualConsumptionDay": 1,
"assumedAnnualConsumptionNight": 1
}Fields
| Name | Description |
|---|---|
additionals(String) | |
annualStandingCharge(Float) | |
assumedAnnualConsumption(Int) | |
estimatedAnnualCost(Int) | |
exitFees(Int) | |
exitFeesType(String) | |
paymentMethod(String) | |
priceGuaranteedUntil(String) | |
standingCharge(Float) | |
supplier(String) | |
tariffCode(String) | |
tariffComparisonRate(Float) | |
tariffEndsOn(String) | |
tariffName(String) | |
tariffType(String) | |
unitRate(Float) |
Example
{
"supplier": "abc123",
"tariffName": "abc123",
"tariffType": "abc123",
"tariffCode": "abc123",
"paymentMethod": "abc123",
"tariffEndsOn": "abc123",
"priceGuaranteedUntil": "abc123",
"exitFees": 1,
"exitFeesType": "abc123",
"additionals": "abc123",
"tariffComparisonRate": 1.0,
"standingCharge": 1.0,
"estimatedAnnualCost": 1,
"annualStandingCharge": 1.0,
"unitRate": 1.0,
"assumedAnnualConsumption": 1
}Fields
| Name | Description |
|---|---|
additionals(String) | |
annualStandingCharge(Float) | |
assumedAnnualConsumptionDay(Int) | |
assumedAnnualConsumptionNight(Int) | |
assumedAnnualConsumptionOffPeak(Int) | |
estimatedAnnualCost(Int) | |
exitFees(Int) | |
exitFeesType(String) | |
paymentMethod(String) | |
priceGuaranteedUntil(String) | |
standingCharge(Float) | |
supplier(String) | |
tariffCode(String) | |
tariffComparisonRate(Float) | |
tariffEndsOn(String) | |
tariffName(String) | |
tariffType(String) | |
unitRateDay(Float) | |
unitRateNight(Float) | |
unitRateOffPeak(Float) |
Example
{
"supplier": "abc123",
"tariffName": "abc123",
"tariffType": "abc123",
"tariffCode": "abc123",
"paymentMethod": "abc123",
"tariffEndsOn": "abc123",
"priceGuaranteedUntil": "abc123",
"exitFees": 1,
"exitFeesType": "abc123",
"additionals": "abc123",
"tariffComparisonRate": 1.0,
"standingCharge": 1.0,
"estimatedAnnualCost": 1,
"annualStandingCharge": 1.0,
"unitRateDay": 1.0,
"unitRateNight": 1.0,
"unitRateOffPeak": 1.0,
"assumedAnnualConsumptionDay": 1,
"assumedAnnualConsumptionNight": 1,
"assumedAnnualConsumptionOffPeak": 1
}Fields
| Name | Description |
|---|---|
error(String) | The error message if the task failed. |
result(JSONString) | The result of the task. |
status(TaskStatusEnum) | The status of the task. |
Example
{
"status": "STARTED",
"result": {"key": "value"},
"error": "abc123"
}TemporarySpecialCircumstanceRecordType
Any special circumstances that the user has notified us about, which may entitle them to some specialist services. These circumstances have an end date, after which they will not longer apply. Having young children is an example of this in the UK.
Fields
| Name | Description |
|---|---|
createdAt(DateTime) | The date and time the special circumstance record was created. |
electricityPSRCode(String) | |
expiryDate(Date) | |
gasPSRCode(String) | |
id(ID) | |
internalCode(String) | |
summary(String) |
Example
{
"id": "abc123",
"summary": "abc123",
"internalCode": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"gasPSRCode": "abc123",
"electricityPSRCode": "abc123",
"expiryDate": "2020-01-01"
}TermTemplateComponentType
Represents a contract term template component within an offering.
Fields
| Name | Description |
|---|---|
component(TermTemplateType!) | The contract term template associated with this component. |
identifier(ID!) | Unique identifier of the component. |
initialQuantity(Int!) | Initial/default quantity for this component. |
maximumQuantity(Int!) | Maximum quantity of this component that can be selected. |
minimumQuantity(Int!) | Minimum quantity of this component that can be selected. |
Example
{
"identifier": "abc123",
"minimumQuantity": 1,
"maximumQuantity": 1,
"initialQuantity": 1,
"component": TermTemplateType
}TermTemplateType
Represents a contract term template in the catalog.
Fields
| Name | Description |
|---|---|
description(String!) | The description of this contract term template. |
name(String!) | The name of this contract term template. |
templateData(JSONString!) | The data associated with this contract term template. |
termType(String!) | The type of contract term. |
Example
{
"termType": "abc123",
"templateData": {"key": "value"},
"name": "abc123",
"description": "abc123"
}TerminateCreditTransferPermission
Mutation to terminate a credit transfer permission.
The possible errors that can be raised are:
- KT-CT-3822: Unauthorized.
- KT-CT-3825: Credit transfer permission not found.
- KT-CT-3827: The ledger is not valid.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
validTo(DateTime) | Datetime when the credit transfer permission ends. |
Example
{
"possibleErrors": [PossibleErrorType],
"validTo": "2020-01-01T00:00:00.000Z"
}TerminationFeeType
Represents the termination term of a contract.
Fields
| Name | Description |
|---|---|
amount(Decimal) | The amount of the termination fee. |
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
feeType(TerminationFeeType) | The type of termination fee. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
marketName(NonEmptyString) | The market associated with the termination fee. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true,
"amount": "1.0",
"feeType": TerminationFeeType,
"marketName": NonEmptyString
}Fields
| Name | Description |
|---|---|
effectiveFrom(DateTime) | The date from which these terms and conditions are effective. |
html(String!) | The html of the terms and conditions document rendered as a JSON string. |
pdfUrl(String!) | The url location of the pdf. |
text(String!) | The text body of the terms and conditions. |
versionMajor(Int!) | The major version of the terms and conditions. |
versionMinor(Int!) | The minor version of the terms and conditions. |
Example
{
"versionMajor": 1,
"versionMinor": 1,
"text": "abc123",
"html": "abc123",
"pdfUrl": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}TermsAndConditionsConnectionTypeConnection
Pagination for terms and conditions.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([TermsAndConditionsConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": TermsAndConditionsConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}TermsAndConditionsConnectionTypeEdge
A Relay edge containing a TermsAndConditionsConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(TermsAndConditionsType) | The item at the end of the edge |
Example
{
"node": TermsAndConditionsType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
name(String) | The display name of the terms and conditions. |
s3Url(String) | The S3 URL to the terms and conditions file. |
Example
{
"name": "abc123",
"s3Url": "abc123"
}Fields
| Name | Description |
|---|---|
brandCode(String) | |
effectiveFrom(DateTime) | |
html(String) | The html of the terms and conditions document rendered as a JSON string. |
markdown(String) | The markdown text of the terms and conditions. |
name(String) | |
pdfUrl(String) | |
version(String) |
Example
{
"name": "abc123",
"pdfUrl": "abc123",
"brandCode": "abc123",
"markdown": "abc123",
"html": "abc123",
"version": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z"
}TeslaModifyScopes
A step which indicates that the Tesla permission scopes need to be granted by the user in order to register their vehicle.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
modifyScopesUri(String) | Returns the URI to update the permission scopes. |
redirectUri(String) | The redirect URI to return to after updating the permission scopes. |
Example
{
"id": "abc123",
"modifyScopesUri": "abc123",
"redirectUri": "abc123"
}TeslaRegistrationFailed
A step which indicates that the Tesla registration failed and the user must re-grant permission scopes to register their vehicle.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
modifyScopesSelected(Boolean) | Returns:- |
Example
{
"id": "abc123",
"modifyScopesSelected": true
}TeslaSetupVirtualKey
A step which indicates that the user must add the given URI as a virtual key in their Tesla account.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
key(String) | The name of the key to add. |
uri(String) | The URI to add as a virtual key in the user's Tesla account. |
Example
{
"id": "abc123",
"key": "abc123",
"uri": "abc123"
}TestCharge
A step which indicates if we're able to test charge the user's vehicle(s).
Fields
| Name | Description |
|---|---|
error(TestChargeError) | Returns the error raised from a failed test charge. |
id(ID) | A unique identifier for this onboarding step. |
isReady(Boolean) | Returns |
isStarted(Boolean) | Returns |
status(TestDispatchStatus) | Returns the dispatch status of test charge. Deprecated The 'status' field is deprecated. |
Example
{
"id": "abc123",
"error": TestChargeError,
"isReady": true,
"status": "TRIGGERED",
"isStarted": true
}TestChargeError
Errors can be of two kinds (assuming the user is querying this type with message,
reasons, errorType, and descriptions fields):
If we were unable to start a test charge, the response will be:
{ "message": "TestChargeRefused", "reasons": [Returns a list of values from `TestChargeRefusalReason`], "errorType": "UNABLE_TO_INITIATE_TEST_CHARGE", "descriptions": [Returns a list of descriptions for the refusal reasons] }Where
descriptionscan be: -DEVICE_LIVE: "device is already live" -DEVICE_ONBOARDING_IN_PROGRESS: "test dispatch already in progress" -DEVICE_RETIRED: "device is retired" -DEVICE_SUSPENDED: "device is suspended" -DEVICE_DISCONNECTED: "device is disconnected" -DEVICE_ALREADY_CHARGING: "device is already charging" -DEVICE_AWAY_FROM_HOME: "device is away from home" -DEVICE_NO_LOCATION_CONFIGURED: "device has no location configured" -DEVICE_LOCATION_UNABLE_TO_IDENTIFY: "unable to identify device location" -DEVICE_LOCATION_MISSING: "device location is missing"If an error occurred during a test charge, the response will be:
{ "message": "Test dispatch failed", "reasons": [Returns a list of values from `TestDispatchAssessmentFailureReason`], "errorType": "UNABLE_TO_COMPLETE_TEST_CHARGE", "descriptions": [Returns a list of descriptions for the refusal reasons] }Where
descriptionscan be: -ASSESSMENTS_FAILED: "Both power-based and charge status-based assessments failed" -NOT_AT_HOME: "Device location not at home" -UNKNOWN: "Unknown failure" -UNABLE_TO_COMMUNICATE: "Unable to communicate with device" -DEVICE_DISCONNECTED: "Device disconnected" -SOC_LIMIT_REACHED: "State of charge limit reached" -ERROR: "Could not fetch the test charge failure reason" -NONE: "No failure reason"
Fields
| Name | Description |
|---|---|
descriptions([String]) | A list of error descriptions for a failed test charge attempt. |
errorType(TestChargeErrorType) | The type of test charge error. |
message(String) | A human readable error message. |
reasons([String]) | A list of reasons for a failed test charge attempt. |
refusalReasons([TestChargeRefusalReason]) | A list of refusal reasons from the failed test charge attempt. Deprecated The 'refusalReasons' field is deprecated. |
Example
{
"message": "abc123",
"refusalReasons": "DEVICE_LIVE",
"errorType": "UNABLE_TO_INITIATE_TEST_CHARGE",
"reasons": ["abc123"],
"descriptions": ["abc123"]
}TextType
A block of text.
Fields
| Name | Description |
|---|---|
id(ID) | Unique identifier of the object. |
textAlignment(Alignment) | The text alignment. |
textStyle(TextStyleV1) | The text style, i.e. header, body. |
typename(String) | The name of the object's type. |
value(String!) | The text content. |
Example
{
"value": "abc123",
"textStyle": "TITLE1",
"textAlignment": "START",
"id": "abc123",
"typename": "abc123"
}Fields
| Name | Description |
|---|---|
dayRate(Float) | |
dayRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
description(String) | |
displayName(String) | |
fullName(String) | |
id(ID) | |
isExport(Boolean) | Whether the tariff is for exporting energy. |
nightRate(Float) | |
nightRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
offPeakRate(Float) | |
offPeakRateEpgApplied(Boolean) | Is EPG applied to the unit rate. |
preVatDayRate(Float) | |
preVatNightRate(Float) | |
preVatOffPeakRate(Float) | |
preVatStandingCharge(Float) | |
productCode(String) | |
standingCharge(Float) | |
tags([String]) | Tags associated with the tariff. |
tariffCode(String) | Describes a particular tariff by combining the product code, number of rates, available from date and GSP code. |
Example
{
"id": "abc123",
"displayName": "abc123",
"fullName": "abc123",
"description": "abc123",
"productCode": "abc123",
"standingCharge": 1.0,
"preVatStandingCharge": 1.0,
"tariffCode": "abc123",
"isExport": true,
"tags": ["abc123"],
"dayRate": 1.0,
"dayRateEpgApplied": true,
"nightRate": 1.0,
"nightRateEpgApplied": true,
"offPeakRate": 1.0,
"offPeakRateEpgApplied": true,
"preVatDayRate": 1.0,
"preVatNightRate": 1.0,
"preVatOffPeakRate": 1.0
}TimeOfUseOverrideType
Represents a time-of-use override to be applied in a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
description(NonEmptyString) | The description of the term. |
displayName(NonEmptyString) | The display name of the term. |
identifier(NonEmptyString) | The identifier of the term. |
isVariable(Boolean) | Whether the term is variable. |
type(NonEmptyString) | The type of the term. |
Example
{
"type": NonEmptyString,
"displayName": NonEmptyString,
"description": NonEmptyString,
"identifier": NonEmptyString,
"isVariable": true
}TimeSeriesSpecificationEligibilityScheduleType
Represents a schedule for time series specification eligibility within a contract.
Note: This type is a stub, and will be fleshed out in the future.
Fields
| Name | Description |
|---|---|
effectivePeriod(RateGroupEligibilityPeriodType) | The period during which this eligibility is effective. |
isEligible(Boolean) | Indicates if the time series specification is eligible. |
productCode(String) | The product code associated with the time series specification. |
timeSeriesSpecificationCode(String) | The time series specification code. |
Example
{
"productCode": "abc123",
"timeSeriesSpecificationCode": "abc123",
"isEligible": true,
"effectivePeriod": RateGroupEligibilityPeriodType
}TrackOptionType
Key value pair for the choice of tracks.
Fields
| Name | Description |
|---|---|
trackCode(String) | The value save for the user to indicate their choice of track. |
trackTitle(String) | The title of the track. |
Example
{
"trackTitle": "abc123",
"trackCode": "abc123"
}Fields
| Name | Description |
|---|---|
demoUrl(String) | URL for tracker demo. |
electricity(Int) | Today's electricity costs (in pence). |
gas(Int) | Today's gas costs (in pence). |
Example
{
"demoUrl": "abc123",
"electricity": 1,
"gas": 1
}Fields
| Name | Description |
|---|---|
gross(Int) | The gross amount (in minor currency units). |
net(Int) | The net amount (in minor currency units). |
tax(Int) | The amount of tax (in minor currency units). |
Example
{
"net": 1,
"tax": 1,
"gross": 1
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([TransactionConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": TransactionConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}TransactionConnectionTypeEdge
A Relay edge containing a TransactionConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(TransactionType) | The item at the end of the edge |
Example
{
"node": TransactionType,
"cursor": "abc123"
}TransferLoyaltyPointsBetweenUsers
Transfer Loyalty Points between users.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-9205: Insufficient Loyalty Points.
- KT-CT-9204: Negative or zero points set.
- KT-CT-9208: Invalid posted at datetime.
- KT-CT-9209: Negative Loyalty Points balance.
- KT-CT-9210: Unhandled Loyalty Points exception.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
pointsTransferred(Int) | The number of loyalty points that were transferred. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"pointsTransferred": 1
}Fields
| Name | Description |
|---|---|
display(String!) | The human-legible address in a single string, excluding the postcode. |
locality1(String) | Dependant locality e.g. 'Durham'. |
locality2(String) | Double dependant locality e.g. 'Durham East'. |
postcode(String!) | The postcode of the address. |
primaryName(String) | Primary Addressable Object description, normally the name or number of the property e.g. 'London House'. |
secondaryName(String) | Secondary Addressable Object description, e.g. 'Flat 2'. This is only relevant for a child property. |
street1(String) | The thoroughfare e.g. 'Witton Grove'. |
street2(String) | Dependant thoroughfare e.g. 'Witton Grove East'. |
town(String) | The town or city e.g. 'London'. |
uprn(String!) | The Unique Property Reference Number assigned to the addressable location. |
Example
{
"uprn": "abc123",
"display": "abc123",
"primaryName": "abc123",
"secondaryName": "abc123",
"street1": "abc123",
"street2": "abc123",
"locality1": "abc123",
"locality2": "abc123",
"town": "abc123",
"postcode": "abc123"
}Fields
| Name | Description |
|---|---|
preVatValue(Float) | Price in pence (not including VAT). |
rateType(NonBespokeElectricityRateTypeChoices) | The type of usage this rate applies to (e.g., STANDARD, EV_DEVICE). Only available for electricity unit rates. |
validFrom(DateTime) | |
validTo(DateTime) | |
value(Float) | Price in pence (inc VAT). |
Example
{
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"value": 1.0,
"preVatValue": 1.0,
"rateType": "STANDARD"
}UpdateAccountBillingAddress
The possible errors that can be raised are:
- KT-CT-4145: Invalid address.
- KT-CT-7123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountType) | The updated account. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountType
}UpdateAccountBillingEmail
Update the billing email for the input account number to the received email value.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4122: Invalid email.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountInterface) | Account that was changed. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountInterface
}UpdateAccountConsents
Update the consents for an account using consent management system
The possible errors that can be raised are:
- KT-CT-9014: Duplicate consent.
- KT-CT-9016: Consent management not enabled.
- KT-CT-9017: Consent type not found.
- KT-CT-9018: Account not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
consents([ConsentType!]!) | Consents linked to this account. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"consents": ConsentType
}UpdateAccountReference
Update a reference for a particular account and namespace.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-8310: Invalid data.
- KT-CT-8311: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountReference(AccountReferenceType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"accountReference": AccountReferenceType
}UpdateAccountSmartMeterInterest
Set stated interest in acquiring a smart meter of an account.
The possible errors that can be raised are:
- KT-GB-4115: Could not create smart meter interest for account.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
interestUpdated(Boolean) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
smets2Interest(SmartMeterInterestChoices) | The interest of an account in procuring smart meters. |
smets2InterestSource(SmartMeterInterestSourceChoices) | The source category of the smart meter interest update. |
smets2RefusalReason(SMETS2InterestReason) | The reason why the account holder is not interested in having a smart meter installed. |
Example
{
"possibleErrors": [PossibleErrorType],
"interestUpdated": true,
"smets2Interest": "PRIORITY",
"smets2InterestSource": "WEBSITE",
"smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME"
}UpdateAccountUserCommsPreferencesMutationPayload
Update the account user comms preferences.
Fields
| Name | Description |
|---|---|
clientMutationId(String) | |
commsPreferences(AccountUserCommsPreferences) | |
emailFormat(String) | |
errors([ErrorType]) | |
fontSizeMultiplier(Float) | |
isOptedInMeterReadingConfirmations(Boolean) | |
isOptedInToClientMessages(Boolean) | |
isOptedInToOfferMessages(Boolean) | |
isOptedInToRecommendedMessages(Boolean) | |
isOptedInToSmsMessages(Boolean) | |
isOptedInToThirdPartyMessages(Boolean) | |
isOptedInToUpdateMessages(Boolean) | |
isUsingInvertedEmailColours(Boolean) | |
preferredHoldMusic(String) |
Example
{
"isOptedInToClientMessages": true,
"isOptedInToOfferMessages": true,
"isOptedInToRecommendedMessages": true,
"isOptedInToUpdateMessages": true,
"isOptedInToThirdPartyMessages": true,
"isOptedInMeterReadingConfirmations": true,
"isOptedInToSmsMessages": true,
"isUsingInvertedEmailColours": true,
"fontSizeMultiplier": 1.0,
"emailFormat": "abc123",
"preferredHoldMusic": "abc123",
"errors": [ErrorType],
"commsPreferences": AccountUserCommsPreferences,
"clientMutationId": "abc123"
}UpdateAccountUserConsents
Update the consents from an account user using consent management system
The possible errors that can be raised are:
- KT-CT-9014: Duplicate consent.
- KT-CT-9016: Consent management not enabled.
- KT-CT-9017: Consent type not found.
- KT-CT-1111: Unauthorized.
- KT-CT-5421: Account user not found.
- KT-CT-5422: Invalid data.
- KT-CT-1605: Invalid input.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountUserConsents(AccountUserConsents) | All the consents for an account user. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"accountUserConsents": AccountUserConsents
}Fields
| Name | Description |
|---|---|
clientMutationId(String) | |
dateOfBirth(Date) | |
email(String) | |
errors([ErrorType]) | |
familyName(String) | |
givenName(String) | |
landline(String) | |
mobile(String) | |
pronouns(String) |
Example
{
"givenName": "abc123",
"familyName": "abc123",
"pronouns": "abc123",
"mobile": "abc123",
"email": "abc123",
"dateOfBirth": "2020-01-01",
"landline": "abc123",
"errors": [ErrorType],
"clientMutationId": "abc123"
}UpdateActivePurchase
The possible errors that can be raised are:
- KT-CT-8225: Received an invalid purchaseId.
- KT-CT-8226: The provided purchase is not active.
- KT-CT-8206: Invalid data.
- KT-CT-8227: Available grants could not be applied.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
goodsPurchase(GoodsPurchase) | Goods purchase updated. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}UpdateAutoTopUpAmount
The possible errors that can be raised are:
- KT-CT-3815: No active payment schedule found for this account.
- KT-CT-3941: Invalid data.
- KT-CT-3942: An unexpected error occurred.
- KT-CT-3947: An unexpected error occurred.
- KT-CT-3953: The payment schedule is not a balance triggered schedule.
- KT-CT-3820: Received both ledger ID and number.
- KT-CT-3821: Received neither ledger ID nor ledger number.
- KT-CT-3822: Unauthorized.
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
schedule(PaymentScheduleType) | The new schedule created. |
Example
{
"possibleErrors": [PossibleErrorType],
"schedule": PaymentScheduleType
}UpdateCommsDeliveryPreference
Update the comms delivery preference for the input account number to the received commsDeliveryPreference value.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4136: Cannot set comms preference to email when account has no email.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountInterface) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountInterface
}UpdateDocumentAccessibilityPreference
Update the document accessibility preference for the input account number to the received documentAccessibilityPreference value.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountType) | Account that was changed. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"account": AccountType
}UpdateMetadata
Update existing metadata on an object.
The possible errors that can be raised are:
- KT-CT-4323: Unauthorized.
- KT-CT-8413: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
metadata(Metadata) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"metadata": Metadata
}UpdatePassword
Update user's password.
Note this is different from the ResetPassword mutation, which is used to reset a password when the user has forgotten it. This mutation is used to update the password when the user is already authenticated and wants to change their password.
Ideally, this mutation would simply receive a "new_password" and use the current password update usecase, but, until we're ready for a breaking change, we'll need to use the Django form to also validate the old password and two new passwords.
The possible errors that can be raised are:
- KT-CT-5460: Old password is invalid.
- KT-CT-5450: Password is invalid.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
viewer(AccountUserType) | The currently authenticated user. This field requires the |
Example
{
"possibleErrors": [PossibleErrorType],
"viewer": AccountUserType
}UpdatePaymentSchedulePaymentAmount
The possible errors that can be raised are:
- KT-GB-3919: Invalid payment schedule amount.
- KT-GB-3920: Cannot update payment schedule amount.
- KT-CT-3922: Ledger not found for the account.
- KT-CT-3923: Unauthorized.
- KT-CT-3941: Invalid data.
- KT-CT-3942: An unexpected error occurred.
- KT-CT-3822: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
paymentSchedule(PaymentScheduleType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentSchedule": PaymentScheduleType
}UpdatePaymentSchedulePaymentDay
The possible errors that can be raised are:
- KT-GB-3918: Account not found.
- KT-GB-3910: This feature is not available to business accounts.
- KT-GB-3911: Your payment day cannot be changed at this time.
- KT-GB-3912: Unable to update payment day.
- KT-CT-3922: Ledger not found for the account.
- KT-CT-3822: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
paymentSchedule(PaymentScheduleType) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"paymentSchedule": PaymentScheduleType
}UpdateSmartMeterDataPreferences
Update smart meter data preferences of an account.
The possible errors that can be raised are:
- KT-CT-4023: Unauthorized.
- KT-GB-4015: Cannot update smart meter reading frequency preferences.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
preferencesUpdated(Boolean) | |
smartMeterDataPreferences(SmartMeterDataPreferencesType) |
Example
{
"possibleErrors": [PossibleErrorType],
"preferencesUpdated": true,
"smartMeterDataPreferences": SmartMeterDataPreferencesType
}UpdateSpecialCircumstances
The possible errors that can be raised are:
- KT-GB-5411: Failed to update special circumstance record.
- KT-CT-9404: Received an invalid accountUserId.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
specialCircumstances(SpecialCircumstancesType) | Return type displaying an AccountUser's special circumstances. |
Example
{
"possibleErrors": [PossibleErrorType],
"specialCircumstances": SpecialCircumstancesType
}UpdateSpecialCircumstancesAsOrganization
The possible errors that can be raised are:
- KT-GB-5411: Failed to update special circumstance record.
- KT-CT-9404: Received an invalid accountUserId.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
specialCircumstances(SpecialCircumstancesType) | Return type displaying an AccountUser's special circumstances. |
Example
{
"possibleErrors": [PossibleErrorType],
"specialCircumstances": SpecialCircumstancesType
}UpdateSsd
Mutation to update the Supply Start Date (SSD) of an account.
The possible errors that can be raised are:
- KT-GB-4101: Unable to update SSD for account.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
estimatedSsd(Date) | |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
ssdUpdated(Boolean) |
Example
{
"possibleErrors": [PossibleErrorType],
"ssdUpdated": true,
"estimatedSsd": "2020-01-01"
}UpdateUserMutation
The possible errors that can be raised are:
- KT-CT-5413: Invalid data.
- KT-CT-5414: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
viewer(AccountUserType) |
Example
{
"possibleErrors": [PossibleErrorType],
"viewer": AccountUserType
}Fields
| Name | Description |
|---|---|
location(String) | Present for completed dispatches, otherwise |
source(String) | Present for planned dispatches, otherwise |
Example
{
"source": "abc123",
"location": "abc123"
}Fields
| Name | Description |
|---|---|
delta(Decimal) | Energy in kWh (import has a negative value). |
deltaKwh(Int) | This field has been replaced by Deprecated The 'deltaKwh' field is deprecated. |
end(DateTime!) | The end time of the dispatch. |
endDt(String) | This field has been replaced by Deprecated The 'endDt' field is deprecated. |
meta(UpsideDispatchMetaType) | Override Field to add additional attributes and extend description with possible_errors |
start(DateTime!) | The start time of the dispatch. |
startDt(String) | This field has been replaced by Deprecated The 'startDt' field is deprecated. |
Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"startDt": "abc123",
"endDt": "abc123",
"deltaKwh": 1,
"delta": "1.0",
"meta": UpsideDispatchMetaType
}UserActionReason
A type that returns a user action that needs to be completed for the device to be successfully registered.
Fields
| Name | Description |
|---|---|
description(String) | Description of the required user action. |
uri(String) | An optional uri that, if provided, can navigate the user to where they can resolve this required action. |
userAction(String) | Reference key to the required user action. |
Example
{
"userAction": "abc123",
"description": "abc123",
"uri": "abc123"
}UserActionRequired
A type that returns user actions that need to be completed for the device to be successfully registered
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
userActions([UserActionReason]) | List of actions the user must resolve in order for the device to be registered. |
Example
{
"id": "abc123",
"userActions": [UserActionReason]
}UserInputRequired
A type that returns user inputs that need to be provided for the device to be successfully registered
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
userInputs([UserInputType]) | A list of requested inputs for a user to provide in order for the onboarding journey to continue. |
Example
{
"id": "abc123",
"userInputs": [UserInputType]
}Fields
| Name | Description |
|---|---|
description(String) | Human friendly description of the requested input. |
isRequired(Boolean) | True if the requested user input is required. |
isValidated(Boolean) | True if the submitted user input has been successfully validated. |
key(String) | Identifier for the requested user input. |
value(String) | The value that has been submitted for this input. Can be a string, integer, or boolean. |
Example
{
"key": "abc123",
"description": "abc123",
"value": "abc123",
"isRequired": true,
"isValidated": true
}UserManagedPayment
Represents the preference of the user to pay himself, instead of get charged.
Fields
| Name | Description |
|---|---|
forPaymentsAfter(String) | The start time of the payment preference. |
Example
{
"forPaymentsAfter": "abc123"
}Fields
| Name | Description |
|---|---|
information(VehicleInformationType) | Override Field to add additional attributes and extend description with possible_errors |
vehicleId(String) |
Example
{
"vehicleId": "abc123",
"information": VehicleInformationType
}ValidateMfaDevice
Validate multi-factor authentication (MFA) devices for user.
The possible errors that can be raised are:
- KT-CT-1150: MFA device not found.
- KT-CT-1151: MFA device not found.
- KT-CT-1152: Invalid MFA token.
- KT-CT-1155: Enabled backup device is needed.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
deviceIsValid(Boolean) | Flag to indicate if the device has been verified, so it can be used for MFA. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType],
"deviceIsValid": true
}VariantProfile
Object representing a variant profile.
Fields
| Name | Description |
|---|---|
characteristicValues(JSONString!) | The characteristic values for the variant. |
schemeLabels(JSONString) | The scheme labels for the variant. |
Example
{
"characteristicValues": {"key": "value"},
"schemeLabels": {"key": "value"}
}Fields
| Name | Description |
|---|---|
maximumSocPercentage(Int) | The maximum state of charge (soc) %, if available. |
minimumSocPercentage(Int) | The minimum state of charge (soc) %, if available. |
weekdayTargetSoc(Int) | |
weekdayTargetTime(String) | |
weekendTargetSoc(Int) | |
weekendTargetTime(String) |
Example
{
"weekdayTargetTime": "abc123",
"weekdayTargetSoc": 1,
"weekendTargetTime": "abc123",
"weekendTargetSoc": 1,
"minimumSocPercentage": 1,
"maximumSocPercentage": 1
}Fields
| Name | Description |
|---|---|
brand(String) | |
displayName(String) | The (user chosen) display name of the vehicle, if available. |
model(String) | The model name of the vehicle, if available (e.g. i3s 120). |
vin(String) | |
year(Int) | The year of the vehicle model, if available. |
Example
{
"vin": "abc123",
"brand": "abc123",
"model": "abc123",
"year": 1,
"displayName": "abc123"
}Fields
| Name | Description |
|---|---|
status(String) | Verification process status. |
type(String) | Verification type. |
userNumber(String) | Customer with pending verification. |
Example
{
"userNumber": "abc123",
"status": "abc123",
"type": "abc123"
}VerifyCustomer
Verify a customer using the provided code and verification type.
The possible errors that can be raised are:
- KT-CT-4191: Error while verifying the customer.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
user(AccountUserType) | The currently authenticated user. |
Example
{
"possibleErrors": [PossibleErrorType],
"user": AccountUserType
}VerifyIdentity
The possible errors that can be raised are:
- KT-CT-1145: Account/user details do not match.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
token(String!) | An expiring token that can be used to request to update the user's email address. |
Example
{
"possibleErrors": [PossibleErrorType],
"token": "abc123"
}VoiceCampaignConnectionTypeEdge
A Relay edge containing a VoiceCampaignConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(VoiceCampaignType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}VoiceCampaignItemConnectionTypeEdge
A Relay edge containing a VoiceCampaignItemConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(VoiceCampaignItemType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([VoucherPurchaseConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": VoucherPurchaseConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}VoucherPurchaseConnectionTypeEdge
A Relay edge containing a VoucherPurchaseConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(VoucherPurchaseType) | The item at the end of the edge |
Example
{
"node": VoucherPurchaseType,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
availableFrom(Date) | When the voucher becomes available to be redeemed. |
balance(Int) | The current balance left in the voucher. |
charge(AccountChargeType) | The amount charged for the voucher. |
chargeBalanceTransfer(AccountBalanceTransferType) | A balance transfer for the voucher charge, if any. |
clientParams(JSONString) | Additional metadata from client sources stored against the voucher. This data is not structural and won't be relied on by Kraken internally. |
displayName(String) | Display name for the voucher purchase. |
id(ID) | The purchase ID. |
payment(AccountPaymentType) | The payment associated with the voucher purchase, if any. |
purchasedAt(DateTime) | When the purchase was performed. |
redemptions([VoucherRedemptionType]) | Fetch the redemptions for this voucher. |
voucherValue(Int) | The value of the voucher in cents. |
Example
{
"id": "abc123",
"charge": AccountChargeType,
"payment": AccountPaymentType,
"displayName": "abc123",
"clientParams": {"key": "value"},
"purchasedAt": "2020-01-01T00:00:00.000Z",
"voucherValue": 1,
"availableFrom": "2020-01-01",
"balance": 1,
"redemptions": [VoucherRedemptionType]
}Fields
| Name | Description |
|---|---|
claimedAt(DateTime) | When the redemption was claimed. |
credit(AccountCreditType) | The amount credited for the voucher redemption. |
id(ID) | The redemption ID. |
Example
{
"id": "abc123",
"credit": AccountCreditType,
"claimedAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
redeemableInFuture(Int) | The balance from vouchers that will be redeemable in future. |
redeemableToday(Int) | The balance from vouchers that can be redeemable today. |
Example
{
"redeemableToday": 1,
"redeemableInFuture": 1
}WaitForLiveIntegration
Indicates a step where the integration is pending activation.
Progress to the next onboarding step is blocked until the integration becomes active.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
isLive(Boolean) | Returns |
Example
{
"id": "abc123",
"isLive": true
}WaitForTransition
A generic step that can be used to hold an onboarding wizard until the device has transitioned from one onboarding state to another.
Generally, this step should be completed via a KF AMI event handler after the device has been registered and transitioned to the desired state.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
Example
{
"id": "abc123"
}Fields
| Name | Description |
|---|---|
additionalInformation(String) | |
addressIdentifier(String) | |
anticipatedCoverageAt(String) | |
auxiliaryEquipment(String) | |
connectivityLikelihood(String) | |
isCoverageAvailable(Boolean) | |
postcode(String) | |
wanTechnology(String) |
Example
{
"postcode": "abc123",
"addressIdentifier": "abc123",
"isCoverageAvailable": true,
"anticipatedCoverageAt": "abc123",
"wanTechnology": "abc123",
"auxiliaryEquipment": "abc123",
"connectivityLikelihood": "abc123",
"additionalInformation": "abc123"
}Fields
| Name | Description |
|---|---|
applications(WarmHomeDiscountApplicationConnection) | Get the Warm Home Discount applications against this account. These are ordered to return the most recent first. |
records(WarmHomeDiscountRecordConnection) | Get the Warm Home Discount records attached to this account. These are ordered to return the most recent first. |
Example
{
"applications": WarmHomeDiscountApplicationConnection,
"records": WarmHomeDiscountRecordConnection
}WarmHomeDiscountApplication
Get details about a Warm Home Discount application.
Fields
| Name | Description |
|---|---|
qualifyingComponent(QualifyingComponentOptions) | Which component criteria was chosen for the Warm Home Discount application. |
qualifyingCriteria(QualifyingCriteriaOptions) | Which criteria was chosen for the Warm Home Discount application. |
rejectionReason(BroaderGroupRejectionReason) | Reason for rejecting a Warm Home Discount application. |
status(Status) | The status of the Warm Home Discount application. |
taxYear(String) | The tax year for which the application was made. |
updatedAt(Date) | The last date on which this application was updated. |
yearEnding(Int!) |
Example
{
"qualifyingCriteria": "CHILD_TAX_CREDIT",
"qualifyingComponent": "ADULT_DISABILITY_PAYMENT",
"yearEnding": 1,
"status": "PENDING",
"rejectionReason": "APPLICATIONS_NOT_OPEN",
"taxYear": "abc123",
"updatedAt": "2020-01-01"
}WarmHomeDiscountApplicationConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([WarmHomeDiscountApplicationEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": WarmHomeDiscountApplicationEdge,
"totalCount": 1,
"edgeCount": 1
}WarmHomeDiscountApplicationEdge
A Relay edge containing a WarmHomeDiscountApplication and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(WarmHomeDiscountApplication) | The item at the end of the edge |
Example
{
"node": WarmHomeDiscountApplication,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
errors([SerializerFieldErrorsType]) | |
id(String) |
Example
{
"errors": [SerializerFieldErrorsType],
"id": "abc123"
}Fields
| Name | Description |
|---|---|
isEligible(Boolean) | Is the customer eligible to apply for the Warm Home Discount as part of the Scottish Broader Group. |
rejectionReason(String) | Reason why the customer is unable to apply. |
Example
{
"isEligible": true,
"rejectionReason": "abc123"
}WarmHomeDiscountRecord
Get details about a Warm Home Discount record.
Fields
| Name | Description |
|---|---|
accountType(WhdAccountType) | Type of account receiving the discount. Either credit the account or payment via prepay cards. |
credit(Int) | Amount in pence that was credited to the account as a result of the discount. |
qualifyingComponent(QualifyingComponentOptions) | Which component criteria was chosen for the Warm Home Discount. |
qualifyingCriteria(QualifyingCriteriaOptions) | Which criteria was chosen for the Warm Home Discount. |
taxYear(String) | The tax year for which the credit was given. |
yearEnding(Int!) |
Example
{
"accountType": "SMART_PREPAY",
"yearEnding": 1,
"qualifyingCriteria": "CHILD_TAX_CREDIT",
"qualifyingComponent": "ADULT_DISABILITY_PAYMENT",
"credit": 1,
"taxYear": "abc123"
}WarmHomeDiscountRecordConnection
This field is a connection type. Connections are used to implement cursor based pagination.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([WarmHomeDiscountRecordEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": WarmHomeDiscountRecordEdge,
"totalCount": 1,
"edgeCount": 1
}WarmHomeDiscountRecordEdge
A Relay edge containing a WarmHomeDiscountRecord and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(WarmHomeDiscountRecord) | The item at the end of the edge |
Example
{
"node": WarmHomeDiscountRecord,
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
deviceId(String) | Serial number. |
marketSupplyPointId(String) | Meter point reference. |
readingFrequencyType(ReadingFrequencyType) | The frequency of the reading. |
Example
{
"marketSupplyPointId": "abc123",
"deviceId": "abc123",
"readingFrequencyType": "RAW_INTERVAL"
}Fields
| Name | Description |
|---|---|
body(String!) | Whatsapp text message body. |
Example
{
"body": "abc123"
}