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 |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountAccessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountAccessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountAccessConnectionTypeEdge
A Relay edge containing a AccountAccessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountAccessType) | The item at the end of the edge |
Example
{
"node": AccountAccessType,
"cursor": "abc123"
}AccountAccessType
Represents the accessible account and access information of an accessor.
Fields
| Name | Description |
|---|---|
entity(AccountType!) | The account that the accessor has access to. |
roleAssignments([RoleAssignment]!) | The role assignments that the accessor has for the entity. |
Example
{
"roleAssignments": RoleAssignment,
"entity": AccountType
}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"
}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 |
|---|---|
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 |
|---|---|
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
}AccountManualHoldType
A manual billing document hold on an account.
Fields
| Name | Description |
|---|---|
createdAt(DateTime!) | When the hold was created. |
id(ID!) | The ID of the manual hold. |
reasonCode(String!) | The code of the hold reason. |
validFrom(DateTime!) | The start of the hold validity period. |
validTo(DateTime) | The end of the hold validity period. Null if the hold is open-ended. |
Example
{
"id": "abc123",
"reasonCode": "abc123",
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z"
}Example
{
"id": "abc123",
"body": "abc123",
"isPinned": true,
"createdAt": "2020-01-01T00:00:00.000Z",
"unpinAt": "2020-01-01T00:00:00.000Z"
}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) | The ID of the payment. Deprecated The 'id' field is deprecated. |
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. |
uuid(UUID!) |
Example
{
"id": "abc123",
"amount": 1,
"paymentDate": "2020-01-01",
"reference": "abc123",
"transactionType": "DD_FIRST_COLLECTION",
"status": "SCHEDULED",
"uuid": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"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 |
paymentUuid(UUID) | The UUID of the payment being refunded. |
reason(RepaymentReason) | The reason for the repayment. |
status(AccountRepaymentStatusOptions) | The current status of the repayment. |
Example
{
"id": "abc123",
"amount": 1,
"paymentDate": "2020-01-01",
"status": "REQUESTED",
"reason": "BILLING_ADJUSTMENT",
"paymentUuid": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}AccountSearchItemType
A single account search hit
Fields
| Name | Description |
|---|---|
account(AccountType) | The account found. |
score(Decimal) | How well the account matched the search terms. |
Example
{
"account": AccountType,
"score": "1.0"
}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. |
accountUserAccessors(AccountUserAccessorAccessConnectionTypeConnection) | Account users that have access to this account, with their access information. |
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) | |
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. |
billingSubName(String) | The billing sub name of the account. |
billingTriggerConfiguration(BillingTriggerConfiguration) | The active billing trigger configuration for 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 item-based billing documents (invoices) 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. |
canModifyPayments(CanModifyPaymentsType) | Data about whether or not an account can modify their payments. |
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. |
createdAt(DateTime) | The datetime that the account was originally created. |
customerAssets([CustomerAssetType]) | Get customer assets for 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. |
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. |
id(ID!) | |
isInHardship(Boolean) | True if there is an active Hardship Agreement for this account. False otherwise. |
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. |
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. |
partnerAccessors(PartnerAccessorAccessConnectionTypeConnection) | Partners that have access to this account, with their access information. |
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. |
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) | |
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. |
splitBillingAddress([String]) | List of billing address lines. |
status(AccountStatus) | The current status of the account. |
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!]!) |
Example
{
"brand": "abc123",
"status": "PENDING",
"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,
"number": "abc123",
"portfolio": PortfolioType,
"ledgers": [LedgerType],
"metadata": [Metadata],
"canRequestRefund": true,
"requestRefundEligibility": RequestRefundEligibilityType,
"payments": AccountPaymentConnectionTypeConnection,
"repayments": AccountRepaymentConnectionTypeConnection,
"paymentPlans": PaymentPlanConnectionTypeConnection,
"paymentSchedules": PaymentScheduleConnectionTypeConnection,
"paymentForecast": [PaymentForecastType],
"paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
"referrals": ReferralConnectionTypeConnection,
"referralsCreated": 1,
"rewards": [RewardType],
"activeReferralSchemes": ReferralSchemeTypes,
"transactions": TransactionConnectionTypeConnection,
"provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
"annualStatements": AnnualStatementConnectionTypeConnection,
"bills": BillConnectionTypeConnection,
"billingOptions": BillingOptionsType,
"billingTriggerConfiguration": BillingTriggerConfiguration,
"bill": BillInterface,
"directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"events": AccountEventConnectionTypeConnection,
"applications": AccountApplicationConnectionTypeConnection,
"accountType": "BUSINESS",
"businessType": "SOLE_TRADER",
"business": BusinessType,
"commsDeliveryPreference": "EMAIL",
"communicationDeliveryPreference": "abc123",
"documentAccessibility": "LARGE_PRINT",
"references": [AccountReferenceType],
"fileAttachments": [AccountFileAttachment],
"paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
"maximumRefund": MaximumRefundType,
"campaigns": [AccountCampaignType],
"isInHardship": true,
"activeHardshipAgreements": [HardshipAgreementType],
"contributionAgreements": [ContributionAgreementType],
"assistanceAgreements": [AssistanceAgreementType],
"createdAt": "2020-01-01T00:00:00.000Z",
"preferredLanguageForComms": "abc123",
"consents": ConsentType,
"reminders": AccountReminderConnectionTypeConnection,
"customerAssets": [CustomerAssetType],
"partnerAccessors": PartnerAccessorAccessConnectionTypeConnection,
"accountUserAccessors": AccountUserAccessorAccessConnectionTypeConnection,
"complaints": ComplaintConnectionTypeConnection,
"id": "abc123",
"users": AccountUserType,
"properties": [PropertyType],
"marketSupplyAgreements": AgreementConnection,
"canModifyPayments": CanModifyPaymentsType
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([AccountUserAccessorAccessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": AccountUserAccessorAccessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}AccountUserAccessorAccessConnectionTypeEdge
A Relay edge containing a AccountUserAccessorAccessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(AccountUserAccessorAccessType) | The item at the end of the edge |
Example
{
"node": AccountUserAccessorAccessType,
"cursor": "abc123"
}AccountUserAccessorAccessType
Represents an account user and their access information to an entity.
Fields
| Name | Description |
|---|---|
accessor(AccountUserType!) | The account user that has access to the entity. |
roleAssignments([RoleAssignment!]!) | The role assignments that the accessor has for the entity. |
Example
{
"roleAssignments": RoleAssignment,
"accessor": AccountUserType
}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",
"account": AccountType,
"user": AccountUserType,
"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!) | |
externalId(String) | The value set in the configured external ID details namespace. |
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. |
id(ID!) | The unique identifier of the account user. |
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. |
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",
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"permissions": [AccountUserPermission],
"accounts": AccountInterface,
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"isActive": true,
"address": RichAddressType,
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"businesses": BusinessConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"externalId": "abc123",
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection
}AddNoteToInkConversation
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
note(InkNote) | The ink conversation note. |
Example
{
}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 |
|---|---|
property(PropertyType) | The property that was added to the account. |
Example
{
"property": PropertyType
}AddStorylineToInkConversation
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-7651: Only one storyline entry can be marked as the root cause.
- KT-CT-7657: The provided analyzer result data is invalid.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
storyline(InkStoryline) | The storyline that was added to the conversation. |
Example
{
}Fields
| Name | Description |
|---|---|
accessibleAccounts(AccountAccessConnectionTypeConnection) | Accounts this partner can access, with the roles granting that access. |
accessibleBusinesses(BusinessAccessConnectionTypeConnection) | Businesses this partner can access, with the roles granting that access. |
allowAlternativePaymentMethods(Boolean) | Is this partner allowed to specify payment methods other than Direct Debit in the import csv or API. |
canRegisterBusinessMeterPoints(Boolean) | Are meter point registrations limited for profile classes 1 and 2 for registrations from csv or API. |
canRegisterCustomersWithoutEmailAddress(Boolean) | Allow registration requests with customers without an email address. |
canRegisterPortfolioAccounts(Boolean) | Allow registration requests with exiting account user emails to add to the portfolio belonging to the account user. |
canRenewTariffs(Boolean) | Allow performing tariff renewals via API. |
canUseIvrSupportApi(Boolean) | Allow this partner access to the IVR support API (modify their own IVR handling through third party 'IVR Flow Editor'). |
contactEmail(String!) | The primary contact email for the organisation. |
defaultAccountType(AccountTypeChoices) | Default Account Type. |
id(ID!) | The ID of the affiliate organisation. |
isFieldSalesOnlyProduct(Boolean) | Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels. |
name(String!) | The name of the affiliate organisation. |
number(String!) | Unique identifier for the organisation in the format O-XXXXXXXX. |
partnerUserAccessors(PartnerUserAccessorAccessConnectionTypeConnection) | Partner users that have access to this partner, with their access information. |
references([OrganisationReferenceType]) | External references attached to the organisation, keyed by namespace. |
salesChannel(SalesChannelChoices) | Sales Channel. Deprecated The 'salesChannel' field is deprecated. |
salesChannelCode(String) | Sales Channel Code. |
skipMeterPointAddressValidation(Boolean) | Allow this partner to skip validation that ensures all meter points belong to the same address. |
Example
{
"id": "abc123",
"number": "abc123",
"name": "abc123",
"contactEmail": "abc123",
"salesChannel": "DIRECT",
"salesChannelCode": "abc123",
"defaultAccountType": "BUSINESS",
"canRegisterBusinessMeterPoints": true,
"canRegisterPortfolioAccounts": true,
"canRegisterCustomersWithoutEmailAddress": true,
"skipMeterPointAddressValidation": true,
"allowAlternativePaymentMethods": true,
"canRenewTariffs": true,
"canUseIvrSupportApi": true,
"isFieldSalesOnlyProduct": true,
"accessibleAccounts": AccountAccessConnectionTypeConnection,
"accessibleBusinesses": BusinessAccessConnectionTypeConnection,
"partnerUserAccessors": PartnerUserAccessorAccessConnectionTypeConnection
}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
}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"
}Fields
| Name | Description |
|---|---|
category(String) | The category of the rate, e.g. 'CONSUMPTIONCHARGE' or 'STANDINGCHARGE'. |
currency(String) | The currency the rate is priced in. |
isSalesTax(Boolean!) | Whether the rate represents a sales tax. |
name(String!) | The display name of the rate. |
overridePrice(Decimal) | Override price for the applicable rate. |
pricePerUnit(Decimal!) | Price per unit. |
rateId(Int) | Technical identifier of the applicable rate. |
sourceSystem(String!) | The system the rate was sourced from. |
unit(String!) | Unit of the applicable rate. |
unitDisplay(String!) | A human-readable display of the unit, e.g. 'p/kWh'. |
validityPeriod(ApplicableRateValidityPeriodType!) | The period during which the rate is valid. |
variantProfile(VariantProfile!) | The variant profile for the applicable rate. |
Example
{
"sourceSystem": "abc123",
"name": "abc123",
"pricePerUnit": "1.0",
"unit": "abc123",
"unitDisplay": "abc123",
"variantProfile": VariantProfile,
"rateId": 1,
"overridePrice": "1.0",
"currency": "abc123",
"category": "abc123",
"isSalesTax": true
}ApplicableRateValidityPeriodType
Represents the period during which a rate is valid.
Fields
| Name | Description |
|---|---|
end(DateTime) | The date and time until which the rate is valid. Null indicates the rate has no end date. |
start(DateTime) | The date and time from which the rate is valid. |
Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z"
}AssignInkBucket
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-7613: The Ink bucket was not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
bucket(InkBucket!) | The bucket that the conversation will be assigned to. |
conversation(InkConversation!) | The conversation that will be assigned to the bucket. |
Example
{
"conversation": InkConversation
}AssignSupplyPointToEstimationGroup
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-13601: Estimation Group does not exist.
- KT-CT-13602: Supply Point already has an Estimation Group.
- KT-CT-13603: Supply Point does not exist.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
supplyPointEstimationGroup(AssignedSupplyPointEstimationGroupType) | The created supply point estimation group mapping. |
Example
{
}Fields
| Name | Description |
|---|---|
estimationGroupCode(String!) | The code of the estimation group. |
supplyPointExternalId(String!) | The external identifier of the assigned supply point. |
Example
{
"estimationGroupCode": "abc123",
"supplyPointExternalId": "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"
}AssociateArchivedCallRecordingsWithCalls
The possible errors that can be raised are:
- KT-CT-11818: Invalid archived call recordings input.
- KT-CT-11820: Too many recordings to associate in a single request.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
results([AssociateArchivedRecordingResultType]) | Per-recording processing results. |
summary(AssociateArchivedRecordingsSummaryType) | Summary counts of the processing results. |
Example
{
}Fields
| Name | Description |
|---|---|
reason(String) | If skipped or errored, the reason why. |
recordingId(Int) | The ID of the recording, if one exists. |
status(AssociateArchivedRecordingResultStatus!) | The processing status: success, skipped, or error. |
vendorCallLegId(String!) | The vendor call leg ID from the input. |
Example
{
"vendorCallLegId": "abc123",
"recordingId": 1,
"status": "SUCCESS",
"reason": "abc123"
}Fields
| Name | Description |
|---|---|
failed(Int!) | Number of recordings that failed to process. |
successful(Int!) | Number of recordings that were successfully archived or skipped. |
total(Int!) | Total number of recordings processed. |
Example
{
"total": 1,
"successful": 1,
"failed": 1
}AssociateCallWithAccount
The possible errors that can be raised are:
- KT-CT-4178: No account found with given account number.
- KT-CT-11802: Call not found.
- KT-CT-11808: Unable to associate account to call.
- KT-CT-11817: Invalid call ID.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
call(InboundCallType) | The call. |
Example
{
}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. |
error(AuthFlowError) | Returns the error raised from a failed authorization flow, if any. |
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",
"error": AuthFlowError
}AuthFlowError
An error that occurred during an authorization flow.
Fields
| Name | Description |
|---|---|
description(String) | A more detailed description of the error, if available. |
message(String) | A human readable error message. |
Example
{
"message": "abc123",
"description": "abc123"
}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. |
Example
{
"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 |
|---|---|
connectionStatus(ConnectionStatus) | Whether the battery is currently connected (online/offline). |
powerInKw(Decimal) | The current power being used to charge the battery, or discharging from the battery, in kW. A negative value indicates this power is being used to charge the battery; a positive value indicates power is being discharged from the battery. |
stateOfCharge(Decimal) | The current state of charge (SoC) of the battery (0-100). |
Example
{
"connectionStatus": "ONLINE",
"powerInKw": "1.0",
"stateOfCharge": "1.0"
}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"
}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"
}BillRepresentationContextType
Provides the rendering context data used to generate a bill representation, along with its associated JSON Schema metadata.
Fields
| Name | Description |
|---|---|
data(GenericScalar) | The raw template context used to render the bill representation. Returns null if the context data is unavailable. |
schema(GenericScalar) | The schema defining the expected structure of the |
schemaType(String) | The level of explicit structural typing applied to the context data. 'STRICT' indicates that the data conforms to a defined, typed schema; 'NONE' indicates that the data is untyped and no schema is enforced. |
templateCode(String) | The unique code of the template associated with this context. |
Example
{
"data": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"schema": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"schemaType": "abc123",
"templateCode": "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. |
context(BillRepresentationContextType) | The rendering context data and schema associated with this bill representation. Returns null if no context record exists. |
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",
"context": BillRepresentationContextType
}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"
}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
}BillingOperationFrequency
A billing operation frequency definition.
Fields
| Name | Description |
|---|---|
frequency(BillingTriggerFrequency!) | The billing frequency. |
multiplier(Int!) | The frequency multiplier (e.g., 2 for bi-monthly). |
operationType(BillingTriggerOperationType!) | The type of billing operation. |
targetType(BillingTriggerTargetType!) | The type of target this definition applies to. |
temporalParams([BillingOperationTemporalParamsType!]!) | Temporal parameters for operation parameters. |
triggerAtStartDay(Int!) | Day of the month when billing is triggered (1-31). |
triggerAtStartMonth(Int!) | Month of the year when billing starts (1-12). |
Example
{
"operationType": "CHARGE_TARGET",
"targetType": "CHARGING_LEDGER",
"frequency": "DAILY",
"multiplier": 1,
"triggerAtStartDay": 1,
"triggerAtStartMonth": 1,
"temporalParams": BillingOperationTemporalParamsType
}BillingOperationTemporalParamsType
Temporal parameters for billing frequency operations.
Fields
| Name | Description |
|---|---|
paramKey(String!) | The key of the parameter (e.g., charge_to). |
startDay(Int!) | Day of the month (1-31). |
startMonth(Int!) | Month of the year (1-12). |
Example
{
"paramKey": "abc123",
"startDay": 1,
"startMonth": 1
}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"
}BillingTriggerConfiguration
A billing trigger configuration with its effective period and operation frequencies.
This represents a complete billing configuration for a target, including effective period and what operations should be performed at what frequencies.
Fields
| Name | Description |
|---|---|
effectiveFrom(DateTime!) | When this configuration becomes effective. |
effectiveTo(DateTime) | When this configuration stops being effective (null if no end date). |
isActive(Boolean!) | Whether this configuration is currently active. |
nextIssueDate(Date) | Next date when a billing document will be issued (null if not calculable). |
operationFrequencies([BillingOperationFrequency!]!) | List of billing operation frequencies in this configuration. |
targetType(BillingTriggerTargetType!) | The type of target this configuration applies to. |
Example
{
"effectiveFrom": "2020-01-01T00:00:00.000Z",
"effectiveTo": "2020-01-01T00:00:00.000Z",
"isActive": true,
"targetType": "CHARGING_LEDGER",
"operationFrequencies": BillingOperationFrequency,
"nextIssueDate": "2020-01-01"
}BillingTriggerConfigurationsConnection
Pagination object for billing trigger configurations.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BillingTriggerConfigurationsEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BillingTriggerConfigurationsEdge,
"totalCount": 1,
"edgeCount": 1
}BillingTriggerConfigurationsEdge
A Relay edge containing a BillingTriggerConfigurations and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BillingTriggerConfigurationsForTarget) | The item at the end of the edge |
Example
{
"node": BillingTriggerConfigurationsForTarget,
"cursor": "abc123"
}BillingTriggerConfigurationsForTarget
Billing trigger configurations for a single target.
Fields
| Name | Description |
|---|---|
configurations([BillingTriggerConfiguration!]!) | List of billing trigger configurations for this target. |
target(BillingTriggerTargetReference!) | Reference to the target entity for these billing configurations. |
Example
{
"target": BillingTriggerTargetReference,
"configurations": BillingTriggerConfiguration
}BillingTriggerTargetReference
A reference to a billing trigger target.
Fields
| Name | Description |
|---|---|
id(ID!) | The database ID of the target. |
number(String) | The account or portfolio number (null for ledgers). |
targetType(BillingTriggerTargetType!) | The type of target (ACCOUNT, PORTFOLIO, or CHARGING_LEDGER). |
Example
{
"targetType": "CHARGING_LEDGER",
"number": "abc123",
"id": "abc123"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([BusinessAccessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": BusinessAccessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}BusinessAccessConnectionTypeEdge
A Relay edge containing a BusinessAccessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(BusinessAccessType) | The item at the end of the edge |
Example
{
"node": BusinessAccessType,
"cursor": "abc123"
}BusinessAccessType
Represents the accessible business and access information of an accessor.
Fields
| Name | Description |
|---|---|
entity(BusinessType!) | The business that the accessor has access to. |
roleAssignments([RoleAssignment]!) | The role assignments that the accessor has for the entity. |
Example
{
"roleAssignments": RoleAssignment,
"entity": BusinessType
}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 |
|---|---|
accountUserAccessors(AccountUserAccessorAccessConnectionTypeConnection) | Account users that have access to this business, with their access information. |
billingAddress(RichAddressType) | The billing address of the business. |
businessType(BusinessTypeOptions) | The company type of a business account. |
details([BusinessDetailType]) | The details of the business. |
displayableNumber(String) | Kraken-generated, human-readable number for display purposes. |
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. |
partnerAccessors(PartnerAccessorAccessConnectionTypeConnection) | Partners that have access to this business, with their access information. |
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",
"displayableNumber": "abc123",
"businessType": "SOLE_TRADER",
"sectors": BusinessSectorString,
"details": [BusinessDetailType],
"billingAddress": RichAddressType,
"legalAddress": RichAddressType,
"linkedAccountNumber": "abc123",
"linkedAccountNumbers": "abc123",
"segmentName": "abc123",
"paymentMethods": PaymentInstructionConnectionTypeConnection,
"accountUserAccessors": AccountUserAccessorAccessConnectionTypeConnection,
"partnerAccessors": PartnerAccessorAccessConnectionTypeConnection
}CallConnectionTypeConnection
Paginator of Calls
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([CallConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": CallConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}CallConnectionTypeEdge
A Relay edge containing a CallConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(CallInterface) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
key(String!) | The key of the call metadata item. |
value(String!) | The value of the call metadata item. |
Example
{
"key": "abc123",
"value": "abc123"
}Fields
| Name | Description |
|---|---|
data(JSONString) | Data containing context of the event. |
eventType(String) | The type of event. |
occurredAt(DateTime) | Timestamp for when the event occurred. |
relativeOccurredAt(Int) | Time in milliseconds, relative to the start of the recording. |
Example
{
"data": {"key": "value"},
"eventType": "abc123",
"relativeOccurredAt": 1,
"occurredAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
callDirection(String) | The direction the call was initiated. |
callId(ID) | ID of the associated call. |
download(CallRecordingDownloadType) | A download for the archived recording file. Null when the recording is unavailable. |
endTime(DateTime) | End time of the call recording. |
events([CallRecordingDetailEventType]) | A list of recording events. |
fromPhoneNumber(String) | Phone number of the caller. |
primaryAgentEmail(String) | Email of the call's main agent. |
startTime(DateTime) | Start time of the call recording. |
toPhoneNumber(String) | Phone number of the callee. |
Example
{
"callId": "abc123",
"callDirection": "abc123",
"primaryAgentEmail": "abc123",
"toPhoneNumber": "abc123",
"fromPhoneNumber": "abc123",
"startTime": "2020-01-01T00:00:00.000Z",
"endTime": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
expiresAt(DateTime) | The time at which the presigned |
url(String) | Presigned S3 URL for the recording file. Valid for one hour from the time the response is generated. |
Example
{
"url": "abc123",
"expiresAt": "2020-01-01T00:00:00.000Z"
}CallTagConnectionTypeConnection
Paginator of Call Tags
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([CallTagConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": CallTagConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}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"
}Fields
| Name | Description |
|---|---|
id(ID) | ID of the call tag. |
isActive(Boolean) | Whether the tag can currently be used to tag calls. |
name(String) | Name of the tag that will be used to identify it. |
Example
{
"id": "abc123",
"name": "abc123",
"isActive": true
}CallTranscriptConnectionTypeConnection
Paginator of Call Transcripts
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([CallTranscriptConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": CallTranscriptConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}CallTranscriptConnectionTypeEdge
A Relay edge containing a CallTranscriptConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(CallTranscriptType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
expiresAt(DateTime!) | The time at which the presigned |
type(CallTranscriptionType!) | Whether |
url(String!) | Presigned S3 URL for the transcript file. Valid for one hour from the time the response is generated. |
Example
{
"url": "abc123",
"type": "REDACTED",
"expiresAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
call(CallInterface) | The call this transcription is for. May be null when the underlying recording is a participant-level recording whose participant is not associated with a call. |
createdAt(DateTime!) | The time at which this transcription record was created. |
download(CallTranscriptDownloadType) | A presigned download for the transcript file, or null when the transcription is not COMPLETED, no eligible file exists, or the caller lacks permission for the only available file. |
id(ID!) | The ID of the transcription record. |
status(CallTranscriptionStatus!) | The processing status of this transcription. A non-COMPLETED status means no |
transcribedAt(DateTime) | The time the vendor reported the transcription complete. Null until the transcription reaches COMPLETED status. |
vendor(String!) | The transcription vendor that produced this record. |
Example
{
"id": "abc123",
"status": "CREATED",
"vendor": "abc123",
"transcribedAt": "2020-01-01T00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z"
}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
}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-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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
}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([CharacteristicValueUnion]!) | 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 |
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. |
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
}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]
}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"
}CloseInkConversation
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
conversation(InkConversation) | The conversation that was closed. |
Example
{
"conversation": InkConversation
}CloseInkLiveChatConversation
The possible errors that can be raised are:
- KT-CT-7616: Not yet implemented.
- KT-CT-7643: The Live Chat was not found.
- KT-CT-7644: Ink Live Chat conversation not found.
- KT-CT-7652: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
liveChatConversation(InkLiveChatConversation) | The live chat conversation. |
Example
{
"liveChatConversation": InkLiveChatConversation
}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. |
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. |
issuedDate(Date) | The date the bill was sent to the customer. |
reversalsAfterClose(StatementReversalsAfterClose!) | How many charges have been reversed after the close date. |
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,
"reversalsAfterClose": "ALL",
"constituents": ConstituentConnection,
"identifier": "abc123"
}Fields
| Name | Description |
|---|---|
account(AccountType!) | The account associated with the agreement. |
agreedAt(DateTime) | |
agreedFrom(DateTime) | The datetime the agreement was entered. |
agreedTo(DateTime) | The datetime the agreement was terminated. |
characteristicValues([CharacteristicValueInterface]) | The characteristic values associated with the agreement. Arguments
The datetime to check the characteristic value at. |
id(ID!) | |
isActive(Boolean) | Whether the agreement is currently active. |
isRevoked(Boolean) | Whether the agreement is revoked. |
params(JSONString) | General parameters providing additional information about the agreement. |
product(SupplyProductType) | The product associated with the agreement. |
ratesAgreedAt(DateTime!) | |
rescissionDeadlineAt(DateTime) | The deadline until which the customer is allowed to rescind this agreement. If it is null, rescission is not permitted. |
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",
"ratesAgreedAt": "2020-01-01T00:00:00.000Z",
"rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
"account": AccountType,
"supplyPoint": SupplyPointType,
"product": SupplyProductType,
"isActive": true,
"characteristicValues": CharacteristicValueInterface,
"agreedFrom": "2020-01-01T00:00:00.000Z",
"agreedTo": "2020-01-01T00:00:00.000Z",
"isRevoked": true,
"params": {"key": "value"}
}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!) | |
isOfficial(Boolean) | Whether this is an official complaint. |
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",
"isOfficial": true
}CompleteAuthFlowForSmartFlexOnboarding
Complete the authentication flow step to proceed in the onboarding journey.
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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}CompleteRetryForSmartFlexOnboarding
Complete the Retry step to recreate and retry the previously-failed 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}CompleteSelectVehicleOrChargePointForSmartFlexOnboarding
Select the vehicle or charge point to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}CompleteTeslaSetupVirtualKeyForSmartFlexOnboarding
Complete the Tesla virtual key setup 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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
}ConnectAiAgentToCall
The possible errors that can be raised are:
- KT-CT-11802: Call not found.
- KT-CT-11815: Unable to connect a call to an AI agent.
- KT-CT-11817: Invalid call ID.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
call(InboundCallType) | The call the AI agent was connected to. |
Example
{
}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
}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",
"fulfilledAt": "2020-01-01T00:00:00.000Z",
"agreement": ContributionAgreementType,
"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
}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
}CreateAccountFileAttachmentPayload
The possible errors that can be raised are:
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
clientMutationId(String) | Deprecated The 'clientMutationId' field is deprecated. |
postRequest(UploadPostRequest) |
Example
{
"postRequest": UploadPostRequest,
"clientMutationId": "abc123"
}CreateAccountManualHold
Place a manual billing document hold on an account, preventing billing documents from being issued for the given period.
The possible errors that can be raised are:
- KT-CT-9710: Account not found.
- KT-CT-9711: Manual hold reason not found.
- KT-CT-9712: An overlapping manual hold already exists.
- KT-CT-9713: Invalid hold validity period.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountManualHold(AccountManualHoldType!) | The created manual hold. |
Example
{
}CreateAccountNote
Add a note to an account.
The possible errors that can be raised are:
- KT-CT-4123: Unauthorized.
- KT-CT-4180: Account note must be a valid string.
- KT-CT-4196: Unpin at date provided is in the past.
- KT-CT-4195: Unpin at date provided for an unpinned note.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountType) | Account, which has the added note. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"account": AccountType,
"possibleErrors": [PossibleErrorType]
}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) |
Example
{
"accountReference": AccountReferenceType
}CreateCallMetadata
The possible errors that can be raised are:
- KT-CT-11802: Call not found.
- KT-CT-11806: Call metadata item key cannot be an empty string.
- KT-CT-11807: A call metadata item with this key already exists for this call.
- KT-CT-11817: Invalid call ID.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
call(CallInterface) | The call metadata was attached to. |
Example
{
}CreateCampaignItems
The possible errors that can be raised are:
- KT-CT-4178: No account found with given account number.
- KT-CT-11501: Voice campaign not found.
- KT-CT-11503: One or more campaign items are invalid and cannot be created.
- KT-CT-11504: The batch of campaign items is too large.
- KT-CT-11506: Invalid campaign ID.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
batchIdentifier(String) | The identifier for this batch of items to assist in tracking and logging. |
campaignItems([VoiceCampaignItemType]) |
Example
{
"batchIdentifier": "abc123"
}CreateInboundCall
The possible errors that can be raised are:
- KT-CT-11805: Invalid input for creating an inbound call.
- KT-CT-11810: Caller is blocked.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
call(InboundCallType) | The call that was created. |
Example
{
}CreateInkInboundMessage
Register an Ink inbound message.
The possible errors that can be raised are:
- KT-CT-7622: Attachment bucket is invalid.
- KT-CT-7623: Attachment path is invalid.
- KT-CT-7621: Attachment not found.
- KT-CT-7618: Unable to process message.
- KT-CT-7625: Invalid email address.
- KT-CT-7630: Message with this message ID has already been processed.
- KT-CT-7632: The text content of the Ink Inbound Generic Message is too long.
- KT-CT-7620: Channel not supported.
- KT-CT-7627: The 'email' object is missing from the payload.
- KT-CT-7628: The 'generic' object is missing from the payload.
- KT-CT-7629: The 'post' object is missing from the payload.
- KT-CT-7653: Account numbers on the message and message type must match if both are supplied.
- KT-CT-7654: An account number was provided, but no corresponding account could be found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
message(InkMessage!) | The Ink message that was created. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"message": InkEmail,
"possibleErrors": [PossibleErrorType]
}CreateInkLiveChatMessage
The possible errors that can be raised are:
- KT-CT-7616: Not yet implemented.
- KT-CT-1111: Unauthorized.
- KT-CT-4123: Unauthorized.
- KT-CT-7642: No account user was found for the given fromHandle.
- KT-CT-7641: Live Chat message with this message ID has already been processed.
- KT-CT-7645: The user is not authorized to access this Live Chat.
- KT-CT-7622: Attachment bucket is invalid.
- KT-CT-7623: Attachment path is invalid.
- KT-CT-7621: Attachment not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
liveChatConversation(InkLiveChatConversation) | The live chat conversation. |
messageRelayId(String!) | The ID of the Ink Live Chat message that was created. |
Example
{
"liveChatConversation": InkLiveChatConversation,
"messageRelayId": "abc123"
}CreatePostEvents
Create post delivery events from external vendors.
The possible errors that can be raised are:
- KT-CT-9907: Post events batch size exceeded.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
createdEventsCount(Int) | Number of events successfully created. |
Example
{
"createdEventsCount": 1
}CreateShellAccountPayload
Create a shell account (a billable account with no property/energy supply).
The possible errors that can be raised are:
- KT-CT-4125: Unauthorized.
- KT-CT-4131: Invalid brand.
- KT-CT-4132: Period length must be MONTHLY, QUARTERLY or not set.
- KT-CT-4133: Period day must be set if period is MONTHLY.
- KT-CT-4134: Period day must be set if period is QUARTERLY.
- KT-CT-4135: Period month must be set if period is QUARTERLY.
- KT-CT-4138: Period day must be set if period multiplier > 1.
- KT-CT-4139: Period month must be set if period multiplier > 1.
- KT-CT-4141: Quarterly billing periods can't have period multiplier > 1.
- KT-CT-4142: Missing business details info.
- KT-CT-4143: Invalid companyName.
- KT-CT-4144: Invalid companyNumber.
- KT-CT-4120: Invalid urn.
- KT-CT-4177: Unauthorized.
- KT-CT-9403: Received an invalid portfolioId.
- KT-CT-9405: User not associated to portfolio.
- KT-CT-9406: Multiple users are associated with the portfolio.
- KT-CT-9411: Brand does not match the portfolio's brand.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
account(AccountInterface) | |
billingAddressLine1(String) | First line of the billing address. |
billingAddressLine2(String) | Second line of the billing address. |
billingAddressLine3(String) | Third line of the billing address. |
billingAddressLine4(String) | Fourth line of the billing address. |
billingAddressLine5(String) | Fifth line of the billing address. |
billingName(String) | The name to use for billing purposes. |
billingPeriodDay(Int) | Day to fixed bill on if billingperiodlength set. |
billingPeriodLength(String) | For fixed billing accounts only, the length of their billing period. Can be MONTHLY or QUARTERLY. |
billingPeriodMonth(Int) | Month to start billing from if billingperiodlength set to QUARTERLY or the multiplier is > 1. |
billingPeriodMultiplier(Int) | For fixed billing accounts only, the number the period length is to be multiplied by to get the total period length, i.e. for billing every second month, select 2 combined with a billing period length MONTHLY. Can't be > 1 for quarterly billing. |
billingPostcode(String) | The billing address postcode. |
billingRichAddress(String) | This must be a string-ified version of the JSON representation of RichAddressInput type. |
brand(String) | The brand associated with the account. |
businessType(String) | The type of business for business accounts. |
clientMutationId(String) | A unique identifier for the client performing the mutation. |
companyName(String) | The name of the company for business accounts. |
companyNumber(String) | The company registration number for business accounts. |
dateOfBirth(Date) | The user's date of birth. |
email(String!) | The email address of the account user. |
errors([ErrorType]) | A list of validation errors. |
familyName(String!) | The family name of the account user. |
givenName(String!) | The given name of the account user. |
isBusinessAccount(Boolean) | Whether this is a business account. |
landline(String) | The user's landline phone number. |
mobile(String) | The mobile number of the account user. |
password(String) | The password for the account user. |
passwordUpdateToken(String) | Token required to set a password during account creation. |
portfolioNumber(String) | The portfolio number associated with the account. |
taxNumber(String) | The tax number for the business account. |
urn(String) | Unique reference number from a 3rd party enrolment. |
Example
{
"account": AccountInterface,
"clientMutationId": "abc123",
"email": "abc123",
"givenName": "abc123",
"familyName": "abc123",
"mobile": "abc123",
"billingAddressLine1": "abc123",
"billingAddressLine2": "abc123",
"billingAddressLine3": "abc123",
"billingAddressLine4": "abc123",
"billingAddressLine5": "abc123",
"billingPostcode": "abc123",
"isBusinessAccount": true,
"urn": "abc123",
"portfolioNumber": "abc123",
"billingName": "abc123",
"brand": "abc123",
"dateOfBirth": "2020-01-01",
"billingRichAddress": "abc123",
"billingPeriodLength": "abc123",
"billingPeriodMultiplier": 1,
"billingPeriodDay": 1,
"billingPeriodMonth": 1,
"companyName": "abc123",
"companyNumber": "abc123",
"businessType": "abc123",
"taxNumber": "abc123",
"password": "abc123",
"passwordUpdateToken": "abc123",
"landline": "abc123",
"errors": [ErrorType]
}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 |
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 |
|---|---|
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]
}CustomerAssetType
Customer asset type for GraphQL
Fields
| Name | Description |
|---|---|
accountNumber(String) | Account number. |
activeFrom(DateTime) | When the customer asset became active. |
activeTo(DateTime) | When device became inactive (null if active). |
id(ID) | Customer asset ID. |
name(String) | Asset name. |
physicalId(String) | Physical device ID (e.g., VIN for a vehicle). |
type(String) | Asset type. |
Example
{
"id": "abc123",
"physicalId": "abc123",
"name": "abc123",
"type": "abc123",
"activeFrom": "2020-01-01T00:00:00.000Z",
"activeTo": "2020-01-01T00:00:00.000Z",
"accountNumber": "abc123"
}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
}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) |
Example
{
"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.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
krakenflexDevice(DeviceDetailsType) |
Example
{
"krakenflexDevice": DeviceDetailsType
}Example
{
"name": "abc123",
"code": "abc123",
"isActive": true
}Fields
| Name | Description |
|---|---|
code(String!) | |
deprecatedAt(DateTime) | |
displayName(String!) | |
requiresFieldVisit(Boolean!) |
Example
{
"code": "abc123",
"displayName": "abc123",
"deprecatedAt": "2020-01-01T00:00:00.000Z",
"requiresFieldVisit": true
}Fields
| Name | Description |
|---|---|
agency(DebtCollectionAgencyType) | The agency responsible for the collection proceedings. |
amount(Int) | |
campaign(CollectionCampaignType) | The campaign type of the collection proceedings. Deprecated The 'campaign' field is deprecated. |
collectionCampaign(DebtCollectionCampaignType) | The campaign type of the collection proceedings. |
startedAt(DateTime!) | |
stopReason(DebtCollectionProceedingStopReason) | |
stoppedAt(DateTime) |
Example
{
"campaign": "NONE",
"amount": 1,
"startedAt": "2020-01-01T00:00:00.000Z",
"stoppedAt": "2020-01-01T00:00:00.000Z",
"stopReason": "BANKRUPT"
}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"
}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"
}DeleteAccountReference
Delete 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-8312: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountReference(DeleteAccountReferenceType) |
Example
{
}Fields
| Name | Description |
|---|---|
namespace(String!) | The namespace associated with the removed AccountReference. |
Example
{
"namespace": "abc123"
}DeleteBoostCharge
Stop any active boost charging.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- 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) |
Example
{
"krakenflexDevice": KrakenFlexDeviceType
}DeletePushNotificationBinding
Delete a device token used for push notifications.
This field requires the Authorization header to be set.
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 |
|---|---|
status(DeletePushNotificationBindingOutput) |
Example
{
"status": "SUCCESSFUL"
}Fields
| Name | Description |
|---|---|
supplyPointExternalId(String!) | The external identifier of the detached supply point. |
Example
{
"supplyPointExternalId": "abc123"
}DetachSupplyPointFromEstimationGroup
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-13603: Supply Point does not exist.
- KT-CT-13604: Supply point has no estimation group assigned.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
supplyPoint(DeletedSupplyPointEstimationGroupType) | The deleted supply point. |
Example
{
}Fields
| Name | Description |
|---|---|
deviceIdentifier(String) | The id of the device. This field can only be provided in the output if device level readings are also requested. |
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.
Optional filter to return readings only for specific list of units or unit (e.g., KILOWATTHOURS, METERSCUBED, LITER, etc.). |
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) | The KrakenFlex identifier for this device. |
provider(ProviderChoices) | The third party that provides control over this device. |
Example
{
"krakenflexDeviceId": "abc123",
"provider": "BMW",
"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.
Optional filter to return readings only for specific list of units or unit (e.g., KILOWATTHOURS, METERSCUBED, LITER, etc.). |
registerIdentifier(String) | The id of the register. This field can only be provided in the output if register level readings are also requested. |
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 |
|---|---|
registeredDeviceIds([String]) | Device ID(s) of the registered device(s). |
Example
{
"registeredDeviceIds": ["abc123"]
}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",
"accountHolder": "abc123",
"instructionType": "abc123",
"cardPaymentNetwork": "abc123",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"iban": "abc123",
"sortCode": "abc123",
"lastFourDigitsOfAccountNumber": "abc123",
"maskedAccountIdentifier": "abc123",
"maskedIban": "abc123",
"owners": [PaymentInstructionOwnerType]
}Fields
| Name | Description |
|---|---|
amperage(Int) | Supply amperage. Used in markets where customers are more familiar with amps than power output. |
make(String) | Make of the charge point. |
model(String) | Model of the charge point. |
powerOutput(Decimal) | The max power output of this charge point variant in kw. |
Example
{
"make": "abc123",
"model": "abc123",
"powerOutput": "1.0",
"amperage": 1
}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]
}Fields
| Name | Description |
|---|---|
availableFrom(Int) | Earliest production/model year supported by this variant. |
availableTo(Int) | Latest production/model year supported by this variant. |
batterySize(Decimal) | Size of the battery in kWh. |
make(String) | Make of the vehicle. |
model(String) | Model and version of the vehicle. |
Example
{
"make": "abc123",
"model": "abc123",
"availableFrom": 1,
"availableTo": 1,
"batterySize": "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) | |
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"
}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. |
supportSiteUrl(String) | URL to view the email in the support site. |
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",
"supportSiteUrl": "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) | |
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"
}EmbeddedPropertyType
Represents an embedded property in an embedded network.
Fields
| Name | Description |
|---|---|
embeddedNetwork(EmbeddedNetworkType!) | |
id(ID!) | |
propertyId(ID) | The id of the physical property related to this embedded property type. |
Example
{
"id": "abc123",
"propertyId": "abc123",
"embeddedNetwork": EmbeddedNetworkType
}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"
}EnqueueInboundCall
The possible errors that can be raised are:
- KT-CT-11802: Call not found.
- KT-CT-11803: Unable to enqueue the call.
- KT-CT-11817: Invalid call ID.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
call(InboundCallType) | The call that was enqueued. |
possibleErrors([PossibleErrorType]) | Field with the possible errors of the query/mutation. Deprecated The 'possibleErrors' field is deprecated. |
Example
{
"possibleErrors": [PossibleErrorType]
}Fields
| Name | Description |
|---|---|
field(String!) | The name of the field that caused the error. |
messages([String!]!) | A list of error messages for the field. |
Example
{
"field": "abc123",
"messages": "abc123"
}EscalateInkConversation
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-7659: The Ink conversation could not be escalated.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
conversationRelayId(ID!) | The ID of the conversation that was escalated. |
Example
{
"conversationRelayId": "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
}EstimatedSupplyPointReadingType
A single reading interval for a supply point, either actual or estimated.
Fields
| Name | Description |
|---|---|
intervalEnd(DateTime!) | The exclusive end of this reading interval. |
intervalStart(DateTime!) | The inclusive start of this reading interval. |
isEstimated(Boolean!) | True if this reading was produced by the estimation engine rather than measured. |
quality(String) | The data quality of this reading (e.g. ACTUAL, ESTIMATE, CALCULATED). |
value(Decimal!) | The consumption value for this interval. |
Example
{
"intervalStart": "2020-01-01T00:00:00.000Z",
"intervalEnd": "2020-01-01T00:00:00.000Z",
"value": "1.0",
"quality": "abc123",
"isEstimated": true
}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"
}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"
}FetchGeneratePaymentFingerprint
Fetch or generate payment fingerprint from vendor.
The possible errors that can be raised are:
- KT-CT-12101: Payment instruction not found.
- KT-CT-12102: Payment vendor not supported.
- KT-CT-12103: Missing payment metadata from vendor.
- KT-CT-12104: Unable to fetch or generate payment fingerprint.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
fingerprint(String) | Fetched or generated fingerprint from vendor. |
vendor(String) | Vendor name. |
Example
{
"fingerprint": "abc123",
"vendor": "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, expressed via the legacy |
supportedDeviceType(FlexSupportedDeviceTypes) | The type of device, including charge points. Null when the response was produced via the legacy |
supportedMakes([FlexSupportedMake]!) | List of supported brands or manufacturer. |
Example
{
"deviceType": "BATTERIES",
"supportedDeviceType": "CHARGE_POINTS",
"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"
}FormScreenType
A screen type for forms with input fields.
Combines display items with input fields (TextField, Checkbox, Toggle), and provides primary/secondary buttons for form submission.
Note: header and footer are embedded in screenData and not exposed as separate GraphQL fields, following the pattern of ComponentListType.
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. |
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"
}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
}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"
}GenerateInkPresignedUrl
The possible errors that can be raised are:
- KT-CT-7620: Channel not supported.
- KT-CT-7618: Unable to process message.
- KT-CT-7624: Error when generating the presigned URL.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
fields(JSONString!) | Presigned post fields required to upload the file. |
key(String!) | The key for the item. |
uploadUrl(String!) | A presigned URL for the user to upload to the quarantine bucket. |
Example
{
"uploadUrl": "abc123",
"key": "abc123",
"fields": {"key": "value"}
}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"
}Fields
| Name | Description |
|---|---|
powerInKw(Decimal) | The current power being imported from or exported to the grid in kW. A negative value indicates power is being imported from the grid; a positive value indicates power is being exported to the grid. |
Example
{
"powerInKw": "1.0"
}HardshipAgreementType
Represents a Hardship Agreement for a particular Account.
Fields
| Name | Description |
|---|---|
createdAt(DateTime!) | |
endDate(Date) | |
exitReason(HardshipAgreementExitReason) | |
exitReasonDetails(String) | Extra details for the exit reason |
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",
"endDate": "2020-01-01",
"exitReason": "INITIAL_PAYMENT_PLAN_NOT_ESTABLISHED",
"exitReasonDetails": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z"
}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 |
|---|---|
recent(Int) | The average number of seconds passed before an inbound call with the given routing attributes is answered. This value represents the calls received in the last 30 minutes. The possible errors that can be raised are:
|
yesterday(Int) | The average number of seconds passed before an inbound call with the given routing attributes is answered. This value represents the calls received on the previous day. The possible errors that can be raised are:
|
Example
{
"yesterday": 1,
"recent": 1
}Fields
| Name | Description |
|---|---|
recent(Int) | The average number of seconds passed before an inbound call is answered. This value represents the calls received in the last 30 minutes. |
yesterday(Int) | The average number of seconds passed before an inbound call is answered. This value represents the calls received on the previous day. |
Example
{
"yesterday": 1,
"recent": 1
}Fields
| Name | Description |
|---|---|
account(AccountType) | If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call. |
id(ID!) | The ID of the call. |
initialCallerIdentification(PhoneNumberIdentificationType!) | When an inbound call is received, we identify all entities linked to the phone number of the caller. |
metadata([CallMetadataItemType]!) | Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR). |
tags([CallTagType]!) | Tags that have been applied to the call, for example during call wrap-up. |
Example
{
"id": "abc123",
"account": AccountType
}Fields
| Name | Description |
|---|---|
icon(String) | The icon code point. |
id(ID!) | The ID of the object |
name(String!) | The ink bucket name. |
Example
{
"id": "abc123",
"name": "abc123",
"icon": "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 |
|---|---|
accountNumber(String) | The number of the Kraken account that the conversation is from. |
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!) | |
lastMessageAt(DateTime) | The timestamp of the most recent message in the conversation. |
status(InkConversationStatus!) | The status of the conversation. |
tags([InkTag!]) | The tags on the conversation. |
Example
{
"id": "abc123",
"status": "OPEN",
"contactChannelIdentities": InkContactChannelIdentities,
"accountUsers": [AccountUserType],
"accountNumber": "abc123",
"events": InkConversationEventsConnection,
"lastMessageAt": "2020-01-01T00:00:00.000Z"
}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"
}Fields
| Name | Description |
|---|---|
edges([InkConversationsEdge!]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
Example
{
"pageInfo": PageInfo,
"edges": InkConversationsEdge
}InkConversationsEdge
A Relay edge containing a InkConversations and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(InkConversation!) | The item at the end of the edge |
Example
{
"node": InkConversation,
"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. |
conversationId(Int!) | The integer ID of the conversation this message belongs to. |
conversationRelayId(String!) | The relay ID of the conversation this message belongs to. |
delivery(InkMessageDelivery!) | The delivery status of the message. |
direction(InkMessageDirection!) | The direction of the email. |
displayContent(String!) | The content of the current email (without previous emails from the email thread). |
fromHandle(String!) | From email address. |
fullContentHtml(String!) | The full email, including previous emails from the email thread if available, in HTML. |
fullContentPlainText(String!) | The full email, including previous emails from the email thread if available, in plain text format. |
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,
"conversationId": 1,
"conversationRelayId": "abc123",
"fullContentPlainText": "abc123",
"fullContentHtml": "abc123"
}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. |
conversationId(Int!) | The integer ID of the conversation this message belongs to. |
conversationRelayId(String!) | The relay ID of the conversation this message belongs to. |
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",
"conversationId": 1,
"conversationRelayId": "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 |
|---|---|
accountType(String) | The type of the account linked to the conversation of the message. |
accounts([String!]!) | The list of accounts related to the message. |
buckets([String!]) | The list of the buckets the message is in. |
conversationId(Int!) | The ID of the conversation this message belongs to. |
hourOccurredAt(Int!) | The hour at which the message arrived in Ink. |
hoursWaiting(Int!) | The number of hours the customer has been waiting for a response to their previous message. |
isAssignedToUserBucket(Boolean!) | Whether the conversation that the message belongs to is assigned to a user bucket. |
isFirstFromContact(Boolean!) | Whether the message is the first one sent by the contact. |
isNewThread(Boolean!) | Whether the message starts a new thread in its conversation. |
opsTeam(String) | The operation team that handles the message. |
recentlyReceivedAutoReplies([String!]!) | The codes of the auto replies that have been sent to the contact in the last 6 months. |
replyToCommsSms(String) | The body of the latest comms SMS message sent to the customer, if the message is an sms. |
weekDayOccurredAt(Int!) | The week day at which the message arrived in Ink. |
Example
{
"accounts": "abc123",
"accountType": "abc123",
"buckets": ["abc123"],
"conversationId": 1,
"hourOccurredAt": 1,
"hoursWaiting": 1,
"isAssignedToUserBucket": true,
"isFirstFromContact": true,
"isNewThread": true,
"opsTeam": "abc123",
"recentlyReceivedAutoReplies": "abc123",
"replyToCommsSms": "abc123",
"weekDayOccurredAt": 1
}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
}Fields
| Name | Description |
|---|---|
content(String!) | The content of the ink note. |
id(ID!) | The ID of the object |
isPinned(Boolean!) | The note is pinned, so that it's always visible in the conversation. |
occurredAt(DateTime!) | The datetime at which the conversation note occurred. |
Example
{
"id": "abc123",
"content": "abc123",
"isPinned": true,
"occurredAt": "2020-01-01T00:00:00.000Z"
}InkPost
This type wraps around the Message type for Post.
Fields
| Name | Description |
|---|---|
contactChannelIdentity(InkContactChannelIdentity!) | The contact channel identity. |
conversationId(Int!) | The integer ID of the conversation this message belongs to. |
conversationRelayId(String!) | The relay ID of the conversation this message belongs to. |
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,
"conversationId": 1,
"conversationRelayId": "abc123"
}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
}Fields
| Name | Description |
|---|---|
analyzerResults([InkStorylineAnalyzerResult!]!) | The analyzer results for this storyline. |
createdAt(DateTime!) | |
entries([InkStorylineEntry!]!) | The entries in the storyline. |
generatedAt(DateTime!) | When the storyline was generated. |
id(ID!) | The ID of the object |
knowledgeArticleIds([BigInt!]) | |
neuralinkRequestId(UUID!) | |
summary(String!) | |
topic(String!) | |
triggerId(String) | |
updatedAt(DateTime!) |
Example
{
"id": "abc123",
"topic": "abc123",
"summary": "abc123",
"generatedAt": "2020-01-01T00:00:00.000Z",
"neuralinkRequestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
"knowledgeArticleIds": [1],
"triggerId": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
analyzerType(String!) | |
createdAt(DateTime!) | |
data(JSONString!) | |
id(ID!) | The ID of the object |
schemaVersion(String!) | |
updatedAt(DateTime!) |
Example
{
"id": "abc123",
"analyzerType": "abc123",
"schemaVersion": "abc123",
"data": {"key": "value"},
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
content(String!) | The content of the storyline entry. |
contentId(BigInt) | The optional related object ID of the entry. |
entryType(String!) | The type of the storyline entry. |
id(ID!) | The ID of the object |
isRootCause(Boolean) | Whether this entry is identified as the root cause of the issue. |
occurredAt(DateTime!) | The time the storyline entry occurred. |
url(String) | Optional URL related to the storyline entry. |
Example
{
"id": "abc123",
"entryType": "abc123",
"occurredAt": "2020-01-01T00:00:00.000Z",
"content": "abc123",
"url": "abc123",
"contentId": 1,
"isRootCause": true
}Example
{
"id": "abc123",
"name": "abc123"
}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
}InputFieldErrorType
Represents a validation error for a specific input field.
Fields
| Name | Description |
|---|---|
errorMessage(String!) | The error message to display for this field. |
inputFieldKey(String!) | The key of the input field with the error. |
inputFieldValue(String!) | The value that was submitted for the field. |
Example
{
"inputFieldKey": "abc123",
"inputFieldValue": "abc123",
"errorMessage": "abc123"
}Fields
| Name | Description |
|---|---|
characteristic(CharacteristicType) | The product characteristic. |
integerValue(Int!) | The integer value of the characteristic. |
value(String) | A string representation of a characteristic value, for convenience. |
Example
{
"value": "abc123",
"characteristic": CharacteristicType,
"integerValue": 1
}Fields
| Name | Description |
|---|---|
connectionStatus(ConnectionStatus) | Whether the inverter is currently connected (online/offline). |
powerInKw(Decimal) | The current power flowing through the inverter in kW. A negative value indicates that power is being drawn in to charge the battery; a positive value indicates power is being exported to the property (and, possibly, the grid) from the battery and/or solar panels. |
Example
{
"connectionStatus": "ONLINE",
"powerInKw": "1.0"
}Fields
| Name | Description |
|---|---|
make(String) | The make (manufacturer) of the device. |
Example
{
"make": "abc123"
}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. |
dueDate(Date) | The final date before missing payment is considered overdue. |
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. |
isHeld(Boolean) | Whether the billing document is currently held. |
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. Deprecated The 'paymentDueDate' field is deprecated. |
pdfUrl(String) | URL to the PDF of the Invoice. |
scheduledPaymentDate(Date) | The planned date for payment (may be before the due_date). |
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,
"isHeld": true,
"number": "abc123",
"invoicedAmount": 1,
"totalCharges": InvoiceTotalType,
"totalCredits": InvoiceTotalType,
"transactions": BillTransactionConnectionTypeConnection,
"documentDebtPosition": BillingDocumentPositionType,
"dueDate": "2020-01-01",
"scheduledPaymentDate": "2020-01-01",
"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. |
isHeld(Boolean) | Whether the billing document is currently held. |
issuedDate(Date) | The date the bill was sent to the customer. |
representations(BillRepresentationConnectionTypeConnection) | |
reversalsAfterClose(StatementReversalsAfterClose!) | How many charges have been reversed after the close date. |
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 billing document. Arguments
When provided, only entries that are linked to that ledger are returned.
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,
"reversalsAfterClose": "ALL",
"identifier": "abc123",
"grossAmount": 1,
"isAnnulled": true,
"isHeld": true,
"totalCharges": InvoiceTotalType,
"totalCredits": InvoiceTotalType,
"totalPayments": 1,
"transactions": BillTransactionConnectionTypeConnection,
"representations": BillRepresentationConnectionTypeConnection
}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": "BMW",
"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"
}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. |
isPinned(Boolean) | Whether this version is pinned to a specific version. |
number(String) | The version number that is being executed. |
Example
{
"number": "abc123",
"SHA": "abc123",
"isPinned": true
}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. |
billingTriggerConfiguration(BillingTriggerConfiguration) | The active billing trigger configuration for the ledger. The possible errors that can be raised are:
|
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) | |
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,
"billingTriggerConfiguration": BillingTriggerConfiguration,
"supportsStatements": true,
"supportsInvoices": true,
"currentDirectDebitInstructionInvalidatedWithVendor": true,
"paymentsWithNonConcludedRePresentation": PaymentWithNonConcludedRePresentationConnectionTypeConnection
}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"
}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"
}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 |
|---|---|
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]
}Fields
| Name | Description |
|---|---|
key(String!) | The key for the metadata. |
value(JSONString) | The metadata value. |
Example
{
"key": "abc123",
"value": {"key": "value"}
}MeterReadingEstimationReadingConnection
Paginator for estimations of meter readings.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([MeterReadingEstimationReadingEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": MeterReadingEstimationReadingEdge,
"totalCount": 1,
"edgeCount": 1
}MeterReadingEstimationReadingEdge
A Relay edge containing a MeterReadingEstimationReading and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(MeterReadingEstimationReadingType) | The item at the end of the edge |
Example
{
"cursor": "abc123"
}Fields
| Name | Description |
|---|---|
estimatedByAlgorithm(String) | The algorithm used for the estimation. |
intervalEnd(DateTime!) | The end date of the reading interval. |
intervalStart(DateTime!) | The start date of the reading interval. |
isNewlyEstimated(Boolean!) | Denotes if the reading was estimated. |
value(Decimal!) | The value of the reading. |
Example
{
"intervalStart": "2020-01-01T00:00:00.000Z",
"intervalEnd": "2020-01-01T00:00:00.000Z",
"value": "1.0",
"isNewlyEstimated": true,
"estimatedByAlgorithm": "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"
}MoveToBucket
The possible errors that can be raised are:
- KT-CT-7612: The Ink conversation was not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
conversation(InkConversation!) | The conversation that was moved to the bucket. |
Example
{
"conversation": InkConversation
}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!) | The push notification service the application uses. |
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-1111: Unauthorized.
- 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) |
Example
{
"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
{
"token": "abc123",
"payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"refreshToken": "abc123",
"refreshExpiresIn": 1,
"possibleErrors": [PossibleErrorType]
}ObtainLongLivedRefreshToken
Obtain a long-lived refresh token.
This mutation is limited to authorized third-party organizations only. Account users can only generate short-lived refresh tokens, obtainable from the 'refreshToken' field in the 'obtainKrakenToken' mutation.
The possible errors that can be raised are:
- KT-CT-1120: The Kraken Token has expired.
- KT-CT-1121: Please use Kraken Token to issue long-lived refresh tokens.
- KT-CT-1132: Unauthorized.
- KT-CT-1122: Long-lived refresh tokens can only be issued for account users.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Example
{
"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) | The unique ID of the occupancy period. |
isOccupier(Boolean) | Whether the account associated with the occupancy period is an occupier account type. |
numberOfOccupants(Int) | Number of occupants associated with this occupancy period. |
Example
{
"id": "abc123",
"effectiveFrom": "2020-01-01T00:00:00.000Z",
"effectiveTo": "2020-01-01T00:00:00.000Z",
"isOccupier": true,
"accountNumber": "abc123",
"numberOfOccupants": 1
}OnboardingError
Describes an error that occured while attempting to complete an onboarding step.
Fields
| Name | Description |
|---|---|
code(String) | A machine-readable code identifying the error. |
Example
{
"code": "abc123"
}Example
{
"id": "abc123",
"name": "abc123"
}OrganisationReferenceType
A namespaced external reference attached to a partner organisation.
Fields
| Name | Description |
|---|---|
namespace(String!) | The code for the namespace this reference belongs to. |
value(String!) | The reference value within the namespace. |
Example
{
"namespace": "abc123",
"value": "abc123"
}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"
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PartnerAccessorAccessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PartnerAccessorAccessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PartnerAccessorAccessConnectionTypeEdge
A Relay edge containing a PartnerAccessorAccessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PartnerAccessorAccessType) | The item at the end of the edge |
Example
{
"node": PartnerAccessorAccessType,
"cursor": "abc123"
}PartnerAccessorAccessType
Represents a partner and their access information to an entity.
Fields
| Name | Description |
|---|---|
accessor(AffiliateOrganisationType!) | The partner that has access to the entity. |
roleAssignments([RoleAssignment!]!) | The role assignments that the accessor has for the entity. |
Example
{
"roleAssignments": RoleAssignment
}Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PartnerUserAccessorAccessConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PartnerUserAccessorAccessConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}PartnerUserAccessorAccessConnectionTypeEdge
A Relay edge containing a PartnerUserAccessorAccessConnectionType and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PartnerUserAccessorAccessType) | The item at the end of the edge |
Example
{
"node": PartnerUserAccessorAccessType,
"cursor": "abc123"
}PartnerUserAccessorAccessType
Represents a partner user and their access information to a partner.
Fields
| Name | Description |
|---|---|
accessor(PartnerUserType!) | The partner user that has access to the partner. |
roleAssignments([RoleAssignment!]!) | The role assignments that the accessor has for the entity. |
Example
{
"roleAssignments": RoleAssignment
}PartnerUserPermission
Holds information about a specific permission.
Fields
| Name | Description |
|---|---|
permission(String!) | The short name of the permission. |
Example
{
"permission": "abc123"
}PartnerUserRoleType
A role available for assignment to a partner user.
Fields
| Name | Description |
|---|---|
code(String!) | The role code. |
description(String!) | The role description. |
name(String!) | The role name. |
Example
{
"code": "abc123",
"name": "abc123",
"description": "abc123"
}PartnerUserType
A partner user of an affiliate organisation.
Fields
| Name | Description |
|---|---|
createdAt(DateTime!) | When the partner user was created. |
email(String) | The partner user's email address. |
familyName(String) | The partner user's family name. |
givenName(String) | The partner user's given name. |
id(ID!) | The partner user's ID. |
lastLogin(DateTime) | The last time the partner user logged in. |
name(String!) | The partner user's full name. |
number(String!) | The partner user's number. |
organisation(AffiliateOrganisationType) | The organisation the partner user belongs to. |
permissions([PartnerUserPermission!]!) | The effective permissions of the partner user. |
roles([PartnerUserRoleType!]) | Role codes assigned to the partner user. |
Example
{
"id": "abc123",
"number": "abc123",
"givenName": "abc123",
"familyName": "abc123",
"name": "abc123",
"email": "abc123",
"lastLogin": "2020-01-01T00:00:00.000Z",
"createdAt": "2020-01-01T00:00:00.000Z"
}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 |
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"
}PaymentAdequacyChangeType
An applied Payment Adequacy review that updated the recurring payment schedule.
Fields
| Name | Description |
|---|---|
appliedDate(DateTime) | When the Payment Adequacy review was applied. |
newPaymentAmount(Int) | New payment amount in minor currency after Payment Adequacy was applied. |
previousPaymentAmount(Int) | Previous payment amount in minor currency before Payment Adequacy was applied. |
Example
{
"appliedDate": "2020-01-01T00:00:00.000Z",
"previousPaymentAmount": 1,
"newPaymentAmount": 1
}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. |
latestAppliedPaymentAdequacyChange(PaymentAdequacyChangeType) | The most recent Payment Adequacy review that has been applied to this ledger, or null if no review has been applied. |
Example
{
"isCurrentlyExempt": true,
"latestAppliedPaymentAdequacyChange": PaymentAdequacyChangeType
}Fields
| Name | Description |
|---|---|
fingerprint(String) | Fingerprint. |
isFound(Boolean) | Returns True if the fingerprint exists, False otherwise. |
isRiskListed(Boolean) | Returns True if the fingerprint is risk-listed, False otherwise. |
Example
{
"fingerprint": "abc123",
"isFound": true,
"isRiskListed": true
}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. |
lead(LeadType) | The lead who is an owner of this payment instruction. |
Example
{
"accountUser": AccountUserType,
"business": BusinessType,
"lead": LeadType
}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",
"validFrom": "2020-01-01T00:00:00.000Z",
"accountHolder": "abc123",
"instructionType": "abc123",
"cardPaymentNetwork": "abc123",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"sortCode": "abc123",
"iban": "abc123",
"bankCode": "abc123",
"accountType": "abc123",
"vendor": "abc123",
"cardNumber": "abc123",
"cardType": "abc123",
"maskedAccountIdentifier": "abc123",
"owners": [PaymentInstructionOwnerType],
"supplementaryLedger": SupplementaryLedgerType
}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"
}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",
"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",
"account": AccountType,
"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"
}PaymentScheduleChangeEventType
A recorded change to a payment schedule (creation, update or deletion), sourced from the financial events audit log.
Fields
| Name | Description |
|---|---|
category(PaymentScheduleChangeCategory) | The kind of change made to the schedule. |
createdAt(DateTime) | When the change was recorded. |
description(String) | A human-readable description of the change. |
madeBySupportUser(Boolean) | Whether the change was made by a member of support staff. When false, the change was made by an automated/system process. |
Example
{
"createdAt": "2020-01-01T00:00:00.000Z",
"category": "CREATED",
"description": "abc123",
"madeBySupportUser": true
}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 |
|---|---|
changeHistory([PaymentScheduleChangeEventType]) | The recorded history of changes to this payment schedule (creation, updates and deletion), most recent first. |
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. |
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. |
trigger(ScheduleTrigger) | The cause for requesting payment on a schedule. |
validFrom(Date!) | |
validTo(Date) |
Example
{
"id": "abc123",
"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,
"supplementaryLedger": SupplementaryLedgerType,
"isPaymentHoliday": true,
"scheduleType": "BACS_TRANSFER",
"paymentDayDetails": PaymentSchedulePaymentDayDetailsType,
"delayConfiguration": PaymentScheduleDelayConfigurationType,
"isExemptFromPaymentAdequacy": true,
"ledgerNumber": "abc123",
"trigger": "PLAN",
"changeHistory": [PaymentScheduleChangeEventType]
}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"
}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) |
Example
{
"krakenflexDevice": KrakenFlexDeviceType
}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-4301: Unable to find device for given account.
- 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-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
krakenflexDevice(KrakenFlexDeviceType) |
Example
{
"krakenflexDevice": KrakenFlexDeviceType
}Example
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
attachments(BillingAttachmentConnectionTypeConnection) | |
billType(BillTypeEnum) | The type of the bill. |
closingBalance(Int!) | The closing balance of an issued billing document. Arguments
When provided, the closing balance for this ledger on this statement. Required if multiple ledgers are affected by this statement. |
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. |
isHeld(Boolean!) | Whether the billing document is currently held. |
issuedDate(Date) | The date the bill was sent to the customer. |
openingBalance(Int) | This field returns the opening balance of a statement. Arguments
When provided, the opening balance for this ledger on this statement. Required if multiple ledgers are affected by this statement. |
printedCopyRequests([Date]) | List of dates when a printed copy of this bill was requested. |
representations(BillRepresentationConnectionTypeConnection) | |
reversalsAfterClose(StatementReversalsAfterClose!) | How many charges have been reversed after the close date. |
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 billing document. Arguments
When provided, only entries that are linked to that ledger are returned.
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,
"reversalsAfterClose": "ALL",
"identifier": "abc123",
"totalCharges": StatementTotalType,
"totalCredits": StatementTotalType,
"isAnnulled": true,
"isHeld": true,
"transactions": BillTransactionConnectionTypeConnection,
"openingBalance": 1,
"closingBalance": 1,
"documentDebtPosition": BillingDocumentPositionType,
"representations": BillRepresentationConnectionTypeConnection,
"printedCopyRequests": ["2020-01-01"]
}Fields
| Name | Description |
|---|---|
accountAllMatches(AccountConnectionTypeConnection!) | All accounts that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first. |
accountBestMatch(AccountType) | Our best guess for which account a call with this phone number would be about. |
accountUserAllMatches(AccountUserConnectionTypeConnection!) | All account users that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first. |
accountUserBestMatch(AccountUserType) | Our best guess for which account user would be calling from this phone number. |
Example
{
"accountBestMatch": AccountType,
"accountAllMatches": AccountConnectionTypeConnection,
"accountUserBestMatch": AccountUserType,
"accountUserAllMatches": AccountUserConnectionTypeConnection
}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"
}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!) | |
collectivePayments(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,
"collectivePayments": true,
"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"
}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. |
reversalsAfterClose(StatementReversalsAfterClose!) | How many charges have been reversed after the close date. |
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,
"reversalsAfterClose": "ALL",
"identifier": "abc123",
"params": {"key": "value"},
"grossAmount": 1
}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
}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",
"attachments": [PrintAttachmentType],
"account": AccountType,
"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"
}PropertyConnection
Paginated list of properties.
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([PropertyEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": PropertyEdge,
"totalCount": 1,
"edgeCount": 1
}PropertyEdge
A Relay edge containing a Property and its cursor.
Fields
| Name | Description |
|---|---|
cursor(String!) | A cursor for use in pagination |
node(PropertyInterface) | The item at the end of the edge |
Example
{
"node": PropertyInterface,
"cursor": "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. |
geographicalId(String) | Identifier for this address in its territory's official address register, e.g. DAR ID in DK, UPRN in GB, G-NAF ID in AU. |
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",
"geographicalId": "abc123",
"asString": "abc123"
}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. |
ancestors(PropertyConnection) | Ancestor properties in the specified hierarchy, ordered from root to immediate parent. Returns empty list if the property is not in the hierarchy. |
coordinates(CoordinatesType) | Coordinates for the property, useful for displaying the property on a map. |
descendants(PropertyConnection) | Descendant properties in the specified hierarchy. Returns empty list if the property is not in the hierarchy. |
embeddedNetwork(EmbeddedNetworkType) | The embedded network this property belongs to, if any. |
id(String) | |
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. |
parent(PropertyInterface) | The parent property in the specified hierarchy. Returns null if the property has no parent or is not in the hierarchy. Arguments
The name of the hierarchy to query within. |
postcode(String!) | |
richAddress(PropertyRichAddressType) | Property rich address. |
splitAddress([String]) | List of address lines. |
Example
{
"id": "abc123",
"postcode": "abc123",
"label": "abc123",
"address": "abc123",
"richAddress": PropertyRichAddressType,
"splitAddress": ["abc123"],
"occupancyPeriods": [OccupancyPeriodType],
"coordinates": CoordinatesType,
"embeddedNetwork": EmbeddedNetworkType,
"parent": PropertyInterface,
"descendants": PropertyConnection,
"ancestors": PropertyConnection,
"measurements": MeasurementConnection
}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(PrintMessageTypeConnection!) | |
registeredAt(DateTime!) | |
token(String!) | |
user(AccountUserType!) |
Example
{
"id": "abc123",
"registeredAt": "2020-01-01T00:00:00.000Z",
"expiresAt": "2020-01-01T00:00:00.000Z",
"user": AccountUserType,
"messages": PrintMessageTypeConnection,
"application": NotifiableApplicationType,
"token": "abc123"
}Fields
| Name | Description |
|---|---|
eventType(String!) | |
id(ID!) | The ID of the object |
message(PushNotificationMessageType) | Push notification message of the push notification event. |
occurredAt(DateTime!) |
Example
{
"id": "abc123",
"eventType": "abc123",
"occurredAt": "2020-01-01T00:00:00.000Z",
"message": PushNotificationMessageType
}PushNotificationMessageType
Represents a push notification communication.
Fields
| Name | Description |
|---|---|
createdAt(DateTime!) | The date and time the push notification was created. |
id(ID!) | The ID of the push notification. |
sentAt(DateTime) | The date and time the push notification was sent. |
supportSiteUrl(String) | URL to view the push notification in the support site. |
templateCode(String!) | The trigger type code of the push notification. |
textBody(String) | The body text of the push notification. |
title(String!) | The title of the push notification. |
Example
{
"id": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"sentAt": "2020-01-01T00:00:00.000Z",
"templateCode": "abc123",
"title": "abc123",
"textBody": "abc123",
"supportSiteUrl": "abc123"
}Fields
| Name | Description |
|---|---|
intervalEnd(DateTime) | The exclusive end of this reading's interval. |
intervalStart(DateTime) | The inclusive start of this reading's interval. |
qualities([ReadingQualityMeta]) | A breakdown of this reading's value and raw reading count by quality group. |
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",
"qualities": [ReadingQualityMeta]
}ReadingQualityMeta
A breakdown of a reading's value and count for a specific quality.
Fields
| Name | Description |
|---|---|
count(Int) | The number of raw readings contributing to this quality group. |
quality(MeterDataQualities) | The quality of the readings in this group. |
value(Decimal) | The aggregated value for readings of this quality. For interval readings this is the sum of kWh; for peak readings this is the maximum demand recorded. |
Example
{
"quality": "ACTUAL",
"value": "1.0",
"count": 1
}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"
}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
{
"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,
"id": "abc123"
}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 |
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"
}RegisterPushNotificationBinding
Register a device token to be used for push notifications for an app.
This field requires the Authorization header to be set.
The possible errors that can be raised are:
- KT-CT-1113: Disabled GraphQL field requested.
Fields
| Name | Description |
|---|---|
pushNotificationBinding(PushNotificationBindingType) |
Example
{
"pushNotificationBinding": PushNotificationBindingType
}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 |
|---|---|
assigneeId(ID) | The id of the user responsible for completing the reminder. |
assigneeTeamId(ID) | The id of the team responsible for completing the reminder. |
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. |
params(JSONString) | Additional parameters for the reminder type. |
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",
"assigneeId": "abc123",
"assigneeTeamName": "abc123",
"assigneeTeamId": "abc123",
"reopenInkConversation": true,
"createdAt": "2020-01-01T00:00:00.000Z",
"params": {"key": "value"}
}RemoveCampaignItems
The possible errors that can be raised are:
- KT-CT-11501: Voice campaign not found.
- KT-CT-11502: Cannot remove items from multiple campaigns at once.
- KT-CT-11505: Voice campaign item not found.
- KT-CT-11506: Invalid campaign ID.
- KT-CT-11507: Invalid campaign item ID.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
campaignItems([VoiceCampaignItemType]) |
Example
{
}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"
}Fields
| Name | Description |
|---|---|
email(String) | The email that requested a password reset email. |
userNumber(String) | The number of the user that requested a password reset email. |
Example
{
"email": "abc123",
"userNumber": "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 |
|---|---|
success(Boolean) | Whether the request was successful. |
Example
{
"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"
}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, so that the device can be charged again according to the set preferences.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- 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) |
Example
{
"krakenflexDevice": KrakenFlexDeviceType
}Retry
A step that indicates the previous step encountered a retryable error.
Complete this step to recreate and retry the originally-failed step.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
Example
{
"id": "abc123"
}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
{
"paymentDate": "2020-01-01",
"schemeType": "REFERRAL_REWARD",
"code": "abc123",
"rewardAmount": 1,
"paymentStatus": "Pending",
"id": "abc123"
}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. |
geographicalId(String) | Identifier for this address in its territory's official address register, e.g. DAR ID in DK, UPRN in GB, G-NAF ID in AU. |
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",
"geographicalId": "abc123",
"asString": "abc123"
}Fields
| Name | Description |
|---|---|
role(RoleInterface!) | The role that has been assigned. |
validFrom(DateTime!) | The timestamp when the role becomes valid. |
validTo(DateTime) | The timestamp when the role is no longer valid. |
Example
{
"role": RoleInterface,
"validFrom": "2020-01-01T00:00:00.000Z",
"validTo": "2020-01-01T00:00:00.000Z"
}Fields
| Name | Description |
|---|---|
category(String!) | The category of the attribute (LANGUAGE, OPERATIONS_GROUP, SKILL). |
friendlyName(String!) | Human-readable name for the attribute. |
isActive(Boolean!) | Whether this attribute is currently active and can be used for routing. |
ref(String!) | The reference string used to identify this attribute (e.g., SKILL.ENERGY, LANGUAGE.ENGLISH). |
subcategory(String) | Optional subcategory (e.g., TEAM, LOCATION). |
Example
{
"ref": "abc123",
"category": "abc123",
"subcategory": "abc123",
"friendlyName": "abc123",
"isActive": 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) | The account found. |
attachments([AttachmentType]) | Attachments of the message. |
id(ID!) | The ID of the SMS. |
recipient(String) | SMS recipient. |
sender(String) | SMS sender. |
sentAt(DateTime) | The date and time the SMS was sent. |
textBody(String) | SMS body. |
Example
{
"id": "abc123",
"sentAt": "2020-01-01T00:00:00.000Z",
"account": AccountType,
"sender": "abc123",
"recipient": "abc123",
"textBody": "abc123",
"attachments": [AttachmentType]
}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
Select the charge point make to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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
Select the charge point model variant to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
chargePointVariant(ChargePointVariantType) | The model variant of the charge point, e.g. Zappi. Deprecated The 'chargePointVariant' field is deprecated. |
electricChargePointVariant(ElectricChargePointVariantType) | The full data object for the charge point variant. |
id(ID) | A unique identifier for this list item. |
Example
{
"id": "abc123",
"chargePointVariant": ChargePointVariantType,
"electricChargePointVariant": ElectricChargePointVariantType
}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 device type to proceed in the onboarding journey.
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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}SelectInverterMake
Options for selecting an inverter'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"
}SelectInverterMakeForSmartFlexOnboarding
Select the inverter make to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
inverterMake(InverterVariantType) | The make (manufacturer) of the inverter. |
Example
{
"id": "abc123",
"inverterMake": InverterVariantType
}SelectInverterSystemType
Options for selecting an inverter's system type 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"
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
label(String) | The inverter system type. |
Example
{
"id": "abc123",
"label": "abc123"
}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
}SelectThermostatMake
Options for selecting a thermostat'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"
}Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this list item. |
thermostatMake(ThermostatVariantType) | The thermostat make, e.g. Ecobee. |
Example
{
"id": "abc123",
"thermostatMake": ThermostatVariantType
}SelectThermostatVariant
Options for selecting a thermostat'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"
}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
Select the user's vehicle to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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
Select the vehicle make to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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
Select the vehicle model variant to complete the 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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}Fields
| Name | Description |
|---|---|
electricVehicleVariant(ElectricVehicleVariantType) | The model variant of the electric vehicle, e.g. Model Y. |
id(ID) | A unique identifier for this list item. |
vehicleVariant(ElectricVehicleType) | The model variant of the electric vehicle, e.g. Model Y. Deprecated The 'vehicleVariant' field is deprecated. |
Example
{
"id": "abc123",
"vehicleVariant": ElectricVehicleType,
"electricVehicleVariant": ElectricVehicleVariantType
}SendInkOutboundMessage
Send an Ink outbound message.
The possible errors that can be raised are:
- KT-CT-7625: Invalid email address.
- KT-CT-7650: Cannot send messages to internal handles.
- KT-CT-7670: Invalid mutation input.
- KT-CT-7671: Could not send message.
- KT-CT-7672: Invalid outbound handle.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
message(InkMessage!) | The Ink message that was enqueued for sending. |
Example
{
"message": InkEmail
}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"
}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) |
Example
{
"krakenflexDevice": KrakenFlexDeviceType
}ShowInputFieldErrorsActionType
An action that instructs the app to display validation errors on input fields.
Fields
| Name | Description |
|---|---|
errors([InputFieldErrorType]!) | List of field-level validation errors to display. |
id(ID) | Unique identifier of the object. |
screenId(String) | Optional ID of the form screen these errors apply to. |
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",
"screenId": "abc123",
"errors": InputFieldErrorType
}Fields
| Name | Description |
|---|---|
consumptionInKw(Decimal) | The current power in kW being consumed by the property from the solar panels, battery and grid. If power is being exported to the grid, that is offset againstconsumption. If power is being used to charge the battery, that doesn't count towards consumption; that'll only count as consumed when it is later used to power the property (this avoids double-counting it). |
exportInKw(Decimal) | The current power being exported from the property to the grid in kW. This will be 0 if no export is occurring, or otherwise a positive value. |
Example
{
"consumptionInKw": "1.0",
"exportInKw": "1.0"
}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. |
chargePointPowerOutput(Decimal) | The power output of the charge point in kW. |
chargePointVariant(ChargePointVariantModelType) | This contains more detail about the variant of the charge point model. Deprecated The 'chargePointVariant' field is deprecated. |
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 i.e. the start of the time window. Only sessions that start at or after this datetime are returned. Must be earlier than
Latest time of the charging sessions i.e. end of the time window. Only sessions that start before this datetime are returned. Must be later than
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. |
vehicleBatterySize(Decimal) | The battery capacity for the electric vehicle in kWh. |
vehicleVariant(ElectricVehicleModelType) | This contains more detail about the variant of the vehicle model. Deprecated The 'vehicleVariant' field is deprecated. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BMW",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"chargingSessions": DeviceChargingSessionConnection,
"make": "abc123",
"model": "abc123",
"vehicleBatterySize": "1.0",
"chargePointPowerOutput": "1.0",
"vehicleVariant": ElectricVehicleModelType,
"chargePointVariant": ChargePointVariantModelType,
"chargingPreferences": SmartFlexVehicleChargingPreferences
}SmartFlexChargePointStatus
The current status of a registered charge point.
Fields
| Name | Description |
|---|---|
activePower(DecimalReading) | The latest active power reading for the device in kW. A positive value indicates power is being drawn to charge the vehicle's battery; a negative value indicates energy is being discharged from the vehicle's battery. |
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,
"activePower": 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": "BMW",
"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 |
min(Float) | Minimum value for the schedule when applicable. Usage depends on the |
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. |
isChargingDurationCapped(FlexIsChargingDurationCapped!) | The status of the device's charging duration cap. |
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",
"isChargingDurationCapped": "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"
}SmartFlexInverter
Information about an inverter that has been registered with KrakenFlex.
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) | The make of the inverter. |
model(String) | The model of the inverter. |
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. |
telemetry(SmartFlexInverterTelemetry) | Telemetry data for the inverter. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BMW",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"make": "abc123",
"model": "abc123",
"telemetry": SmartFlexInverterTelemetry
}SmartFlexInverterTelemetry
Telemetry data for a registered inverter.
Fields
| Name | Description |
|---|---|
battery(BatteryTelemetry) | Information about the battery. |
grid(GridTelemetry) | Information about the grid. |
inverter(InverterTelemetry) | Information about the inverter. |
site(SiteTelemetry) | Information about the site. |
solar(SolarTelemetry) | Information about the solar panels. |
Example
{
"inverter": InverterTelemetry,
"battery": BatteryTelemetry,
"solar": SolarTelemetry,
"grid": GridTelemetry,
"site": SiteTelemetry
}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. |
isComplete(Boolean!) | Returns |
resumable(SmartFlexResumable) | Determines whether the wizard's onboarding journey can be resumed. |
Example
{
"id": "abc123",
"resumable": SmartFlexResumable,
"deviceType": "BATTERIES",
"isComplete": true,
"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"]
}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) | The manufacturer of the thermostat. |
name(String) | The user-friendly name for the thermostat. |
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": "BMW",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"make": "abc123"
}Fields
| Name | Description |
|---|---|
current(SmartFlexDeviceLifecycleStatus) | The current status of the device. |
currentState(SmartFlexDeviceState) | The current state of this SmartFlex device state machine. |
currentTemperature(Temperature) | Current ambient temperature reported by the thermostat. |
isSuspended(Boolean) | Whether control of the device is currently disabled. |
mode(ThermostatMode) | Current operation mode of the thermostat. |
targetCoolTemperature(Temperature) | The target set point for cooling. |
targetHeatTemperature(Temperature) | The target set point for heating. |
timestamp(DateTime) | The timestamp of the latest status update. |
Example
{
"current": "ONBOARDING",
"isSuspended": true,
"currentState": "AUTHENTICATION_PENDING",
"mode": "HEATING",
"currentTemperature": Temperature,
"targetCoolTemperature": Temperature,
"targetHeatTemperature": Temperature,
"timestamp": "2020-01-01T00:00:00.000Z"
}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. |
chargePointPowerOutput(Decimal) | The power output of the charge point in kW. |
chargePointVariant(ChargePointVariantModelType) | This contains more detail about the variant of the charge point model. Deprecated The 'chargePointVariant' field is deprecated. |
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 i.e. the start of the time window. Only sessions that start at or after this datetime are returned. Must be earlier than
Latest time of the charging sessions i.e. end of the time window. Only sessions that start before this datetime are returned. Must be later than
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. |
vehicleBatterySize(Decimal) | The battery capacity for the electric vehicle in kWh. |
vehicleVariant(ElectricVehicleModelType) | This contains more detail about the variant of the vehicle model. Deprecated The 'vehicleVariant' field is deprecated. |
Example
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BMW",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface,
"chargingSessions": DeviceChargingSessionConnection,
"make": "abc123",
"model": "abc123",
"vehicleBatterySize": "1.0",
"chargePointPowerOutput": "1.0",
"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 |
|---|---|
activePower(DecimalReading) | The latest active power reading for the device in kW. A positive value indicates power is being drawn to charge the vehicle's battery; a negative value indicates energy is being discharged from the vehicle's battery. |
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,
"activePower": DecimalReading,
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}Fields
| Name | Description |
|---|---|
powerInKw(Decimal) | The current power being generated by the solar panels in kW. This will be null if there are no solar panels, 0 if there are solar panels but they are not generating, or a positive value if they are generating. |
Example
{
"powerInKw": "1.0"
}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. |
id(ID) | |
internalCode(String) | |
summary(String) |
Example
{
"id": "abc123",
"summary": "abc123",
"internalCode": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z"
}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]) |
Example
{
"isSharingConsentGiven": true,
"records": SpecialCircumstanceRecordType
}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 |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for re-authenticating the device with SmartFlex. |
Example
{
"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 |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"wizard": SmartFlexOnboardingWizard
}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-4391: This onboarding wizard has been cancelled.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
wizard(SmartFlexOnboardingWizard) | The wizard created for onboarding the device with SmartFlex. |
Example
{
"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. |
dueDate(Date) | The final date before missing payment is considered overdue. |
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. |
isFinal(Boolean) | Whether this statement is marked as final. |
latestChargeAt(DateTime) | The latest charge date of the statement. |
paymentDueDate(Date) | The date due for payment for the statement. Deprecated The 'paymentDueDate' field is deprecated. |
pdfUrl(String) | URL to the PDF of the statement. |
scheduledPaymentDate(Date) | The scheduled date for payment (may be before the due_date). |
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",
"dueDate": "2020-01-01",
"scheduledPaymentDate": "2020-01-01",
"paymentDueDate": "2020-01-01",
"isFinal": true,
"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. |
isFinal(Boolean) | Whether this statement is marked as final. |
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,
"reversalsAfterClose": "ALL",
"closingBalance": 1,
"openingBalance": 1,
"isExternalBill": true,
"transactions": TransactionConnectionTypeConnection,
"userId": 1,
"toAddress": "abc123",
"paymentDueDate": "2020-01-01",
"consumptionStartDate": "2020-01-01",
"consumptionEndDate": "2020-01-01",
"isFinal": true,
"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"
}Fields
| Name | Description |
|---|---|
characteristic(CharacteristicType) | The product characteristic. |
stringValue(String!) | The string value of the characteristic. |
value(String) | A string representation of a characteristic value, for convenience. |
Example
{
"value": "abc123",
"characteristic": CharacteristicType,
"stringValue": "abc123"
}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) |
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 |
period(Period!) | The period that was charged. |
Example
{
"period": Period,
"agreements": AgreementConnection
}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. |
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.
Optional filter to return readings only for specific list of units or unit (e.g., KILOWATTHOURS, METERSCUBED, LITER, etc.). |
Example
{
"id": "abc123",
"marketName": "abc123",
"externalIdentifier": "abc123",
"readings": Readings,
"property": PropertyType,
"devices": DevicesConnection
}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!) | The product 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. |
rates([ApplicableRateType!]!) | Rates applicable to the product. |
tags([SupplyProductTagType!]!) | Tags associated with the product. |
term(Int) | The product term in months. |
termsAndConditions([TermsAndConditionsType!]!) | Terms and conditions for this market supply product. |
termsAndConditionsTypes([TermsAndConditionsType!]!) | Deprecated alias of 'termsAndConditions'. Deprecated The 'termsAndConditionsTypes' field is deprecated. |
termsContractType(String) | The product contract type. |
Example
{
"id": "abc123",
"brandCode": "abc123",
"marketName": "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",
"availabilityStatus": "EVERYONE",
"termsContractType": "abc123",
"termsAndConditions": TermsAndConditionsType,
"termsAndConditionsTypes": TermsAndConditionsType,
"params": {"key": "value"},
"tags": SupplyProductTagType
}SuspendDeviceControl
Suspend control of a device while away from home (e.g. on holiday), to prevent charging during that period.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- 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) |
Example
{
"krakenflexDevice": KrakenFlexDeviceType
}Fields
| Name | Description |
|---|---|
scale(TemperatureScale) | Temperature scale. |
value(Decimal) | Numeric value representing the temperature. |
Example
{
"value": "1.0",
"scale": "CELSIUS"
}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. |
expiryDate(Date) | |
id(ID) | |
internalCode(String) | |
summary(String) |
Example
{
"id": "abc123",
"summary": "abc123",
"internalCode": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"expiryDate": "2020-01-01"
}TerminalError
A step that indicates the onboarding journey has encountered an error that cannot be resolved within the current onboarding flow.
This step cannot be completed.
Fields
| Name | Description |
|---|---|
errors([TerminalErrorType]!) | List of errors that cannot be resolved within the current onboarding journey. |
id(ID) | A unique identifier for this onboarding step. |
Example
{
"id": "abc123",
"errors": TerminalErrorType
}TerminalErrorType
A type that returns a terminal error which is an error that cannot be resolved by the onboarding journey.
Fields
| Name | Description |
|---|---|
description(String) | Description of the terminal error. |
errorCode(String!) | Reference to the terminal error. |
Example
{
"errorCode": "abc123",
"description": "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 |
|---|---|
make(String) | The make (manufacturer) of the device. |
Example
{
"make": "abc123"
}ThirdPartyCompleteDeviceRegistration
Complete the registration of a device if the contract is eligible and the device registration is valid.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-4322: Unable to complete registration error.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
success(ThirdPartyCompleteDeviceRegistrationType) | The response showing account validity and optional tariff information. |
Example
{
}Fields
| Name | Description |
|---|---|
isAccountValid(Boolean!) | If the account is valid. |
isTariffSwitchInProgress(Boolean!) | If a switch to the required tariff is in progress. |
tariff(ThirdPartyTariffsType) | The tariff the account is on, if the switch is complete. |
Example
{
"isAccountValid": true,
"isTariffSwitchInProgress": true
}ThirdPartyOrganizationType
Type for the third party organization.
Fields
| Name | Description |
|---|---|
name(String!) | The name of the third party. |
permissions([ThirdPartyPermission]) | Holds information about the permissions of the current viewer. |
Example
{
"name": "abc123"
}ThirdPartyPermission
Holds information about a specific permission.
Fields
| Name | Description |
|---|---|
permission(String) | The short name of the permission. |
Example
{
"permission": "abc123"
}Fields
| Name | Description |
|---|---|
daysOfWeek([String]!) | Day(s) of the week of the tariff interval. |
endTime(String!) | Local 24hr end time of the tariff interval (format hh:mm). |
startTime(String!) | Local 24hr start time of the tariff interval (format hh:mm). |
tariffType(String!) | The type of tariff this is (e.g. peak or offPeak). |
Example
{
"startTime": "abc123",
"endTime": "abc123",
"daysOfWeek": "abc123",
"tariffType": "abc123"
}Fields
| Name | Description |
|---|---|
currency(String!) | Currency according to the ISO 4217 standard. |
price(Decimal!) | Price per kWh in the given currency. |
type(String!) | The type of tariff this is (e.g. peak or offPeak). |
Example
{
"currency": "abc123",
"price": "1.0",
"type": "abc123"
}Fields
| Name | Description |
|---|---|
tariffIntervals([ThirdPartyTariffIntervalType]!) | Tariff intervals of the charging location. |
tariffs([ThirdPartyTariffType]!) | Tariff rates of the charging location. |
Example
{
}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"
}TriggerPostUploadOperations
The possible errors that can be raised are:
- KT-CT-8710: Invalid data.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
operationsTriggered(Boolean) |
Example
{
"operationsTriggered": true
}UnsupportedCombination
A step that indicates the selected device is not compatible with the users existing devices.
This step cannot be completed and the user must select different device options to continue.
Fields
| Name | Description |
|---|---|
id(ID) | A unique identifier for this onboarding step. |
Example
{
"id": "abc123"
}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) |
Example
{
"accountReference": AccountReferenceType
}UpdateAccountUserCommsPreferencesMutationPayload
Update the comms preferences of the account user (the authenticated user).
The possible errors that can be raised are:
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
clientMutationId(String) | A unique identifier for the client performing the mutation. |
commsPreferences(AccountUserCommsPreferences) | |
emailFormat(String) | |
errors([ErrorType]) | A list of validation errors. |
fontSizeMultiplier(Float) | |
isOptedInMeterReadingConfirmations(Boolean) | |
isOptedInToClientMessages(Boolean) | |
isOptedInToOfferMessages(Boolean) | |
isOptedInToRecommendedMessages(Boolean) | |
isOptedInToSmsMessages(Boolean) | |
isOptedInToThirdPartyMessages(Boolean) | |
isOptedInToUpdateMessages(Boolean) | |
isUsingInvertedEmailColours(Boolean) | |
preferredHoldMusic(String) |
Example
{
"commsPreferences": AccountUserCommsPreferences,
"clientMutationId": "abc123",
"isOptedInToClientMessages": true,
"isOptedInToOfferMessages": true,
"isOptedInToRecommendedMessages": true,
"isOptedInToUpdateMessages": true,
"isOptedInToThirdPartyMessages": true,
"isOptedInToSmsMessages": true,
"isOptedInMeterReadingConfirmations": true,
"isUsingInvertedEmailColours": true,
"fontSizeMultiplier": 1.0,
"emailFormat": "abc123",
"preferredHoldMusic": "abc123",
"errors": [ErrorType]
}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-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
accountUserConsents(AccountUserConsents) | All the consents for an account user. |
Example
{
"accountUserConsents": AccountUserConsents
}UpdateCommsDeliveryPreference
Update the comms delivery preference for the given account.
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) |
Example
{
"account": AccountInterface
}UpdateMessageTags
The possible errors that can be raised are:
- KT-CT-7611: The message was not found.
- KT-CT-7614: The Ink tag was not found.
- KT-CT-1113: Disabled GraphQL field requested.
- KT-CT-1111: Unauthorized.
- KT-CT-1112: 'Authorization' header not provided.
Fields
| Name | Description |
|---|---|
tags([InkTag!]!) | Confirmed tags. |
Example
{
}UpdateOptionsLanguagePreference
Update the language preference for an account. Determines the language in which communications about the account are sent. It does not affect the language seen in the UI.
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 |
|---|---|
optionsLanguagePreference(OptionsLanguagePreferenceChoices) | The selected language preference. |
Example
{
"optionsLanguagePreference": "ENGLISH"
}UpdateUserMutation
Update the account user details of the authenticated user.
Only one name field can be updated per day, other fields can be updated freely. This prevents users from switching accounts to someone else (usually when moving homes). All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days.
This field requires the Authorization header to be set.
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
{
"viewer": AccountUserType,
"possibleErrors": [PossibleErrorType]
}UploadPostRequest
Information that should be used in the POST request to the S3 API.
For more details please see this.
Fields
| Name | Description |
|---|---|
fields(JSONString!) | |
key(String!) | |
url(String!) |
Example
{
"url": "abc123",
"fields": {"key": "value"},
"key": "abc123"
}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) | |
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 |
|---|---|
errors([OnboardingError]) | Errors raised while attempting to complete this step. |
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],
"errors": [OnboardingError]
}UserInputRequired
A type that returns user inputs that need to be provided for the device to be successfully registered
Fields
| Name | Description |
|---|---|
error(UserInputRequiredError) | An error describing which user inputs failed validation, if any. |
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],
"error": UserInputRequiredError
}UserInputRequiredError
An error that occurred during validation of user inputs.
Fields
| Name | Description |
|---|---|
message(String) | A human readable error message. |
Example
{
"message": "abc123"
}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. |
isVerified(Boolean) | Verification against the device happens after validation is successful. False means the input must be corrected. |
key(String) | Identifier for the requested user input. |
regex(String) | An optional regex pattern used to validate the user input. Uses Python re module syntax (evaluated with re.fullmatch). None if no pattern validation is applied. |
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,
"regex": "abc123",
"isVerified": 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"
}VariantProfile
Object representing a variant profile.
Fields
| Name | Description |
|---|---|
characteristicValues(JSONString!) | The characteristic values for the variant. Deprecated The 'characteristicValues' field is deprecated. |
characteristics(GenericScalar!) | The characteristic values for the variant. |
schemeLabels(JSONString) | The scheme labels for the variant. Deprecated The 'schemeLabels' field is deprecated. |
schemes(GenericScalar) | The scheme labels for the variant. |
Example
{
"characteristicValues": {"key": "value"},
"schemeLabels": {"key": "value"},
"characteristics": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
"schemes": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType
}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"
}VoiceCampaignConnectionTypeConnection
Paginator of Voice Campaigns
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([VoiceCampaignConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": VoiceCampaignConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}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"
}VoiceCampaignItemConnectionTypeConnection
Paginator of Campaign Items
Fields
| Name | Description |
|---|---|
edgeCount(Int!) | Number of nodes in the edge. |
edges([VoiceCampaignItemConnectionTypeEdge]!) | Contains the nodes in this connection. |
pageInfo(PageInfo!) | Pagination data for this connection. |
totalCount(Int!) | Total number of nodes. |
Example
{
"pageInfo": PageInfo,
"edges": VoiceCampaignItemConnectionTypeEdge,
"totalCount": 1,
"edgeCount": 1
}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 |
|---|---|
accountId(ID) | The account ID associated with the item. If the phone number for the item is not set, the account ID will be used to determine the phone number to call. |
callWindowEnd(DateTime) | Together with |
callWindowStart(DateTime) | Together with |
id(ID) | The ID of the campaign item. |
metadata(JSONString) | Metadata about the item. This enables items to be filtered based on additional information such as location. It is a dictionary of key-value pairs, with both keys and values being strings. |
phoneNumber(String) | The phone number of the campaign item. This is used to determine the phone number to call when the item is processed. If it is not set, the account ID will be used instead to call the phone number associated with the account. |
status(CampaignItemStatus!) | The status of the campaign item that determines what actions can be taken on it. |
Example
{
"id": "abc123",
"phoneNumber": "abc123",
"status": "UNASSIGNED",
"callWindowStart": "2020-01-01T00:00:00.000Z",
"callWindowEnd": "2020-01-01T00:00:00.000Z",
"accountId": "abc123",
"metadata": {"key": "value"}
}Fields
| Name | Description |
|---|---|
campaignItems(VoiceCampaignItemConnectionTypeConnection) | The items that are part of the campaign. These are the items that contain information about what phone numbers or accounts to call while this campaign is active. |
campaignType(TypeOfVoiceCampaign) | The type of campaign, e.g. preview or predictive. |
customOutboundPhoneNumber(String) | If appropriate, a custom number to use as the caller id for calls from this campaign. |
description(String) | Additional information to describe the purpose of the campaign. |
id(ID) | The ID of the campaign. |
name(String!) | The name of the campaign. This is used to identify the campaign in the system, and must be unique. |
preventDuplicateRecords(Boolean) | Flag to indicate whether not to create a duplicate record when uploading campaign items that already exist for a given account number and/or phone number |
status(CampaignStatus) | The status of the campaign. Indicates whether calls can be made for items in the campaign or not. |
tags(CallTagConnectionTypeConnection) | The call tags that can be used within this campaign. |
Example
{
"id": "abc123",
"name": "abc123",
"description": "abc123",
"customOutboundPhoneNumber": "abc123",
"status": "ACTIVE",
"campaignType": "PREVIEW",
"preventDuplicateRecords": true
}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 |
|---|---|
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"
}Fields
| Name | Description |
|---|---|
identifier(String!) | The identifier of the work schedule (also known as the 'slug'). |
isOpen(Boolean!) | Whether the work schedule is currently open. |
isPublicHoliday(Boolean!) | Whether today is a public holiday, according to the work schedule. |
name(String!) | Name of the work schedule. |
openOrClosedReason(WorkScheduleOpenOrClosedReason!) | The reason the Work Schedule is open or closed. |
Example
{
"identifier": "abc123",
"name": "abc123",
"isOpen": true,
"isPublicHoliday": true,
"openOrClosedReason": "CLOSED_DUE_TO_PUBLIC_HOLIDAY"
}