Objects
Objects in GraphQL represent the resources you can access. An object can contain a list of fields, which are specifically typed.
API Site
Fields
Name | Description |
---|---|
code (String) | Code name of the sensor. |
displayName (String) | User determined name for a sensor. |
enabled (Boolean) | Whether or not a sensor is enabled. |
type (SensorType) | Sensor type (NTC). |
Example
{
"code": "abc123",
"displayName": "abc123",
"type": "ZIGBEE",
"enabled": true
}
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. |
Example
{
"possibleErrors": [PossibleErrorType],
"goodsPurchase": GoodsPurchase
}
AcceptTermsAndConditions
Record the terms have been accepted and progress the workflow.
Fields
Name | Description |
---|---|
acceptedVersion (String) | Version of terms and conditions that were accepted. |
Example
{
"acceptedVersion": "abc123"
}
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. |
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"
}
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) | |
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 |
---|---|
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 pence |
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 ([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 pence |
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. |
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. |
billingAddress (String) | The billing address of the account. |
billingAddressLine1 (String) | |
billingAddressLine2 (String) | |
billingAddressLine3 (String) | |
billingAddressLine4 (String) | |
billingAddressLine5 (String) | |
billingAddressPostcode (String) | |
billingCountryCode (String) | |
billingDeliveryPointIdentifier (String) | |
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.
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. |
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. |
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
|
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
|
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. |
isEligibleForGasReadingIncentive (Boolean) | Whether or not an account is eligible for a gas reading incentive. |
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. |
maximumRefund (MaximumRefundType) | The maximum amount a customer is allowed to request as a refund and the reason why that's the maximum amount. |
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. |
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. |
referralsCreated (Int) | Number of referrals created by this 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. |
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,
"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,
"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,
"properties": [PropertyType],
"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
}
Fields
Name | Description |
---|---|
url (String) | A url pertaining to a specific account. |
urlIdentifier (String) | A description of the url's effect. |
Example
{
"urlIdentifier": "abc123",
"url": "abc123"
}
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. |
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. |
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"
}
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
}
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. |
alternativePhoneNumbers ([String]) | List of alternative phone numbers for the account user. |
consents ([ConsentType!]!) | Consents linked to this user. |
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!) | |
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) | |
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!) | |
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",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"portfolios": PortfolioConnectionTypeConnection,
"dateOfBirth": "2020-01-01",
"details": [AccountUserDetailType],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"consents": ConsentType,
"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 (SiteworksAppointmentStatus) | 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",
"agent": "SMS",
"workCategory": "EXCHANGE",
"status": "BOOKED",
"appointmentDate": "2020-01-01",
"timeSlotStart": "00:00:00.000Z",
"timeSlotEnd": "00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z",
"date": "2020-01-01",
"isTradToSmartExchange": true,
"requestId": "abc123",
"agentReference": "abc123",
"cancellationCategory": "CANCELLED_BY_CUSTOMER",
"cancellationSubCategory": "abc123"
}
Fields
Name | Description |
---|---|
timestamp (DateTime) | The time the data was reported. |
value (HeatPumpActivity) | The latest reported activity of the heat pump. |
Example
{
"value": "PRE_HEATING",
"timestamp": "2020-01-01T00:00:00.000Z"
}
AddCampaignToAccount
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 |
---|---|
campaignAdded (Boolean) | Whether the campaign was successfully added. |
possibleErrors ([PossibleErrorType]) | Field with the possible errors of the query/mutation. |
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
}
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 |
---|---|
addressLine1 (String!) | First address line. |
addressLine2 (String) | Second address line. |
addressLine3 (String) | Third address line. |
addressLine4 (String) | Fourth address line. |
addressLine5 (String) | Fifth address line. |
postcode (String!) | Postcode. |
uprn (String) | Unique Property Reference Number. |
Example
{
"uprn": "abc123",
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123",
"addressLine4": "abc123",
"addressLine5": "abc123",
"postcode": "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 |
---|---|
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
}
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-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. |
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!) | |
pdfUrl (String) | URL to the PDF of the annulment. |
Example
{
"id": 1,
"annulledBillingDocumentId": 1,
"firstIssued": "2020-01-01T00:00:00.000Z",
"pdfUrl": "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"
}
AssignDiscountCode
The possible errors that can be raised are:
- KT-GB-5911: We have assigned all electric blanket discount codes.
- KT-GB-5912: Account already has a discount code assigned.
- KT-GB-5913: An error occurred assigning a discount code.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
Name | Description |
---|---|
discountCode (String) | The assigned discount code. |
possibleErrors ([PossibleErrorType]) | Field with the possible errors of the query/mutation. |
Example
{
"possibleErrors": [PossibleErrorType],
"discountCode": "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"
}
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"
}
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"
}
Fields
Name | Description |
---|---|
electricity (SupplyTypeSpecificSpinsType) | Spin information for an electricity agreement. |
gas (SupplyTypeSpecificSpinsType) | Spin information for a gas agreement. |
Example
{
"electricity": SupplyTypeSpecificSpinsType,
"gas": SupplyTypeSpecificSpinsType
}
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. |
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 |
---|---|
isAvailable (Boolean) | Whether the balance forecast is available for the given account. |
Example
{
"isAvailable": true
}
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": "DAIKIN",
"params": BatteryParamsType,
"deviceStatus": DeviceStatusType,
"chargingPreferences": BatteryChargingPreferencesType
}
Fields
Name | Description |
---|---|
variantId (ID) | ID of the battery variant. |
Example
{
"variantId": "abc123"
}
Fields
Name | Description |
---|---|
connectionStatus (ConnectionStatus) | Whether the battery is currently connected (online/offline). |
powerInKw (Decimal) | The current power of the battery in kW. |
stateOfCharge (Decimal) | The current state of charge (SoC) of the battery (percentage). |
Example
{
"connectionStatus": "ONLINE",
"powerInKw": 1.0,
"stateOfCharge": 1.0
}
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]
}
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"
}
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
}
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"
}
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"
}
BulkUpdateSensorDisplayName
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-1113: Disabled GraphQL field requested.
Fields
Name | Description |
---|---|
possibleErrors ([PossibleErrorType]) | Field with the possible errors of the query/mutation. |
transactionIds ([SensorUpdateTransactionId]) | A mapping of transaction ids for each sensor. |
Example
{
"possibleErrors": [PossibleErrorType],
"transactionIds": [SensorUpdateTransactionId]
}
Fields
Name | Description |
---|---|
businessType (BusinessTypeOptions) | The company type of a business account. |
linkedAccountNumber (ID!) | Account number linked to this business. |
name (String!) | The business' name |
number (String!) | The business' number |
Example
{
"name": "abc123",
"number": "abc123",
"businessType": "SOLE_TRADER",
"linkedAccountNumber": "abc123"
}
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"
}
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. |
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-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. |
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
}
Fields
Name | Description |
---|---|
description (String) | The description for each kind of Constantine. |
displayName (String) | The name describing which kind of Constantine this Constantine is. |
firstCaught (DateTime) | The first time this Constantine was caught. |
prizeEntries (Int) | How many prize entries catching this Constantine is worth. |
rarity (Rarity) | How rare this kind of Constantine is expressed as en enum associated to a percentage value. |
slug (String) | The slug for this kind of Constantine. |
totalCaught (Int) | The amount of times this Constantine has been caught. |
Example
{
"displayName": "abc123",
"slug": "abc123",
"rarity": "Popular",
"description": "abc123",
"prizeEntries": 1,
"totalCaught": 1,
"firstCaught": "2020-01-01T00:00:00.000Z"
}
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. |
hasStatement (Boolean) | Returns True if the transaction is linked with a statement. |
id (ID) | |
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) | |
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) |
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,
"isExport": true
}
Fields
Name | Description |
---|---|
make (String) | |
models ([ChargePointModelsType]) |
Example
{
"make": "abc123",
"models": [ChargePointModelsType]
}
Example
{
"model": "abc123",
"powerInKw": ["abc123"]
}
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) |