Skip to main content

Interfaces

In this section

About Interfaces

Interfaces are abstract types that can be implemented by other objects. They are useful for defining a common set of fields that objects can implement.

AbstractSupplyPointProcessInterface

Interface for all lifecycle journey processes that inherit from AbstractSupplyPointProcess.

Implemented by

Fields

NameDescription
id(ID)

The ID or the primary key of the lifecycle process.

status(LeaveSupplierProcessStatus)

The status of the process.

supplyPoints(SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "status": "COMPLETED",
  "supplyPoints": SupplyPointConnectionTypeConnection
}

AccessibilityInterface

Properties relating to the accessibility of features.

Implemented by

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

Example

{
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123"
}

Implemented by

Fields

NameDescription
accountType(AccountTypeChoices)

The type of account.

activeHardshipAgreements([HardshipAgreementType])

List of active hardship agreements for the user when isinhardship is True.

activeReferralSchemes(ReferralSchemeTypes)

The referral schemes currently active for this account.

address(RichAddressType)

The billing address of this account, stored in the new libaddressinput-based format.

Note that name and organization are very unlikely to be supplied here; the billing_name field on the account itself is generally used for that purpose instead.

annualStatements(AnnualStatementConnectionTypeConnection)

Fetch annual statements for the account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

applications(AccountApplicationConnectionTypeConnection)

Applications by this account to become our customer. More recent applications will be listed first.

Arguments

after (String)

before (String)

first (Int)

last (Int)

assistanceAgreements([AssistanceAgreementType])

Assistance agreements for account.

balance(Int!)

The current account balance.

Arguments

includeAllLedgers (Boolean)

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

billType (BillTypeEnum)

id (ID!)

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.

bills(BillConnectionTypeConnection)

Fetch issued bills (invoices/statements) for the account.

Arguments

after (String)

before (String)

first (Int)

fromDate (Date)

Optional date representing the beginning of the search results. This date value is inclusive.

includeBillsWithoutPDF (Boolean)

Include bills without PDFs.

includeHeldStatements (Boolean)

Include held statements within the results.

includeHistoricStatements (Boolean)

Include pre-Kraken / historical statements within the results.

includeOpenStatements (Boolean)

Include open statements. This flag needs to be used along with includeBillsWithoutPDF=false otherwise results will prove unexpected.

issuedFromDate (Date)

Optional date representing the beginning of the search results based on issued date. This date value is inclusive.

issuedToDate (Date)

Optional date representing the end of the search results based on issued date. This date value is exclusive.

last (Int)

offset (Int)

onlyCurrentEmail (Boolean)

Only include bills emailed to the current user's email.

orderBy (BillsOrderBy)

The order in which to return the bills.

toDate (Date)

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.

Use `business.businessType` instead

- Marked as deprecated on 2022-03-09.
- Will be removed on 2024-01-01.

campaigns([AccountCampaignType])

The campaigns associated with an account.

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.

Use `commsDeliveryPreference` instead

- Marked as deprecated on 2022-05-27.
- Will be removed on 2024-01-01.

contributionAgreements([ContributionAgreementType])

Contribution agreements for account.

createdAt(DateTime)

The datetime that the account was originally created.

debtCollectionProceedings([DebtCollectionProceedingType])

Debt collection proceedings for account.

directDebitInstructions(DirectDebitInstructionConnectionTypeConnection)

The direct debit instructions of the account

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([DirectDebitInstructionStatus])

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

after (String)

before (String)

eventTypes ([AccountEventType])

Filter the account events by their type.

first (Int)

last (Int)

fileAttachments([AccountFileAttachment])

Files attached to this account. Only available if categories defined in settings.

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.

Arguments

ledgerId (ID)

The ledger to return

ledgerNumber (String)

The ledger to return by its number

maximumRefund(MaximumRefundType)

The maximum amount a customer is allowed to request as a refund and the reason why that's the maximum amount.

metadata([Metadata])

Metadata associated with the account.

notes([AccountNoteType])

Notes for the account.

number(String)

A code that uniquely identifies the account.

overdueBalance(Int)

The current account overdue balance.

paginatedFileAttachments(AccountFileAttachmentConnectionTypeConnection)

Files attached to this account.

Arguments

after (String)

before (String)

category (String)

File attachment category.

first (Int)

id (Int)

File attachment id.

last (Int)

paginatedPaymentForecast(PaymentForecastConnectionTypeConnection)

Paginated payment forecasts for an account. Starts from today's date (inclusive). The interface supports last but does not guarantee 'lastness'.

Arguments

after (String)

before (String)

dateTo (Date)

The end date to retrieve forecasts for. This end date is inclusive.

first (Int)

last (Int)

ledgerId (Int)

The ledger to return payment forecasts from. Defaults to the main ledger when no ID is passed.

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.

Please use 'paginatedPaymentForecast' instead.

- Marked as deprecated on 2024-01-03.
- Will be removed on 2025-01-01.

Arguments

dateTo (Date!)

The end date to retrieve forecasts for. This end date is inclusive.

ledgerId (Int)

The ledger to return payment forecasts from. Defaults to the main ledger when no ID is passed.

paymentSchedules(PaymentScheduleConnectionTypeConnection)

The schedules that describe how we would expect to take payments for an account on a given month.

Arguments

active (Boolean)

activeOnDate (Date)

after (String)

before (String)

canCreatePayment (Boolean)

first (Int)

includeDormant (Boolean)

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.

last (Int)

ledgerId (ID)

The ledger id to return the payment schedules from.

ledgerType (Int)

The ledger to return transactions from.

payments(AccountPaymentConnectionTypeConnection)

The payments made into an account from a payment instruction.

Arguments

after (String)

before (String)

first (Int)

includePromises (Boolean)

Whether to include payment promises (of any kind: made, broken or fulfilled) or not. The default is to include them.

last (Int)

ledgerId (String)

WARNING: Will be mandatory in future versions

The ledger to return payments from.

reason (PaymentReasonOptions)

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.

provisionalTransactions(ProvisionalTransactionConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

references([AccountReferenceType])

Account references linked to this account.

referrals(ReferralConnectionTypeConnection)

The referrals created by this account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

referralsCreated(Int)

Number of referrals created by this account.

repayments(AccountRepaymentConnectionTypeConnection)

The repayments that have been requested for this account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([AccountRepaymentStatusOptions])

Only return repayments whose status matches one of these statuses

requestRefundEligibility(RequestRefundEligibilityType)

Details about the eligibility status for requesting a refund.

rewards([RewardType])

The rewards applied to this account.

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

after (String)

before (String)

first (Int)

fromDate (Date)

Optional date representing the beginning of the postedDate range filter. This date value is inclusive.

includeAllLedgers (Boolean)

In a multi-ledger scenario, include all ledgers' transactions if true. Analogously, if false and no ledgerId argument is present, the list of transactions defaults to the main ledger (legacy behaviour).

last (Int)

ledgerId (Int)

The ledger to return transactions from.

offset (Int)

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

toDate (Date)

Optional date representing the end of the postedDate range filter. This date value is exclusive.

transactionTypes ([TransactionTypeFilter])

Include only these specific transaction types in the result.

transactionTypesExcluded ([TransactionTypeFilter])

Exclude these specific transaction types from the result.

urn(String)

Unique reference number from a 3rd party enrolment.

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,
  "paymentSchedules": PaymentScheduleConnectionTypeConnection,
  "paymentForecast": [PaymentForecastType],
  "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
  "referrals": ReferralConnectionTypeConnection,
  "referralsCreated": 1,
  "rewards": [RewardType],
  "activeReferralSchemes": ReferralSchemeTypes,
  "transactions": TransactionConnectionTypeConnection,
  "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
  "annualStatements": AnnualStatementConnectionTypeConnection,
  "bills": BillConnectionTypeConnection,
  "billingOptions": BillingOptionsType,
  "bill": BillInterface,
  "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
  "events": AccountEventConnectionTypeConnection,
  "applications": AccountApplicationConnectionTypeConnection,
  "accountType": "BUSINESS",
  "businessType": "SOLE_TRADER",
  "business": BusinessType,
  "commsDeliveryPreference": "EMAIL",
  "communicationDeliveryPreference": "abc123",
  "documentAccessibility": "LARGE_PRINT",
  "references": [AccountReferenceType],
  "fileAttachments": [AccountFileAttachment],
  "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
  "maximumRefund": MaximumRefundType,
  "campaigns": [AccountCampaignType],
  "isInHardship": true,
  "activeHardshipAgreements": [HardshipAgreementType],
  "notes": [AccountNoteType],
  "contributionAgreements": [ContributionAgreementType],
  "assistanceAgreements": [AssistanceAgreementType],
  "debtCollectionProceedings": [DebtCollectionProceedingType],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "preferredLanguageForComms": "abc123"
}

ActionInterface

Actions are events created by buttons and other interaction.

Implemented by

Fields

NameDescription
typeName(String)

The name of the action object's type.

Example

{
  "typeName": "abc123"
}

Implemented by

Fields

NameDescription
agreedFrom(DateTime)

agreedTo(DateTime)

id(Int)

isRevoked(Boolean)

validFrom(DateTime)

validTo(DateTime)

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true
}

BackendScreenInterface

A backend screen is the top-level container for mobile UI.

Implemented by

Fields

NameDescription
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"
}

Implemented by

Fields

NameDescription
billType(BillTypeEnum)

fromDate(Date)

id(ID)

issuedDate(Date)

The date the bill was sent to the customer.

temporaryUrl(String)

Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet.

toDate(Date)

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01"
}

ButtonInterface

The button interface.

Implemented by

Fields

NameDescription
buttonAction(ActionType!)

The action to perform when the button is pressed.

buttonStyle(ButtonStyle)

The button style.

title(String!)

Title text of the button.

Example

{
  "buttonStyle": "PRIMARY",
  "title": "abc123",
  "buttonAction": DeeplinkActionType
}

Implemented by

Fields

NameDescription
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.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "externalIdentifier": "abc123"
}

Implemented by

Fields

NameDescription
fetchUrl(String)

isReady(Boolean)

Is the file ready for use / downloadable?

isUploaded(Boolean)

Is the file uploaded to S3?

sizeInBytes(Int)

Example

{
  "isUploaded": true,
  "isReady": true,
  "fetchUrl": "abc123",
  "sizeInBytes": 1
}


Implemented by

Fields

NameDescription
occurredAt(DateTime!)

The time the conversation event occurred.

Example

{
  "occurredAt": "2020-01-01T00:00:00.000Z"
}

Implemented by

Fields

NameDescription
affectsAccountBalance(Boolean)

Whether this ledger's balance contributes to the account's balance.

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.

id(ID)

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

after (String)

before (String)

first (Int)

last (Int)

ledgerType(String)

name(String)

The display name of the ledger.

number(String)

The canonical name of the ledger.

paymentAdequacy(PaymentAdequacyDetailsType)

refundRequests(RefundRequestConnectionTypeConnection)

Refund requests for a given ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

repaymentRequests(RepaymentRequestConnectionTypeConnection)

Repayment requests for a given ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

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.

Arguments

after (String)

before (String)

first (Int)

last (Int)

transactions(TransactionConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

transactionTypes ([TransactionTypeFilter])

Return these transaction types only.

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,
  "paymentAdequacy": PaymentAdequacyDetailsType
}

Implemented by

Fields

NameDescription
metaData(MeasurementsMetadataOutput)

This type will return more granular data about the measurement.

readAt(DateTime!)

source(String!)

unit(String!)

value(Decimal!)

Example

{
  "source": "abc123",
  "metaData": MeasurementsMetadataOutput,
  "value": 1.0,
  "unit": "abc123",
  "readAt": "2020-01-01T00:00:00.000Z"
}

MediaInterface

The media interface.

Implemented by

Fields

NameDescription
horizontalAlignment(Alignment)

The horizontal alignment of the media.

mediaUrl(String!)

The resource URL of the media.

Example

{
  "mediaUrl": "abc123",
  "horizontalAlignment": "START"
}

Implemented by

Fields

NameDescription
consumption(ConsumptionConnection)

Energy consumption recorded by the meter.

Arguments

after (String)

before (String)

first (Int)

grouping (ConsumptionGroupings!)

Aggregate consumption according to this grouping.

last (Int)

startAt (DateTime!)

Earliest consumption reading to return. Must specify a timezone.

timezone (String!)

Timezone to use for grouping.

consumptionUnits(String)

The units of consumption for a smart meter.

fuelType(String)

The type of fuel this meter uses.

id(ID!)

requiresCotFinalReading(Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

serialNumber(String!)

Example

{
  "id": "abc123",
  "serialNumber": "abc123",
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection
}

Implemented by

Fields

NameDescription
enrolment(EnrolmentType)

Details of an ongoing enrolment process.

meters([Meter])

Returns active meters by default, but can be filtered by meter id and active status.

Arguments

id (Int)

includeInactive (Boolean)

status(String)

Example

{
  "status": "abc123",
  "meters": Meter,
  "enrolment": EnrolmentType
}

Implemented by

Fields

NameDescription
readAt(DateTime)

readingSource(String)

registers([RegisterReading])

source(String)

Example

{
  "readAt": "2020-01-01T00:00:00.000Z",
  "readingSource": "abc123",
  "registers": [RegisterReading],
  "source": "abc123"
}


Implemented by

Fields

NameDescription
address(String)

The address of the property, formatted into a single string

coordinates(CoordinatesType)

Coordinates for the property, useful for displaying the property on a map.

embeddedNetwork(EmbeddedNetworkType)

The embedded network this property belongs to, if any.

id(String)

measurements(MeasurementConnection)

Measurements at a property

Arguments

after (String)

before (String)

endAt (DateTime)

Defaults to the far future which will return the most recent readings.

endOn (Date)

Latest date to return measurements for (inclusive).

first (Int)

last (Int)

startAt (DateTime)

Defaults to the far past which will return the oldest readings.

startOn (Date)

Earliest date to return measurements from.

timezone (String)

Timezone to use for grouping. Defaults to Kraken localtime.

typedOnly ([TypedSourceInputType])

A source type to filter against sources.

utilityFilters ([UtilityFiltersInput])

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.

richAddress(PropertyRichAddressType)

Property rich address.

splitAddress([String])

List of address lines.

Example

{
  "id": "abc123",
  "address": "abc123",
  "richAddress": PropertyRichAddressType,
  "splitAddress": ["abc123"],
  "occupancyPeriods": [OccupancyPeriodType],
  "coordinates": CoordinatesType,
  "embeddedNetwork": EmbeddedNetworkType,
  "measurements": MeasurementConnection
}

Implemented by

Fields

NameDescription
code(String)

combinedPaymentAmount(Int)

The payment amount in pence received by the referrer and the referee combined.

paymentDate(Date)

paymentStatus(String)

referredUserJoinDate(DateTime)

referredUserName(String)

referredUserPaymentAmount(Int)

Payment amount given to the referred account in pence.

referringUserPaymentAmount(Int)

Payment amount given to the referring account in pence.

schemeType(ReferralSchemeTypeChoices)

The type of reward scheme.

Example

{
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "referredUserName": "abc123",
  "paymentStatus": "abc123",
  "referredUserJoinDate": "2020-01-01T00:00:00.000Z",
  "code": "abc123",
  "referredUserPaymentAmount": 1,
  "referringUserPaymentAmount": 1,
  "combinedPaymentAmount": 1
}

Implemented by

Fields

NameDescription
paymentDate(Date)

paymentStatus(ReferralStatusChoices)

The status of the reward payment.

rewardAmount(Int)

Reward amount given to the account in pence.

schemeType(ReferralSchemeTypeChoices)

The type of reward scheme.

Example

{
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "rewardAmount": 1,
  "paymentStatus": "Pending"
}

Implemented by

Fields

NameDescription
code(String)

Code name of the sensor.

displayName(String)

User determined name for a sensor.

Example

{
  "code": "abc123",
  "displayName": "abc123"
}

SizedItemInterface

Sizes for elements.

Implemented by

Fields

NameDescription
width(ItemSizeType)

The measurement of the element.

Example

{
  "width": FractionSizeType
}

Implemented by

Fields

NameDescription
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"
}

SmartFlexDeviceInterface

Some general information about a device.

Implemented by

Fields

NameDescription
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.

name(String)

The user-friendly name for the device.

onboardingWizard(SmartFlexOnboardingWizard)

The current onboarding wizard for a device.

provider(ProviderChoices!)

The third-party that enables control of this device.

status(SmartFlexDeviceStatusInterface)

Information about the current status of this device.

Example

{
  "id": "abc123",
  "name": "abc123",
  "deviceType": "BATTERIES",
  "provider": "DAIKIN",
  "status": SmartFlexDeviceStatusInterface,
  "alerts": SmartFlexDeviceAlertInterface,
  "onboardingWizard": SmartFlexOnboardingWizard
}

Implemented by

Fields

NameDescription
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"
}

Implemented by

Fields

NameDescription
currentBalance(Int)

The current final balance of the ledger in pence.

id(ID)

ledgerType(String)

name(String)

The display name of the ledger.

paymentAdequacy(PaymentAdequacyDetailsType)

Example

{
  "id": "abc123",
  "name": "abc123",
  "ledgerType": "abc123",
  "currentBalance": 1,
  "paymentAdequacy": PaymentAdequacyDetailsType
}

Implemented by

Fields

NameDescription
description(String)

displayName(String)

fullName(String)

id(ID)

preVatStandingCharge(Float)

productCode(String)

standingCharge(Float)

tariffCode(String)

Describes a particular tariff by combining the product code, number of rates, available from date and GSP code.

Example

{
  "id": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "productCode": "abc123",
  "standingCharge": 1.0,
  "preVatStandingCharge": 1.0,
  "tariffCode": "abc123"
}

Implemented by

Fields

NameDescription
textAlignment(Alignment)

The text alignment.

textStyle(TextStyleV1)

The text style, i.e. header, body.

value(String!)

The text content.

Example

{
  "value": "abc123",
  "textStyle": "TITLE1",
  "textAlignment": "START"
}

TransactionType

Transactions are a record of money being added or subtracted from the overall account balance

Implemented by

Fields

NameDescription
accountNumber(String)

Unique identifier of the account the transaction belongs to.

amount(Int)

Gross amount including tax (when payable). Refer to the amounts field for a breakdown of this information.

Deprecated

The 'amount' field is deprecated.

Use `amounts` instead for a breakdown of the relevant net, tax, and gross amounts.

- Marked as deprecated on 2023-12-06.
- Will be removed on 2024-06-01.

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)

isAccountCharge(Boolean)

Deprecated.

Deprecated

The 'isAccountCharge' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Will be removed on 2022-11-15.

isAccountPayment(Boolean)

Deprecated.

Deprecated

The 'isAccountPayment' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Will be removed on 2022-11-15.

isCredit(Boolean)

Deprecated.

Deprecated

The 'isCredit' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Will be removed on 2022-11-15.

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)

statementId(ID)

Returns None if a statement is not linked with the transaction.

Deprecated

The 'statementId' field is deprecated.

Use `billingDocumentIdentifier` instead.

- Marked as deprecated on 2023-11-30.
- Will be removed on 2024-06-01.

title(String)

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123",
  "amount": 1,
  "amounts": TransactionAmountType,
  "balanceCarriedForward": 1,
  "isCredit": true,
  "isAccountCharge": true,
  "isAccountPayment": true,
  "isHeld": true,
  "isIssued": true,
  "title": "abc123",
  "billingDocumentIdentifier": "abc123",
  "statementId": "abc123",
  "isReversed": true,
  "hasStatement": true,
  "note": "abc123"
}