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.

  • API Site
  • 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(LifecycleSupplyPointProcessStatus)

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

    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.
    - Scheduled for removal on or after 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.
    - Scheduled for removal on or after 2024-01-01.

    consents([ConsentType!]!)

    Consents linked to this account.

    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.

    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.
    - Scheduled for removal on or after 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.

    paymentPlans(PaymentPlanConnectionTypeConnection)

    The payment plans that have been created for this account.

    Arguments

    after (String)

    before (String)

    first (Int)

    last (Int)

    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.

    ledgerNumber (String)

    The ledger number 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,
      "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,
      "bill": BillInterface,
      "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
      "events": AccountEventConnectionTypeConnection,
      "applications": AccountApplicationConnectionTypeConnection,
      "accountType": "BUSINESS",
      "businessType": "SOLE_TRADER",
      "business": BusinessType,
      "commsDeliveryPreference": "EMAIL",
      "communicationDeliveryPreference": "abc123",
      "documentAccessibility": "LARGE_PRINT",
      "references": [AccountReferenceType],
      "fileAttachments": [AccountFileAttachment],
      "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
      "maximumRefund": MaximumRefundType,
      "campaigns": [AccountCampaignType],
      "isInHardship": true,
      "activeHardshipAgreements": [HardshipAgreementType],
      "contributionAgreements": [ContributionAgreementType],
      "assistanceAgreements": [AssistanceAgreementType],
      "createdAt": "2020-01-01T00:00:00.000Z",
      "preferredLanguageForComms": "abc123",
      "consents": ConsentType
    }

    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)

    The datetime the agreement was entered.

    agreedTo(DateTime)

    The datetime the agreement was terminated.

    id(Int)

    The ID of the agreement.

    isRevoked(Boolean)

    Whether the agreement is revoked.

    validFrom(DateTime)

    The start datetime of the agreement.

    validTo(DateTime)

    The end datetime of the agreement.

    Example

    {
      "id": 1,
      "validFrom": "2020-01-01T00:00:00.000Z",
      "validTo": "2020-01-01T00:00:00.000Z",
      "agreedFrom": "2020-01-01T00:00:00.000Z",
      "agreedTo": "2020-01-01T00:00:00.000Z",
      "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
    attachments(BillingAttachmentConnectionTypeConnection)

    Arguments

    after (String)

    before (String)

    first (Int)

    last (Int)

    billType(BillTypeEnum)

    The type of the bill.

    fromDate(Date)

    The date of the bill is covered from.

    id(ID)

    The ID of the bill.

    issuedDate(Date)

    The date the bill was sent to the customer.

    temporaryUrl(String)

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

    Deprecated

    The 'temporaryUrl' field is deprecated.

    This field is deprecated. Use the 'attachments' field instead.

    - Marked as deprecated on 2024-09-16.
    - Scheduled for removal on or after 2025-09-01.

    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
    }

    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
    fromDate(Date)

    The date of the constituent bill covered from.

    id(ID)

    The ID of the constituent bill.

    toDate(Date)

    The date of the constituent bill covered to.

    Example

    {
      "id": "abc123",
      "fromDate": "2020-01-01",
      "toDate": "2020-01-01"
    }

    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)

    Transactions on the given ledger.

    Arguments

    after (String)

    before (String)

    first (Int)

    fromDate (Date)

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

    last (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.

    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.

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

    SelectFromList

    A base implementation of an interface where the user must select an option from a list.

    Implemented by

    Fields

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

    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.

    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.

    preferences(SmartFlexDevicePreferencesInterface)

    The device's preference details.

    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",
      "integrationDeviceId": "abc123",
      "status": SmartFlexDeviceStatusInterface,
      "alerts": SmartFlexDeviceAlertInterface,
      "onboardingWizard": SmartFlexOnboardingWizard,
      "preferences": SmartFlexDevicePreferencesInterface
    }

    SmartFlexDevicePreferencesInterface

    Details about a device's preferences.

    Implemented by

    Fields

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

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

    SmartFlexListItemInterface

    An interface for a list item in a SmartFlex onboarding step.

    Example

    {
      "id": "abc123"
    }


    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)

    isExport(Boolean)

    Whether the tariff is for exporting energy.

    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",
      "isExport": true
    }

    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.
    - Scheduled for removal on or after 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.
    - Scheduled for removal on or after 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.
    - Scheduled for removal on or after 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.
    - Scheduled for removal on or after 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)

    reasonCode(String)

    Returns the reason.

    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.
    - Scheduled for removal on or after 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",
      "reasonCode": "abc123"
    }