Skip to main content

Input Objects

In this section

About Input Objects

Input objects can be described as "composable objects" because they include a set of input fields that define the object.

  • API Site
  • Input fields

    NameDescription

    accountNumber (ID)

    The account number to filter for.

    category (APIExceptionCategories)

    The category to filter for.

    channel (String)

    The channel to filter for.

    customerContact (String)

    The customer contact to filter for.

    externalIdentifier (String)

    The external identifier to filter for.

    priority (APIExceptionPriority)

    The priority to filter for.

    resolutionStatus (APIExceptionResolutionStatus)

    The resolution status to filter for.

    resolutionType (APIExceptionResolutionType)

    The resolution type to filter for.

    supplyPointIdentifier (ID)

    The supply point identifier to filter for.

    tags ([APIExceptionTags])

    Tags to filter for.

    userId (ID)

    The user ID to filter for.

    Example

    {
      "externalIdentifier": "abc123",
      "resolutionStatus": "ASSIGNED",
      "resolutionType": "AUTOMATIC",
      "channel": "abc123",
      "priority": "LOW",
      "tags": "MOVE_IN",
      "category": "ACCOUNT",
      "accountNumber": "abc123",
      "userId": "abc123",
      "customerContact": "abc123",
      "supplyPointIdentifier": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    clientParams (JSONString)

    A JSON object containing client parameters to store on the quote.

    marketParams (JSONString)

    A JSON object containing market parameters to store on the purchase.

    quoteId (Int!)

    ID of the accepted quote.

    Example

    {
      "accountNumber": "abc123",
      "quoteId": 1,
      "clientParams": {"key": "value"},
      "marketParams": {"key": "value"}
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    enrolmentId (ID!)

    The ID of the Enrolment.

    termsVersion (TermsVersionInput!)

    The version of accepted terms and conditions.

    Example

    {
      "accountNumber": "abc123",
      "enrolmentId": "abc123",
      "termsVersion": TermsVersionInput
    }

    Input fields

    NameDescription

    accountNumber (String)

    The account number of the account to update.

    billingAddress (BillingAddressDetailsInput)

    Billing address details.

    Example

    {
      "accountNumber": "abc123",
      "billingAddress": BillingAddressDetailsInput
    }

    Input fields

    NameDescription

    accountNumber (ID!)

    The account number.

    ledgerId (ID)

    The ledger id for the account.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    The ledger number for the account.

    Example

    {
      "accountNumber": "abc123",
      "ledgerId": "abc123",
      "ledgerNumber": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    Example

    {
      "accountNumber": "abc123"
    }

    AccountReferenceInput

    The input type for the account reference.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    namespace (String!)

    The namespace for the reference.

    value (String!)

    The reference value.

    Example

    {
      "accountNumber": "abc123",
      "namespace": "abc123",
      "value": "abc123"
    }

    Input fields

    NameDescription

    account (String)

    Internal account id (not account number).

    accountNumber (String)

    The account number eg. A-FF15AE70.

    accountReferences (String)

    Account Reference.

    billingName (String)

    Account or Billing name.

    businessName (String)

    Business name.

    businessNumber (String)

    Business identifier or number.

    location (String)

    Location (Supply or Billing, full or partial, address or post code).

    meterSerialNumber (String)

    Meter Serial Number.

    mpan (String)

    MPAN of property.

    mprn (String)

    MPRN of property.

    portfolioNumber (String)

    The portfolio number eg. P-A123B456.

    statements (String)

    Statements.

    telephoneNumber (String)

    Telephone.

    urn (String)

    URN Number.

    user (String)

    The Account User ID (not account number).

    Example

    {
      "accountNumber": "abc123",
      "portfolioNumber": "abc123",
      "urn": "abc123",
      "user": "abc123",
      "account": "abc123",
      "statements": "abc123",
      "meterSerialNumber": "abc123",
      "location": "abc123",
      "billingName": "abc123",
      "businessName": "abc123",
      "businessNumber": "abc123",
      "accountReferences": "abc123",
      "mpan": "abc123",
      "mprn": "abc123",
      "telephoneNumber": "abc123"
    }

    Input fields

    NameDescription

    creditScoreData (CreditScoreData)

    creditScoreFetchedAt (DateTime)

    dateOfBirth (Date)

    email (String!)

    familyName (String!)

    givenName (String!)

    mobile (String!)

    optedInForMarketing (Boolean!)

    psrData (UpdateSpecialCircumstancesInput)

    roles ([String])

    Role codes of the roles to be assigned to the user.

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "email": "abc123",
      "mobile": "abc123",
      "optedInForMarketing": true,
      "creditScoreData": CreditScoreData,
      "creditScoreFetchedAt": "2020-01-01T00:00:00.000Z",
      "dateOfBirth": "2020-01-01",
      "psrData": UpdateSpecialCircumstancesInput,
      "roles": ["abc123"]
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    campaign (String!)

    The slug of the campaign we want to assign.

    expiryDate (Date)

    The date in which the link between the campaing and the account is meant to expire. If null, no specific expiring date will be set.

    startDate (Date)

    The date in which the link between the campaing and the account is meant to start. If null, no specific start date will be set.

    Example

    {
      "accountNumber": "abc123",
      "campaign": "abc123",
      "startDate": "2020-01-01",
      "expiryDate": "2020-01-01"
    }

    AddEvPublicChargingTokenInput

    The input type for adding an EV Public Charging token.

    Input fields

    NameDescription

    externalAccountId (String!)

    Identifier of an account in the external system.

    tokenValue (String!)

    Token identifier.

    validFrom (DateTime!)

    The start time of token's validity.

    Example

    {
      "externalAccountId": "abc123",
      "tokenValue": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    addressLine1 (String!)

    First address line.

    addressLine2 (String!)

    Second address line.

    addressLine3 (String)

    Third address line.

    addressLine4 (String)

    Fourth address line.

    addressLine5 (String)

    Fifth address line.

    postcode (String!)

    Postcode.

    uprn (String)

    Unique Property Reference Number.

    Example

    {
      "uprn": "abc123",
      "addressLine1": "abc123",
      "addressLine2": "abc123",
      "addressLine3": "abc123",
      "addressLine4": "abc123",
      "addressLine5": "abc123",
      "postcode": "abc123"
    }

    Input fields

    NameDescription

    addressLine1 (String)

    addressLine2 (String)

    addressLine3 (String)

    addressLine4 (String)

    addressLine5 (String)

    postcode (String!)

    Postcode of the property where the appointment took place.

    Example

    {
      "addressLine1": "abc123",
      "addressLine2": "abc123",
      "addressLine3": "abc123",
      "addressLine4": "abc123",
      "addressLine5": "abc123",
      "postcode": "abc123"
    }

    Input fields

    NameDescription

    addressLine1 (String!)

    addressLine2 (String!)

    addressLine3 (String!)

    county (String!)

    postcode (String!)

    town (String!)

    Example

    {
      "addressLine1": "abc123",
      "addressLine2": "abc123",
      "addressLine3": "abc123",
      "town": "abc123",
      "county": "abc123",
      "postcode": "abc123"
    }

    Input fields

    NameDescription

    agreementId (ID!)

    The Kraken ID of the agreement to be renewed. The agreement must be currently active.

    productCode (String!)

    The code of the product the agreement will be renewed to.

    Example

    {
      "agreementId": "abc123",
      "productCode": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    amount (Int!)

    The new amount for the amended payment.

    paymentDate (Date!)

    The new date to collect the payment.

    paymentId (Int!)

    The ID of the payment to amend.

    reason (String)

    Reason for amending the payment.

    Example

    {
      "accountNumber": "abc123",
      "paymentId": 1,
      "amount": 1,
      "paymentDate": "2020-01-01",
      "reason": "abc123"
    }

    Input fields

    NameDescription

    readingDatetime (DateTime!)

    The new datetime of reading.

    readingId (Int!)

    The ID of the reading that will be amended.

    readingValue (Int!)

    The new value of reading.

    Example

    {
      "readingId": 1,
      "readingValue": 1,
      "readingDatetime": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    accountNumber (ID!)

    The account number for the requested repayment.

    repaymentId (ID!)

    The id of the account repayment to be approved.

    Example

    {
      "accountNumber": "abc123",
      "repaymentId": "abc123"
    }

    Input fields

    NameDescription

    bucketName (String!)

    The name of the bucket to assign the conversation to.

    clientMutationId (String)

    conversationRelayId (ID!)

    The relay id of the conversation that will be assigned to the bucket.

    Example

    {
      "conversationRelayId": "abc123",
      "bucketName": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    accessToken (String)

    SSO access token for the chosen provider authentication.

    authorizationCode (String)

    Provider code from user login used for SSO.

    expiresIn (Int)

    SSO token expiry for the provider's authentication (integer in seconds).

    providerDeviceId (String)

    ID of the device in the external provider system.

    redirectUri (String)

    Full redirect URI (including all query string parameters) from the result of an OAuth 2.0 flow.

    refreshToken (String)

    SSO refresh token for the chosen provider authentication.

    state (String)

    State from user login used for SSO.

    Example

    {
      "accessToken": "abc123",
      "authorizationCode": "abc123",
      "refreshToken": "abc123",
      "expiresIn": 1,
      "state": "abc123",
      "providerDeviceId": "abc123",
      "redirectUri": "abc123"
    }

    BackendScreenEventInput

    Input for a backend action.

    Input fields

    NameDescription

    eventId (ID!)

    The ID of the action to perform.

    params ([BackendScreenParamInputType])

    List of key-value pairs (strings) to pass as parameters to the mutation.

    Example

    {
      "eventId": "abc123",
      "params": BackendScreenParamInputType
    }

    BackendScreenParamInputType

    A key-value pair (both Strings) which is passed in parameters to a backend action.

    Input fields

    NameDescription

    key (String!)

    value (String!)

    Example

    {
      "key": "abc123",
      "value": "abc123"
    }

    BalanceTriggeredScheduleInput

    A payment schedule which triggers a payment the balance of a ledger drops below a certain value.

    Input fields

    NameDescription

    balanceThreshold (Int!)

    The ledger balance (in the minor currency unit) which when passed will trigger a payment to be taken.

    targetBalance (Int)

    The target balance (in the minor currency unit) for the ledger; used to calculate the payment amount. Defaults to zero.

    Example

    {
      "balanceThreshold": 1,
      "targetBalance": 1
    }

    Input fields

    NameDescription

    accountHolder (String)

    accountNumber (String)

    accountType (String)

    bankCode (String)

    branchCode (String)

    iban (String)

    Example

    {
      "accountHolder": "abc123",
      "iban": "abc123",
      "accountNumber": "abc123",
      "bankCode": "abc123",
      "branchCode": "abc123",
      "accountType": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    minimumSocPercentage (Int!)

    The minimum state of charge (soc) %.

    Example

    {
      "accountNumber": "abc123",
      "minimumSocPercentage": 1
    }

    Input fields

    NameDescription

    rateType (NonBespokeElectricityRateTypeChoices!)

    Rate type associated with the given unit rate.

    unitRate (Decimal!)

    Electricity bespoke unit rate to override the unit rate associated with the tariff.

    Example

    {
      "unitRate": 1.0,
      "rateType": "STANDARD"
    }

    Input fields

    NameDescription

    paymentMethod (PaymentMethod!)

    Payment method associated with the given unit rate.

    standingCharge (Decimal)

    Bespoke standing charge.

    unitRate (Decimal)

    Gas bespoke unit rate.

    unitRates ([BespokeElectricityUnitRatesInput])

    Electricity bespoke unit rates with their associated rate type.

    Example

    {
      "standingCharge": 1.0,
      "unitRate": 1.0,
      "unitRates": BespokeElectricityUnitRatesInput,
      "paymentMethod": "DIRECT_DEBIT"
    }

    Input fields

    NameDescription

    standingCharge (Decimal)

    Bespoke standing charge.

    unitRate (Decimal)

    Gas bespoke unit rate.

    unitRates ([BespokeElectricityUnitRatesInput])

    Electricity bespoke unit rates with their associated rate type.

    Example

    {
      "standingCharge": 1.0,
      "unitRate": 1.0,
      "unitRates": BespokeElectricityUnitRatesInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    mpan (String!)

    The mpan number.

    Example

    {
      "accountNumber": "abc123",
      "mpan": "abc123"
    }

    Input fields

    NameDescription

    targetBalance (Int)

    The target balance (in the minor currency unit) for the ledger; used to calculate the payment amount. Defaults to zero.

    Example

    {
      "targetBalance": 1
    }

    BillTriggeredScheduleInput

    A payment schedule which triggers a payment when a bill is issued.

    Optionally a payment day frequency multiplier can be specified in which case the payment is taken on the first occurrence of the payment day after a bill has been issued.

    Input fields

    NameDescription

    frequencyMultiplier (Int)

    The multiple of months at which payment are taken. Required when a payment day is chosen, ignored if payment day not set.

    paymentDay (Int)

    The day of the month at which to take payment (1-28). If not provided payment is taken whenever a bill is issued.

    Example

    {
      "paymentDay": 1,
      "frequencyMultiplier": 1
    }

    Input fields

    NameDescription

    administrativeArea (String)

    Administrative area.

    country (String)

    Billing country.

    deliveryPointIdentifier (String)

    Billing delivery point identifier.

    dependentLocality (String)

    Billing dependent locality.

    locality (String)

    Billing locality.

    postalCode (String)

    Billing postal code.

    sortingCode (String)

    Billing sorting code.

    streetAddress (String)

    Billing street address.

    structuredStreetAddress (GenericScalar)

    Billing structured street address.

    Example

    {
      "streetAddress": "abc123",
      "structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
      "dependentLocality": "abc123",
      "locality": "abc123",
      "postalCode": "abc123",
      "sortingCode": "abc123",
      "deliveryPointIdentifier": "abc123",
      "administrativeArea": "abc123",
      "country": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String)

    The account number of the item.

    callWindowEnd (DateTime)

    The end of the call window for the item.

    callWindowStart (DateTime)

    The start of the call window for the item.

    metadata (JSONString)

    The metadata of the item.

    phoneNumber (String)

    The phone number of the item.

    Example

    {
      "phoneNumber": "abc123",
      "callWindowStart": "2020-01-01T00:00:00.000Z",
      "callWindowEnd": "2020-01-01T00:00:00.000Z",
      "accountNumber": "abc123",
      "metadata": {"key": "value"}
    }

    CancelLeaveSupplierInput

    Input required to cancel a LeaveSupplier journey.

    Input fields

    NameDescription

    leaveSupplierProcessId (ID!)

    The ID of the LeaveSupplier process to cancel.

    reason (String)

    The reason for the cancellation.

    Example

    {
      "leaveSupplierProcessId": "abc123",
      "reason": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (ID!)

    The account number.

    paymentId (ID!)

    The ID of the payment to cancel.

    reason (String)

    Reason for cancelling the payment.

    Example

    {
      "accountNumber": "abc123",
      "paymentId": "abc123",
      "reason": "abc123"
    }

    Input fields

    NameDescription

    requestId (String!)

    The id of the request to be cancelled.

    Example

    {
      "requestId": "abc123"
    }

    Input fields

    NameDescription

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard to cancel.

    Example

    {
      "wizardId": "abc123"
    }

    Input fields

    NameDescription

    number (String!)

    The export certificate number.

    type (CertificateType!)

    The export certificate type.

    Example

    {
      "number": "abc123",
      "type": "MCS"
    }

    Input fields

    NameDescription

    businessType (BusinessTypeEnum!)

    Type of the business: LTD, Charity, SoleTrader or Partnership.

    companyNumber (String)

    Company registration number. Only needed for LTDs.

    Example

    {
      "businessType": "LTD",
      "companyNumber": "abc123"
    }

    CheckDeviceConnectionInput

    Specify the device id of a smart device to check the connection.

    Input fields

    NameDescription

    deviceId (String!)

    The device id of the device (e.g. B0-11-2E-33-FF-45-C6-78).

    Example

    {
      "deviceId": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    state (Boolean!)

    The state that the climate control device should be set to. A value of true indicates that the device should be turned on, and a value of false indicates it should be switched off.

    Example

    {
      "accountNumber": "abc123",
      "state": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    agency (String!)

    The DCA agency owning the proceeding.

    campaign (String)

    The campaign for the proceeding.

    notifyDca (Boolean)

    Whether to send a notification to the DCA.

    stopReason (String!)

    The reason for stopping.

    stoppedDate (Date!)

    The date where dca proceeding stopped.

    Example

    {
      "accountNumber": "abc123",
      "stopReason": "abc123",
      "stoppedDate": "2020-01-01",
      "notifyDca": true,
      "agency": "abc123",
      "campaign": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    amount (Int!)

    The payment amount (in pence).

    collectionMethod (PaymentType)

    The type of the payment instruction.

    description (String!)

    The reason a payment is being collected, for internal audit purposes.

    idempotencyKey (String!)

    ledgerId (ID)

    The ID of the ledger on which to collect the payment.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    The number of the ledger on which to collect the payment.

    paymentDate (Date!)

    The date to attempt to take the payment. Cannot be a date in the past. Payment will be collected on the requested date or as soon as possible after that date.

    Example

    {
      "accountNumber": "abc123",
      "amount": 1,
      "paymentDate": "2020-01-01",
      "description": "abc123",
      "idempotencyKey": "abc123",
      "collectionMethod": "BPAY",
      "ledgerId": "abc123",
      "ledgerNumber": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    agency (String!)

    The agency.

    amount (Int)

    Amount of debt.

    campaign (String!)

    The campaign.

    dateStarted (String!)

    The date where commencement started.

    isWhiteLabel (Boolean!)

    If the commencement is white label.

    notes (String)

    Notes for the commencement.

    Example

    {
      "accountNumber": "abc123",
      "agency": "abc123",
      "campaign": "abc123",
      "isWhiteLabel": true,
      "dateStarted": "abc123",
      "amount": 1,
      "notes": "abc123"
    }

    Input fields

    NameDescription

    affiliateLinkSubdomain (String)

    The subdomain of the affiliate link used to track the commission.

    fixedTpiFee (Int)

    The fixed comission fee, in pence, which is paid to the third-party intermediary.

    organizationName (String!)

    The third-party intermediary who sold this renewal to the customer.

    standingChargeUplift (Decimal)

    The amount to add to the standing charge when billing, in pence/day, which is paid to the third-party intermediary.

    unitRateUplift (Decimal!)

    The amount to add to the unit rate when billing, in pence/kWh, which is paid to the third-party intermediary.

    Example

    {
      "organizationName": "abc123",
      "unitRateUplift": 1.0,
      "standingChargeUplift": 1.0,
      "fixedTpiFee": 1,
      "affiliateLinkSubdomain": "abc123"
    }

    Input fields

    NameDescription

    chfDeviceId (String!)

    Device ID of the CHF (Communications Hub Function).

    installationCode (String!)

    Code provided by manufacturer as part of ASN data, and included as part of device pre-notification, which is required to authorise device commissioning.

    meterDeviceId (String!)

    Device ID (ESME or GSME) of the device being commissioned.

    meterType (MeterTypeChoices!)

    Type of meter being commissioned

    mpxn (String)

    serialNumber (String)

    Serial number for ESME or GSME devices.

    Example

    {
      "mpxn": "abc123",
      "chfDeviceId": "abc123",
      "meterDeviceId": "abc123",
      "installationCode": "abc123",
      "meterType": "ELECTRICITY_METER",
      "serialNumber": "abc123"
    }

    Input fields

    NameDescription

    continuationUri (String!)

    The entire continuation URI returned by the vendor.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "continuationUri": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number that the device is registered to.

    externalDeviceIdentifier (String!)

    External reference in the third-party system to identify the device.

    postalCode (String!)

    Postcode of the property (linked to the account) that the device is registered to.

    Example

    {
      "accountNumber": "abc123",
      "postalCode": "abc123",
      "externalDeviceIdentifier": "abc123"
    }

    Input fields

    NameDescription

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123"
    }

    Input fields

    NameDescription

    code (String!)

    The code of the consent type.

    value (ConsentValue!)

    The value to update the consent to.

    Example

    {
      "code": "abc123",
      "value": "ACCEPTED"
    }

    Input fields

    NameDescription

    consentTypeCode (String!)

    The code of the consent type.

    value (ConsentValue)

    Example

    {
      "consentTypeCode": "abc123",
      "value": "ACCEPTED"
    }

    Input fields

    NameDescription

    consentToMbna (Boolean)

    Consent to MBNA.

    email (String!)

    Email.

    firstName (String!)

    First name.

    lastName (String!)

    Last name.

    phone (String!)

    Phone.

    Example

    {
      "firstName": "abc123",
      "lastName": "abc123",
      "email": "abc123",
      "phone": "abc123",
      "consentToMbna": true
    }

    Input fields

    NameDescription

    apiExceptionId (Int)

    The ID of the associated API exception, if any.

    context (JSONString)

    Any optional useful context involved in the API call.

    correlationId (String!)

    The correlation id header from the HTTP request.

    inputData (JSONString)

    The input data provided to the API, if any.

    operationName (String!)

    The name of the operation associated with this call.

    response (JSONString!)

    The response returned by the API.

    Example

    {
      "correlationId": "abc123",
      "operationName": "abc123",
      "inputData": {"key": "value"},
      "response": {"key": "value"},
      "context": {"key": "value"},
      "apiExceptionId": 1
    }

    Input fields

    NameDescription

    apiExceptionId (Int)

    The ID of the associated API exception, if any.

    category (String!)

    The event category.

    context (JSONString)

    Any optional useful context involved in the event.

    description (String!)

    Any useful event description.

    eventType (String!)

    The event type.

    Example

    {
      "eventType": "abc123",
      "category": "abc123",
      "description": "abc123",
      "context": {"key": "value"},
      "apiExceptionId": 1
    }

    Input fields

    NameDescription

    accountNumber (ID)

    The account number associated with the exception, if available.

    assignedUserId (Int)

    The ID of the user assigned to handle this exception.If no user is provided, no user will be assigned to the exception.

    category (APIExceptionCategories)

    Category associated with this exception. Uses the default category if not provided.

    channel (String!)

    The API client channel where the exception was triggered from.

    context (JSONString)

    Contextual information about the exception, if any.

    customerContact (String)

    The customer contact associated with the exception, if available.

    externalIdentifier (String!)

    External identifier mapping an entity on the client's database.

    keyDate (Date)

    The key date associated with the exception, if available.

    operationsTeamId (Int)

    The ID of an operations team to handle this exception. If no team is provided, no team will be assigned to the exception.

    priority (APIExceptionPriority)

    The priority. Defaults to LOW if not provided.

    resolutionStatus (APIExceptionResolutionStatus)

    The resolution status. Defaults to UNASSIGNED if not provided.

    resolutionType (APIExceptionResolutionType)

    The resolution type. Defaults to UNASSIGNED if not provided.

    supplyPointIdentifier (String)

    The supply point identifier associated with the exception, if available.

    tags ([APIExceptionTags])

    Tags associated with this exception if any.

    userId (Int)

    The user ID associated with the exception, if available.

    Example

    {
      "externalIdentifier": "abc123",
      "resolutionStatus": "ASSIGNED",
      "resolutionType": "AUTOMATIC",
      "priority": "LOW",
      "context": {"key": "value"},
      "channel": "abc123",
      "assignedUserId": 1,
      "operationsTeamId": 1,
      "tags": "MOVE_IN",
      "category": "ACCOUNT",
      "accountNumber": "abc123",
      "userId": 1,
      "customerContact": "abc123",
      "supplyPointIdentifier": "abc123",
      "keyDate": "2020-01-01"
    }

    Input fields

    NameDescription

    apiExceptionId (ID!)

    The ID of the associated API exception.

    body (String!)

    The body of the note.

    Example

    {
      "body": "abc123",
      "apiExceptionId": "abc123"
    }

    CreateAccountChargeInput

    The input type for the account charge.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    cclAmount (Int)

    The climate change levy amount of the charge to be added.

    Deprecated

    The 'cclAmount' field is deprecated.

    CCL amount should not be passed in by the API.

    - Marked as deprecated on 2022-10-18.
    - Scheduled for removal on or after 2024-01-01.

    displayNote (String)

    Optional short note about account charge for customer display.

    grossAmount (Int!)

    The gross amount of the charge to be added.

    metadata (JSONString)

    Any extra data that will be associated with account charge.

    netAmount (Int)

    The net amount of the charge to be added.

    Deprecated

    The 'netAmount' field is deprecated.

    The net amount will be calculated automatically by the gross amount.

    - Marked as deprecated on 2022-10-18.
    - Scheduled for removal on or after 2024-01-01.

    note (String)

    Optional short note about account charge for internal use.

    reason (String!)

    The reason why the charge is added to the account. This should be a valid charge reason code.

    salesTaxAmount (Int)

    The sales tax amount of the charge to be added.

    Deprecated

    The 'salesTaxAmount' field is deprecated.

    The sales tax amount will be calculated automatically by the gross amount.

    - Marked as deprecated on 2022-10-18.
    - Scheduled for removal on or after 2024-01-01.

    Example

    {
      "accountNumber": "abc123",
      "netAmount": 1,
      "grossAmount": 1,
      "salesTaxAmount": 1,
      "cclAmount": 1,
      "metadata": {"key": "value"},
      "note": "abc123",
      "displayNote": "abc123",
      "reason": "abc123"
    }

    CreateAccountCreditInput

    The input type for the account credit.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    grossAmount (Int!)

    The gross amount of the credit to be created.

    metadata (JSONString)

    Any extra data that will be associated with account credit.

    netAmount (Int!)

    The net amount of the credit to be created.

    note (String)

    Optional short note about account credit.

    reason (AccountCreditReasonType!)

    The reason why the credit is added to the account.

    salesTaxAmount (Int!)

    The sales tax amount of the credit to be created.

    Example

    {
      "accountNumber": "abc123",
      "netAmount": 1,
      "grossAmount": 1,
      "salesTaxAmount": 1,
      "metadata": {"key": "value"},
      "note": "abc123",
      "reason": "EXTERNAL_REFERRAL_CREDIT"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    category (Category!)

    clientMutationId (String)

    filename (String!)

    Example

    {
      "filename": "abc123",
      "accountNumber": "abc123",
      "category": "FILE_ATTACHMENT_MCS_CERT",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    isPinned (Boolean!)

    Pin the note to account.

    note (String!)

    The note to add.

    Example

    {
      "accountNumber": "abc123",
      "note": "abc123",
      "isPinned": true
    }

    CreateAccountPaymentScheduleInput

    Input type for updating the payment schedule on a ledger. Requires an account_number, ledger_id and one of payment_day or payment_amount to be provided.

    Input fields

    NameDescription

    accountNumber (String!)

    Number of the account for which to update the schedule.

    ledgerNumber (String!)

    Number of the ledger associated with the current payment schedule.

    paymentAmount (Int)

    The new fixed payment amount.

    paymentDay (Int)

    The new day of the month at which to take payment; ranges from 1 to 28.

    Example

    {
      "accountNumber": "abc123",
      "ledgerNumber": "abc123",
      "paymentDay": 1,
      "paymentAmount": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    content (String!)

    Reminder content.

    dueAt (DateTime!)

    When the reminder is due.

    reminderType (AccountReminderTypes!)

    The reminder type.

    Example

    {
      "accountNumber": "abc123",
      "reminderType": "AD_HOC",
      "content": "abc123",
      "dueAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    electricityMeterPoints ([ElectricityMeterPointConsumptionInput])

    The electricity meter points to create a quote request for.

    gasMeterPoints ([GasMeterPointConsumptionInput])

    The gas meter points to create a quote request for.

    paymentMethod (PaymentMethodChoices)

    Optional parameter for the payment method to quote for. Defaults to Direct Debit.

    postcode (String!)

    The postcode of the meter points being quoted.

    productCodes ([String]!)

    The product codes of products to quote for.

    Example

    {
      "electricityMeterPoints": ElectricityMeterPointConsumptionInput,
      "gasMeterPoints": GasMeterPointConsumptionInput,
      "postcode": "abc123",
      "productCodes": "abc123",
      "paymentMethod": "DIRECT_DEBIT"
    }

    Input fields

    NameDescription

    contactEmail (String!)

    contactName (String!)

    organisationId (ID!)

    The organisation for whom to create the affiliate link for.

    subdomain (String!)

    Will be validated as follows:

    • should be at least two characters
    • should only contain (letters, numbers, and Hyphen)
    • should not contain bad words
    • should not contain any of the reserved words including: affiliates, api, business, click, consul, developer, friends, kraken, mail, sendgrid, tech, webhooks, www, www2

    Example

    {
      "organisationId": "abc123",
      "subdomain": "abc123",
      "contactName": "abc123",
      "contactEmail": "abc123"
    }

    Input fields

    NameDescription

    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.

    isFieldSalesOnlyProduct (Boolean)

    Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels.

    name (String!)

    salesChannel (SalesChannelChoices!)

    Sales Channel.

    skipMeterPointAddressValidation (Boolean)

    Allow this partner to skip validation that ensures all meter points belong to the same address.

    Example

    {
      "name": "abc123",
      "contactEmail": "abc123",
      "salesChannel": "DIRECT",
      "defaultAccountType": "BUSINESS",
      "canRegisterBusinessMeterPoints": true,
      "canRegisterPortfolioAccounts": true,
      "canRegisterCustomersWithoutEmailAddress": true,
      "skipMeterPointAddressValidation": true,
      "allowAlternativePaymentMethods": true,
      "canRenewTariffs": true,
      "canUseIvrSupportApi": true,
      "isFieldSalesOnlyProduct": true
    }

    Input fields

    NameDescription

    ipAddress (String)

    The IP Address of the user.

    linkId (ID!)

    The affiliate link for whom to create the session for.

    queryParams (JSONString)

    Additional query parameters to attach to this session.

    quoteShareId (ID)

    The quote share that led to this session.

    userAgent (String)

    The HTTP user agent.

    Example

    {
      "linkId": "abc123",
      "ipAddress": "abc123",
      "userAgent": "abc123",
      "queryParams": {"key": "value"},
      "quoteShareId": "abc123"
    }

    CreateAutoTopupConfigInput

    The input type for creating an auto top-up config.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number, e.g.: 'A-A1B2C3D4'.

    deviceId (String!)

    Alphanumber code identifying the device, e.g.: 'A1-BC-D2-00-01-23-EF-4G'.

    topupAmount (Int!)

    The amount to top-up. The amount should always be provided in the minor unit of currency, i.e. USA cents / GBP pence / etc. Minimum allowed amount is 1.

    Example

    {
      "accountNumber": "abc123",
      "deviceId": "abc123",
      "topupAmount": 1
    }

    Input fields

    NameDescription

    campaignId (String!)

    The campaign ID.

    campaignItems ([CampaignItemInput]!)

    The items to add.

    Example

    {
      "campaignId": "abc123",
      "campaignItems": CampaignItemInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    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 currency supports. e.g. Pence, Cents, Yen, etc.

    interval (Interval!)

    The frequency of contributions.

    schemeCode (String!)

    The code of the scheme to contribute to.

    Example

    {
      "accountNumber": "abc123",
      "schemeCode": "abc123",
      "interval": "MONTHLY",
      "amount": 1,
      "activeFrom": "2020-01-01T00:00:00.000Z",
      "activeTo": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    sourceLedgerNumber (String!)

    Source ledger number.

    targetLedgerNumber (String!)

    Target ledger number.

    Example

    {
      "sourceLedgerNumber": "abc123",
      "targetLedgerNumber": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    directDebitInstruction (DirectDebitInstructionLocalBankDetailsInput!)

    Example

    {
      "accountNumber": "abc123",
      "directDebitInstruction": DirectDebitInstructionLocalBankDetailsInput
    }

    CreateElectricJuiceAgreementInput

    The input type for creating an Electric Juice agreement.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    validFrom (DateTime)

    The time from which the new agreement is valid (default: now).

    Example

    {
      "accountNumber": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z"
    }

    CreateElectricJuiceChargeCardInput

    The input type for creating a new Electric Juice charge card.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number of the account this charge card should be associated with.

    chargeCardUid (String!)

    The UID on the charge card.

    nameOnCard (String!)

    The name printed on the charge card.

    Example

    {
      "chargeCardUid": "abc123",
      "nameOnCard": "abc123",
      "accountNumber": "abc123"
    }

    CreateElectricJuiceChargeInput

    The input type for adding a charge for Electric Juice.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    additionalFees (Int!)

    The price of additional (non-consumption) fees on this charge.

    chargeCardUid (String)

    The UID of the Electric Juice charge card to associate with this charge.

    chargeProvider (String!)

    The provider that originated this charge.

    currency (CurrencyOptions)

    The currency of the charge.

    Deprecated

    The 'currency' field is deprecated.


    This field is no longer used. "
    All currency amounts must be in smallest units.


    - Marked as deprecated on 2022-02-15.
    - Scheduled for removal on or after 2024-01-01.

    kwhUsed (Decimal!)

    The amount of energy consumed in kWh.

    netAmount (Int!)

    The amount to be charged (excl. tax).

    periodEndAt (DateTime!)

    The end time of the charge period.

    periodStartAt (DateTime!)

    The start time of the charge period.

    postcode (String!)

    The location of the charging point this charge is associated with.

    pricePerKwh (Decimal!)

    The price per kWh.

    Example

    {
      "accountNumber": "abc123",
      "chargeCardUid": "abc123",
      "periodStartAt": "2020-01-01T00:00:00.000Z",
      "periodEndAt": "2020-01-01T00:00:00.000Z",
      "netAmount": 1,
      "currency": "GBP",
      "chargeProvider": "abc123",
      "postcode": "abc123",
      "kwhUsed": 1.0,
      "pricePerKwh": 1.0,
      "additionalFees": 1
    }

    CreateElectricJuiceCreditInput

    The input type for an Electric Juice ledger credit.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    grossAmount (Int!)

    The gross amount of the credit to be created.

    netAmount (Int!)

    The net amount of the credit to be created.

    note (String)

    Optional short note about account credit.

    reason (AccountCreditReasonType!)

    The reason why the credit is added to the account.

    taxAmount (Int!)

    The tax amount of the credit to be created.

    Example

    {
      "accountNumber": "abc123",
      "netAmount": 1,
      "grossAmount": 1,
      "taxAmount": 1,
      "note": "abc123",
      "reason": "EXTERNAL_REFERRAL_CREDIT"
    }

    CreateEvPublicChargingAgreementInput

    The input type for creating an EV Public Charging agreement.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    externalAccountId (String!)

    Identifier of an account in the external system.

    validFrom (DateTime!)

    The start time of the agreement.

    Example

    {
      "accountNumber": "abc123",
      "externalAccountId": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The number of the account that the event should be created for.

    category (ExternalAccountEventCategory!)

    The category of the event.

    content ([ExternalAccountEventContent]!)

    An array of content data associated with the event.

    description (String)

    A human-readable description of the event.

    occurredAt (DateTime)

    The time the event occurred.

    subcategory (ExternalAccountEventSubCategory)

    The subcategory of the event.

    Example

    {
      "accountNumber": "abc123",
      "category": "COMMUNICATIONS",
      "subcategory": "TELEPHONE",
      "description": "abc123",
      "occurredAt": "2020-01-01T00:00:00.000Z",
      "content": ExternalAccountEventContent
    }

    Input fields

    NameDescription

    category (ExternalAccountEventCategory!)

    The category of the event.

    content ([ExternalAccountEventContent]!)

    An array of content data associated with the event.

    description (String)

    A human-readable description of the event.

    occurredAt (DateTime)

    The time the event occurred.

    subcategory (ExternalAccountEventSubCategory)

    The subcategory of the event.

    userId (String!)

    The user that the event should be created for.

    Example

    {
      "userId": "abc123",
      "category": "COMMUNICATIONS",
      "subcategory": "TELEPHONE",
      "description": "abc123",
      "occurredAt": "2020-01-01T00:00:00.000Z",
      "content": ExternalAccountEventContent
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    clientParams (JSONString)

    A JSON object containing client parameters to store on the quote.

    marketParams (JSONString)

    A JSON object containing market parameters to store on the quote.

    productsToQuote ([ProductToQuoteInput]!)

    Products to get a quote for.

    Example

    {
      "accountNumber": "abc123",
      "productsToQuote": ProductToQuoteInput,
      "clientParams": {"key": "value"},
      "marketParams": {"key": "value"}
    }

    Input fields

    NameDescription

    clientParams (JSONString)

    A JSON object containing client parameters to store on the quote.

    customerProfile (CustomerProfileInput!)

    Customer profile.

    marketParams (JSONString)

    A JSON object containing market parameters to store on the quote.

    productsToQuote ([ProductToQuoteInput]!)

    Products to get a quote for.

    Example

    {
      "customerProfile": CustomerProfileInput,
      "productsToQuote": ProductToQuoteInput,
      "clientParams": {"key": "value"},
      "marketParams": {"key": "value"}
    }

    Input fields

    NameDescription

    accountNumber (String)

    Account to associate quote to.

    addressDetails (AddressDetailsInput!)

    Details of the address.

    contactDetails (ContactDetailsInput!)

    Details to pass to hubspot.

    productId (Int!)

    ID of the product to quote.

    propertyDetails (PropertyDetailsInput!)

    Details of the property, used for eligiblity checks.

    Example

    {
      "accountNumber": "abc123",
      "productId": 1,
      "addressDetails": AddressDetailsInput,
      "contactDetails": ContactDetailsInput,
      "propertyDetails": PropertyDetailsInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account related to the message, if there is one.

    If provided, we will directly route the message to the account's conversation.

    clientMutationId (String)

    messageHeaders (JSONString)

    An optional parameter where we can pass the generic message headers if it has one

    Email channel tries to get the value conversation-relay-id from this parameter

    messageId (String!)

    An arbitrary, unique ID for this message.

    This must be unique for each message that is supplied using the same organisation; collisions between messages provided by different organisations are tolerated.

    Stored as vendor_id.

    newMessage (InkMessageInput!)

    occurredAt (DateTime)

    When the message occurred in the system of origin.

    Example

    {
      "messageId": "abc123",
      "newMessage": InkMessageInput,
      "messageHeaders": {"key": "value"},
      "occurredAt": "2020-01-01T00:00:00.000Z",
      "accountNumber": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    channel (InkCommunicationChannel!)

    clientMutationId (String)

    messageHeaders (JSONString)

    An optional parameter where we can pass the generic message headers if it has one

    Email channel tries to get the value conversation-relay-id from this parameter

    messageId (String!)

    An arbitrary, unique ID for this message.

    This must be unique for each message that is supplied using the same organisation; collisions between messages provided by different organisations are tolerated.

    Stored as vendor_id.

    newMessage (InkMessageInput!)

    occurredAt (DateTime)

    When the message occurred in the system of origin.

    vendor (String)

    An optional vendor value to denote which system it originated from.

    If no vendor is passed, we will get the default generic vendor from the setting called INKDEFAULTGENERICMESSAGEAPI_VENDOR.

    Example

    {
      "channel": "EMAIL",
      "messageId": "abc123",
      "newMessage": InkMessageInput,
      "vendor": "abc123",
      "messageHeaders": {"key": "value"},
      "occurredAt": "2020-01-01T00:00:00.000Z",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    accountUserId (String)

    The id of the account user.

    number (String)

    The number of the loyalty card.

    scheme (String)

    The scheme of the loyalty card.

    Example

    {
      "accountUserId": "abc123",
      "scheme": "abc123",
      "number": "abc123"
    }

    Input fields

    NameDescription

    brandCode (String)

    The brand to associate with this portfolio, if not provided the default brand will be used.

    collectiveBilling (Boolean)

    Whether collective bills should be issued for the portfolio's accounts. The default value is False.

    operationsTeamId (ID)

    The ID of the operations team to associate with this portfolio.If no team is provided, no team will be assigned to the portfolio.

    Example

    {
      "brandCode": "abc123",
      "operationsTeamId": "abc123",
      "collectiveBilling": true
    }

    Input fields

    NameDescription

    accountUserId (ID!)

    The user to associate with the portfolio.

    portfolioId (ID!)

    The portfolio to associate the user with.

    role (RoleString)

    The role to assign to the user. If not provided the default role will be used.

    Example

    {
      "portfolioId": "abc123",
      "accountUserId": "abc123",
      "role": RoleString
    }

    Input fields

    NameDescription

    productRates ([ProductRateInputType]!)

    The product rate(s) to be created.

    Example

    {
      "productRates": ProductRateInputType
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    clientParams (JSONString)

    A JSON object containing client parameters to store on the purchase.

    marketParams (JSONString)

    A JSON object containing client parameters to store on the purchase.

    saleItems ([ProductToPurchaseInput]!)

    Products being purchased.

    Example

    {
      "accountNumber": "abc123",
      "saleItems": ProductToPurchaseInput,
      "clientParams": {"key": "value"},
      "marketParams": {"key": "value"}
    }

    Input fields

    NameDescription

    address (QuoteAddressInput)

    Optional address information about the customer.

    affiliateOrganisationId (String)

    The affiliate organisation ID. Used with restricttoaffiliate_products.

    affiliateSessionId (String)

    brandCode (String!)

    electricityMeterPoints ([ElectricityMeterPointConsumptionInput])

    gasMeterPoints ([GasMeterPointConsumptionInput])

    gspGroupId (String)

    hasConsentedToIndustryDataSearch (Boolean)

    Whether the user has consented to their energy consumption estimates being retrieved from the industry vendors. This currently applies to business accounts only.

    isBusiness (Boolean)

    paymentMethod (QuotePaymentMethodChoices)

    Optional parameter to select the payment method for the quote, default is direct debit.

    position (PositionInput)

    Used to verify the position that field sales agents generate quotes from.

    postcode (String!)

    restrictToAffiliateProducts (Boolean)

    Whether to restrict the products (tariffs) to quote from to only show affiliate products. Requires affiliateorganisationid.

    Example

    {
      "postcode": "abc123",
      "electricityMeterPoints": ElectricityMeterPointConsumptionInput,
      "gasMeterPoints": GasMeterPointConsumptionInput,
      "position": PositionInput,
      "gspGroupId": "abc123",
      "affiliateSessionId": "abc123",
      "affiliateOrganisationId": "abc123",
      "restrictToAffiliateProducts": true,
      "brandCode": "abc123",
      "address": QuoteAddressInput,
      "isBusiness": true,
      "hasConsentedToIndustryDataSearch": true,
      "paymentMethod": "DIRECTDEBIT"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    paymentMethod (PaymentMethodChoices)

    Optional parameter to override the payment method on the current agreement.

    persistFlatRate (Boolean)

    If the customer is currently on a flat rate tariff, create a flat rate quote.

    productCodes ([String]!)

    The product codes of products to quote for.

    propertyId (Int!)

    The property id to create a quote request for.

    renewalAt (DateTime!)

    The date at which the agreements would be renewed.

    Example

    {
      "accountNumber": "abc123",
      "propertyId": 1,
      "productCodes": "abc123",
      "renewalAt": "2020-01-01T00:00:00.000Z",
      "persistFlatRate": true,
      "paymentMethod": "DIRECT_DEBIT"
    }

    CreateReferralInput

    Required information for creating a referral

    Input fields

    NameDescription

    accountNumber (String!)

    The account number for the referred account.

    reference (String!)

    An email address, link or code, referencing the referring account.

    Example

    {
      "accountNumber": "abc123",
      "reference": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    content (String!)

    Reminder content.

    dueAt (DateTime!)

    When the reminder is due.

    reminderTypeName (String!)

    The reminder type name.

    Example

    {
      "accountNumber": "abc123",
      "reminderTypeName": "abc123",
      "content": "abc123",
      "dueAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    propertyId (Int!)

    The property id to create a quote request for.

    renewalAt (DateTime!)

    The date at which the agreements would be renewed.

    Example

    {
      "accountNumber": "abc123",
      "propertyId": 1,
      "renewalAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    billingAddressLine1 (String)

    billingAddressLine2 (String)

    billingAddressLine3 (String)

    billingAddressLine4 (String)

    billingAddressLine5 (String)

    billingName (String)

    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)

    billingRichAddress (String)

    brand (String)

    businessType (String)

    clientMutationId (String)

    companyName (String)

    companyNumber (String)

    dateOfBirth (Date)

    email (String!)

    familyName (String!)

    givenName (String!)

    isBusinessAccount (Boolean)

    landline (String)

    mobile (String)

    password (String)

    passwordUpdateToken (String)

    portfolioNumber (String)

    urn (String)

    Example

    {
      "portfolioNumber": "abc123",
      "givenName": "abc123",
      "familyName": "abc123",
      "billingName": "abc123",
      "email": "abc123",
      "mobile": "abc123",
      "landline": "abc123",
      "brand": "abc123",
      "dateOfBirth": "2020-01-01",
      "billingAddressLine1": "abc123",
      "billingAddressLine2": "abc123",
      "billingAddressLine3": "abc123",
      "billingAddressLine4": "abc123",
      "billingAddressLine5": "abc123",
      "billingPostcode": "abc123",
      "billingRichAddress": "abc123",
      "billingPeriodLength": "abc123",
      "billingPeriodMultiplier": 1,
      "billingPeriodDay": 1,
      "billingPeriodMonth": 1,
      "isBusinessAccount": true,
      "companyName": "abc123",
      "companyNumber": "abc123",
      "businessType": "abc123",
      "password": "abc123",
      "passwordUpdateToken": "abc123",
      "urn": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    riskBracket (String!)

    score (Int!)

    Example

    {
      "riskBracket": "abc123",
      "score": 1
    }

    CustomerDetailsInput

    Details about the customer.

    Input fields

    NameDescription

    dateOfBirth (Date)

    The customer's date of birth.

    email (String)

    Account email.

    familyName (String!)

    Family name.

    givenName (String!)

    Given name.

    landline (String)

    Account landline number.

    mobile (String)

    Account mobile phone number.

    preferences (UpdateAccountUserCommsPreferencesInput)

    The customer's communication preferences.

    pronouns (String)

    The customer's pronouns.

    title (String)

    The customer's title.

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "title": "abc123",
      "pronouns": "abc123",
      "email": "abc123",
      "mobile": "abc123",
      "landline": "abc123",
      "dateOfBirth": "2020-01-01",
      "preferences": UpdateAccountUserCommsPreferencesInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    answer (String)

    feedbackId (Int!)

    formId (Int!)

    issueResolved (Boolean!)

    Example

    {
      "answer": "abc123",
      "issueResolved": true,
      "formId": 1,
      "feedbackId": 1,
      "accountNumber": "abc123"
    }

    Input fields

    NameDescription

    addressLine1 (String!)

    Line 1 of customer's address.

    addressLine2 (String)

    Line 2 of customer's address.

    addressLine3 (String)

    Line 3 of customer's address.

    addressLine4 (String)

    Line 4 of customer's address.

    addressLine5 (String)

    Line 5 of customer's address.

    email (String!)

    Customer's email.

    familyName (String!)

    Customer's family name.

    givenName (String!)

    Customer's given name.

    phoneNumber (String!)

    Customer's phone number.

    postcode (String!)

    Customer's postcode.

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "email": "abc123",
      "phoneNumber": "abc123",
      "postcode": "abc123",
      "addressLine1": "abc123",
      "addressLine2": "abc123",
      "addressLine3": "abc123",
      "addressLine4": "abc123",
      "addressLine5": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    deviceType (KrakenFlexDeviceTypes)

    The most recently registered device of this type will be de-authenticated.

    Example

    {
      "accountNumber": "abc123",
      "deviceType": "BATTERIES"
    }

    Input fields

    NameDescription

    deviceId (String!)

    Device ID for the device being decommissioned.

    Example

    {
      "deviceId": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number associated with the removed AccountReference.

    namespace (String!)

    The namespace associated with the removed AccountReference.

    Example

    {
      "accountNumber": "abc123",
      "namespace": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    Example

    {
      "accountNumber": "abc123"
    }

    Input fields

    NameDescription

    token (String!)

    Device push notification token.

    Example

    {
      "token": "abc123"
    }

    Input fields

    NameDescription

    namespace (String!)

    Namespace of the detail.

    value (String)

    Value of the detail.

    Example

    {
      "namespace": "abc123",
      "value": "abc123"
    }

    Input fields

    NameDescription

    auxDeviceVariantId (ID)

    Auxiliary device variant id.

    deviceVariantId (ID)

    Unique device variant id.

    Example

    {
      "deviceVariantId": "abc123",
      "auxDeviceVariantId": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    authentication (AuthenticationInput)

    The authentication details required given the chosen provider.

    deviceDetails (DeviceDetailsInput)

    The device type specific details required for registering a device.

    deviceType (KrakenFlexDeviceTypes!)

    The device type to be registered - batteries, electric vehicles, heat pumps or thermostats.

    propertyId (Int!)

    The ID of the property the device belongs to.

    provider (ProviderChoices!)

    The provider used to authenticate the device.

    Example

    {
      "accountNumber": "abc123",
      "propertyId": 1,
      "deviceType": "BATTERIES",
      "provider": "DAIKIN",
      "deviceDetails": DeviceDetailsInput,
      "authentication": AuthenticationInput
    }

    Input fields

    NameDescription

    accountHolder (String!)

    accountNumber (String!)

    sortCode (String!)

    Example

    {
      "accountNumber": "abc123",
      "accountHolder": "abc123",
      "sortCode": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    paymentDay (Int!)

    Example

    {
      "accountNumber": "abc123",
      "paymentDay": 1
    }

    DisableAutoTopupInput

    The input type for disabling auto top-up.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number, e.g.: 'A-A1B2C3D4'.

    deviceId (String!)

    Alphanumber code identifying the device, e.g.: 'A1-BC-D2-00-01-23-EF-4G'.

    Example

    {
      "accountNumber": "abc123",
      "deviceId": "abc123"
    }

    Input fields

    NameDescription

    amount (Int!)

    The amount (excl. tax) in smallest units of currency.

    band (ProductRateBands!)

    The rate band of this line item.

    metadata (JSONString)

    JSON containing any additional metadata.

    periodEndAt (DateTime!)

    The end of the public charging session.

    periodStartAt (DateTime!)

    The start of the public charging session.

    Example

    {
      "amount": 1,
      "periodStartAt": "2020-01-01T00:00:00.000Z",
      "periodEndAt": "2020-01-01T00:00:00.000Z",
      "band": "CONSUMPTION",
      "metadata": {"key": "value"}
    }

    Input fields

    NameDescription

    amount (Int!)

    The amount in smallest units of currency.

    amountTaxed (Int!)

    The amount (excl. tax) that this tax was calculated from, in smallest units of currency.

    metadata (JSONString)

    JSON containing any additional metadata.

    rate (Decimal!)

    The rate at which tax was applied.

    taxType (String!)

    The type of tax (e.g. 'VAT').

    unitType (TaxUnitType!)

    The unit of the tax rate.

    Example

    {
      "amount": 1,
      "amountTaxed": 1,
      "rate": 1.0,
      "unitType": "PROPORTION",
      "taxType": "abc123",
      "metadata": {"key": "value"}
    }

    Input fields

    NameDescription

    day (Decimal)

    Daily bespoke rate for electricity.

    night (Decimal)

    Nightly bespoke rate for electricity.

    offPeak (Decimal)

    Off peak rate for electricity.

    standard (Decimal)

    Standard bespoke rate for electricity.

    standingCharge (Decimal!)

    Standing charge for electricity.

    Example

    {
      "standard": 1.0,
      "day": 1.0,
      "night": 1.0,
      "offPeak": 1.0,
      "standingCharge": 1.0
    }

    Input fields

    NameDescription

    day (Int)

    Daily electricity consumption.

    isEstimate (Boolean)

    If the consumption values are estimated, set this to 'True'.

    night (Int)

    Nightly electricity consumption.

    offPeak (Int)

    Off peak hours electricity consumption.

    standard (Int)

    Amount of electricity consumed.

    Example

    {
      "standard": 1,
      "day": 1,
      "night": 1,
      "offPeak": 1,
      "isEstimate": true
    }

    ElectricityFiltersInput

    Filter measurements by electricity parameters.

    Input fields

    NameDescription

    deviceId (String)

    marketSupplyPointId (String)

    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)

    Example

    {
      "readingFrequencyType": "RAW_INTERVAL",
      "marketSupplyPointId": "abc123",
      "deviceId": "abc123",
      "readingDirection": "CONSUMPTION",
      "registerId": "abc123",
      "readingQuality": "ACTUAL"
    }

    Input fields

    NameDescription

    annualConsumptionDay (Int)

    annualConsumptionNight (Int)

    annualConsumptionStandard (Int)

    isEstimate (Boolean!)

    mpan (String)

    profileClass (Int)

    Example

    {
      "profileClass": 1,
      "mpan": "abc123",
      "isEstimate": true,
      "annualConsumptionStandard": 1,
      "annualConsumptionDay": 1,
      "annualConsumptionNight": 1
    }

    Input fields

    NameDescription

    consumption (ElectricityConsumptionInput)

    Annual consumption values for this meter point. Must be provided if no MPAN is provided.

    flatRate (Boolean)

    Should the meter point be quoted on a flat rate.

    gspId (String)

    The grid supply point ID of this meter point.

    meterType (MeterType)

    The meter type on this meter point. Must be provided if no MPAN is provided.

    mpan (String)

    Must be provided if no custom consumption input is provided.

    Example

    {
      "mpan": "abc123",
      "consumption": ElectricityConsumptionInput,
      "meterType": "STANDARD",
      "gspId": "abc123",
      "flatRate": true
    }

    Input fields

    NameDescription

    consumption (ElectricityConsumptionInput)

    Annual consumption values for this meter point. Must be provided if no MPAN is provided.

    flatRate (Boolean)

    Should the meter point be quoted on a flat rate.

    gspId (String)

    The grid supply point ID of this meter point.

    meterType (MeterType)

    The meter type on this meter point. Must be provided if no MPAN is provided.

    mpan (String)

    Must be provided if no custom consumption input is provided.

    productsInput ([ElectricityProductInput!]!)

    A list of products and optional product parameters to quote for.

    Example

    {
      "mpan": "abc123",
      "consumption": ElectricityConsumptionInput,
      "meterType": "STANDARD",
      "gspId": "abc123",
      "flatRate": true,
      "productsInput": ElectricityProductInput
    }

    Input fields

    NameDescription

    bespokeRates (ElectricityBespokeRates)

    Bespoke rates to override default electricity unit rates.

    code (String)

    Code specifying the product to quote for.

    paymentMethod (PaymentMethodChoices)

    Optional payment method to quote for.

    Example

    {
      "code": "abc123",
      "paymentMethod": "DIRECT_DEBIT",
      "bespokeRates": ElectricityBespokeRates
    }

    Input fields

    NameDescription

    contributionAgreementId (ID!)

    The ID of the Contribution Agreement to end.

    endAt (DateTime)

    The future end datetime of the agreement. If not given, terminate now.

    Example

    {
      "contributionAgreementId": "abc123",
      "endAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The Kraken account number.

    bankDetails (BankDetailsInput)

    Bank details for setting up a payment instruction as part of the enrollment.

    instructionDetails (InstructionDetailsInput)

    Details of an externally created payment instruction to be recorded in Kraken.

    paymentSchedule (PaymentScheduleDetailsInput)

    Details of the payment schedule(s) to be created as part of enrollment.

    salesInfo (SalesInformationInput)

    Sales info for this enrollment.

    Example

    {
      "accountNumber": "abc123",
      "bankDetails": BankDetailsInput,
      "instructionDetails": InstructionDetailsInput,
      "paymentSchedule": PaymentScheduleDetailsInput,
      "salesInfo": SalesInformationInput
    }

    ExpireEvPublicChargingTokenInput

    The input type for expiring an EV Public Charging token.

    Input fields

    NameDescription

    externalAccountId (String!)

    Identifier of an account in the external system.

    tokenValue (String!)

    Token identifier.

    validTo (DateTime!)

    The end time of token's validity.

    Example

    {
      "externalAccountId": "abc123",
      "tokenValue": "abc123",
      "validTo": "2020-01-01T00:00:00.000Z"
    }

    ExternalAccountEventContent

    A piece of content associated with an external account event.

    Input fields

    NameDescription

    contentType (ExternalAccountEventContentType!)

    The content type of the content.

    description (String!)

    A human-readable description of the content.

    value (String!)

    The value of the content.

    Example

    {
      "description": "abc123",
      "contentType": "PLAINTEXT",
      "value": "abc123"
    }

    FanClubDiscountNotificationInput

    The input type for sending Fan Club push notifications for discounts.

    Input fields

    NameDescription

    catchments ([String]!)

    The list of valid catchment areas.

    endAt (DateTime!)

    The end time of the likely Fan Club discount.

    startAt (DateTime!)

    The start time of the likely Fan Club discount.

    Example

    {
      "catchments": "abc123",
      "startAt": "2020-01-01T00:00:00.000Z",
      "endAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    eligibility (String!)

    The eligibility status of the customer.

    email (String!)

    Email address for the customer.

    Example

    {
      "email": "abc123",
      "eligibility": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number associated with this schedule.

    scheduleId (UUID!)

    The ID of the schedule to accept.

    Example

    {
      "scheduleId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
      "accountNumber": "abc123"
    }

    Input fields

    NameDescription

    fitId (String!)

    meters ([FitMeterInput]!)

    Example

    {
      "fitId": "abc123",
      "meters": FitMeterInput
    }

    Input fields

    NameDescription

    id (Int!)

    reading (FitReadingInput!)

    Example

    {
      "id": 1,
      "reading": FitReadingInput
    }

    Input fields

    NameDescription

    installations ([FitInstallationInput]!)

    Example

    {
      "installations": FitInstallationInput
    }

    Input fields

    NameDescription

    isBiennial (Boolean)

    readAt (DateTime!)

    value (Decimal!)

    Example

    {
      "value": 1.0,
      "readAt": "2020-01-01T00:00:00.000Z",
      "isBiennial": true
    }

    Input fields

    NameDescription

    flowTemperature (TemperatureInput)

    Flow temperature if weather compensation is off.

    useWeatherCompensation (Boolean!)

    Whether weather compensation should be enabled or not.

    weatherCompensationValues (TemperatureRangeInput)

    The min and max temperatures for when weather compensation is enabled.

    Example

    {
      "useWeatherCompensation": true,
      "weatherCompensationValues": TemperatureRangeInput,
      "flowTemperature": TemperatureInput
    }

    ForceReauthenticationInput

    The input type for repudiating previously issued Kraken Tokens and refresh tokens.

    Input fields

    NameDescription

    includeThirdParties (Boolean!)

    Also force third-party applications you have authorized to use your account to reauthenticate.

    Example

    {
      "includeThirdParties": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    content (JSONString!)

    Form content.

    formType (FormType)

    Form type.

    Example

    {
      "accountNumber": "abc123",
      "formType": "COVID_19_FINANCIAL_ENERGY_ASSESSMENT",
      "content": {"key": "value"}
    }

    Input fields

    NameDescription

    standingCharge (Decimal!)

    Standing charge for gas.

    value (Decimal!)

    Standard bespoke rate for gas.

    Example

    {
      "value": 1.0,
      "standingCharge": 1.0
    }

    Input fields

    NameDescription

    isEstimate (Boolean)

    If the consumption values are estimated, set this to 'True'.

    value (Int!)

    Amount of gas consumed.

    Example

    {
      "value": 1,
      "isEstimate": true
    }

    GasFiltersInput

    Filter measurements by gas parameters.

    Input fields

    NameDescription

    deviceId (String)

    marketSupplyPointId (String)

    readingFrequencyType (ReadingFrequencyType)

    The frequency of the reading.

    registerId (String)

    Example

    {
      "readingFrequencyType": "RAW_INTERVAL",
      "marketSupplyPointId": "abc123",
      "deviceId": "abc123",
      "registerId": "abc123"
    }

    Input fields

    NameDescription

    annualConsumption (Int)

    isEstimate (Boolean!)

    mprn (String)

    Example

    {
      "mprn": "abc123",
      "isEstimate": true,
      "annualConsumption": 1
    }

    Input fields

    NameDescription

    consumption (GasConsumptionInput)

    Annual consumption values for this meter point.

    gspId (String)

    The grid supply point ID of this meter point.

    mprn (String)

    Must be provided if no custom consumption input is provided.

    Example

    {
      "mprn": "abc123",
      "consumption": GasConsumptionInput,
      "gspId": "abc123"
    }

    Input fields

    NameDescription

    consumption (GasConsumptionInput)

    Annual consumption values for this meter point.

    gspId (String)

    The grid supply point ID of this meter point.

    mprn (String)

    Must be provided if no custom consumption input is provided.

    productsInput ([GasProductInput!]!)

    A list of products and optional product parameters to quote for.

    Example

    {
      "mprn": "abc123",
      "consumption": GasConsumptionInput,
      "gspId": "abc123",
      "productsInput": GasProductInput
    }

    Input fields

    NameDescription

    bespokeRates (GasBespokeRates)

    Bespoke rates to override default gas unit rates.

    code (String)

    Code specifying the product to quote for.

    paymentMethod (PaymentMethodChoices)

    Optional payment method to quote for.

    Example

    {
      "code": "abc123",
      "paymentMethod": "DIRECT_DEBIT",
      "bespokeRates": GasBespokeRates
    }

    Input fields

    NameDescription

    channel (InkCommunicationChannel!)

    The channel of the contact.

    filename (String!)

    The name of the file.

    Example

    {
      "channel": "EMAIL",
      "filename": "abc123"
    }

    GetEmbeddedSecretForNewPaymentInstructionInput

    The input for getting the client secret for an embedded new card payment method form.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    instructionType (PaymentType!)

    The type of the new payment instruction.

    ledgerId (String)

    WARNING: Will be mandatory in future versions

    The ledger ID.

    Example

    {
      "accountNumber": "abc123",
      "instructionType": "BPAY",
      "ledgerId": "abc123"
    }

    GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput

    The input for getting the client secret for an embedded new stored payment method form.

    Input fields

    NameDescription

    instructionType (PaymentType!)

    The type of the new payment instruction.

    Example

    {
      "instructionType": "BPAY"
    }

    GetHostedUrlForNewPaymentInstructionInput

    The input needed for getting the external URL for setting up a payment instruction.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    instructionType (PaymentType!)

    The type of the new payment instruction.

    ledgerNumber (String!)

    The ledger number.

    returnUrlCancel (String)

    The URL to redirect the user to after the action was cancelled.

    returnUrlError (String)

    The URL to redirect the user to after the action resulted in an error.

    returnUrlFailure (String)

    The URL to redirect the user to after the action resulted in a failure.

    returnUrlSuccess (String)

    The URL to redirect the user to after the action was completed successfuly.

    Example

    {
      "accountNumber": "abc123",
      "ledgerNumber": "abc123",
      "instructionType": "BPAY",
      "returnUrlSuccess": "abc123",
      "returnUrlFailure": "abc123",
      "returnUrlError": "abc123",
      "returnUrlCancel": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number of the conversation to hand off.

    clientMutationId (String)

    Example

    {
      "accountNumber": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    state (Boolean!)

    The state that the hot water device should be set to. A value of true indicates that the device should be turned on, and a value of false indicates it should be switched off.

    Example

    {
      "accountNumber": "abc123",
      "state": true
    }

    InitiateHostedStandalonePaymentInput

    Input fields for initiating a hosted standalone payment.

    The amount should always be provided in the minor unit of currency (e.g., pence not pounds, cents not dollars, etc.).

    A standalone payment can be made against a specific ledger (e.g., a debt ledger) by providing the ledger number (or ledger id, please see deprecated fields).

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    amount (Int!)

    The amount to be collected in the minor unit of currency.

    collectionMethod (CollectionMethod!)

    The method by which the payment is being collected.

    description (String!)

    A description of the purpose of the payment.

    ledgerId (ID)

    The id of the specific ledger against which this payment should be applied.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    The number of the specific ledger against which this payment should be applied.

    returnUrlCancel (String)

    The URL to redirect the user to after the action was cancelled.

    returnUrlError (String)

    The URL to redirect the user to after the action resulted in an error.

    returnUrlExpired (String)

    The URL to redirect the user to if the url is not longer valid.

    returnUrlFailure (String)

    The URL to redirect the user to after the action resulted in a failure.

    returnUrlPending (String)

    The URL to redirect the user to after the action was completed but the payment is still being processed.

    returnUrlSuccess (String)

    The URL to redirect the user to after the action was completed successfuly.

    Example

    {
      "accountNumber": "abc123",
      "amount": 1,
      "description": "abc123",
      "collectionMethod": "CARD",
      "ledgerNumber": "abc123",
      "ledgerId": "abc123",
      "returnUrlSuccess": "abc123",
      "returnUrlPending": "abc123",
      "returnUrlFailure": "abc123",
      "returnUrlError": "abc123",
      "returnUrlCancel": "abc123",
      "returnUrlExpired": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Identification of the account that requesting the product switch.

    quotedProductId (ID!)

    ID of the selected quoted product, obtain from quoting that supply point.

    suppressCommunications (Boolean)

    Suppress Product Switch communications.

    switchDate (Date!)

    The date at which the product switch becomes effective.

    userId (ID)

    The user for whom to perform the update. This is only needed when using an Organisation role.

    Example

    {
      "accountNumber": "abc123",
      "quotedProductId": "abc123",
      "switchDate": "2020-01-01",
      "userId": "abc123",
      "suppressCommunications": true
    }

    InitiateStandalonePaymentInput

    Input fields for initiating a standalone payment.

    The amount should always be provided in the minor unit of currency (e.g., pence not pounds, cents not dollars, etc.).

    A standalone payment can be made against a specific ledger (e.g., a debt ledger) by providing the ledger number. Accounts have a default ledger that will be used if not provided.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    amount (Int!)

    The amount to be collected in the minor unit of currency.

    collectionMethod (CollectionMethod)

    The method by which the payment is being collected.

    description (String!)

    A description of the purpose of the payment.

    ledgerId (ID)

    The id of the specific ledger against which this payment should be applied.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    The number of the specific ledger against which this payment should be applied.

    Example

    {
      "accountNumber": "abc123",
      "amount": 1,
      "description": "abc123",
      "collectionMethod": "CARD",
      "ledgerId": "abc123",
      "ledgerNumber": "abc123"
    }

    InkEmailMessageInput

    This type is used to create an inbound email.

    Input fields

    NameDescription

    attachments ([InkGenericMessageAttachmentInput!])

    Message attachments.

    ccAddresses ([Email!])

    The carbon copy (cc) email addresses the message was sent to.

    fromAddress (Email!)

    The email address the message was sent from.

    plainTextContent (String!)

    The content of the message, as plain text.

    s3Bucket (String)

    The S3 bucket in which the original email is stored.

    s3Key (String)

    The S3 key of the original email.

    subject (String!)

    The email subject/title.

    toAddresses ([Email!]!)

    The email addresses the message was sent to.

    Example

    {
      "plainTextContent": "abc123",
      "attachments": InkGenericMessageAttachmentInput,
      "subject": "abc123",
      "fromAddress": Email,
      "toAddresses": Email,
      "ccAddresses": [Email],
      "s3Bucket": "abc123",
      "s3Key": "abc123"
    }

    Input fields

    NameDescription

    s3Bucket (String!)

    The S3 bucket of the attachment.

    s3Key (String!)

    The S3 key of the attachment.

    Example

    {
      "s3Key": "abc123",
      "s3Bucket": "abc123"
    }

    InkGenericMessageInput

    This type is used to create an generic message.

    Input fields

    NameDescription

    attachments ([InkGenericMessageAttachmentInput!])

    Message attachments.

    fromHandle (String!)

    The identity the message was sent from.

    plainTextContent (String!)

    The content of the message, as plain text.

    toHandle (String!)

    The identity the message was sent to.

    Example

    {
      "plainTextContent": "abc123",
      "attachments": InkGenericMessageAttachmentInput,
      "fromHandle": "abc123",
      "toHandle": "abc123"
    }

    InkMessageInput

    An Ink message used as an input.

    This is intended to be morally equivalent to a tagged union; exactly one of the properties provided here is expected to be provided.

    At current, only the generic message type is provided, because only the generic message type is currently supported as an input type. This is intended to be a backwards-compatible extension point to allow other message input types to be added in the future.

    Input fields

    NameDescription

    email (InkEmailMessageInput)

    generic (InkGenericMessageInput)

    post (InkPostMessageInput)

    Example


    InkPostMessageInput

    This type is used to create an inbound post.

    Input fields

    NameDescription

    accountNumber (String)

    The account number that the letter was sent from.

    attachments ([InkGenericMessageAttachmentInput!])

    Message attachments.

    notes (String)

    Notes on the letter.

    plainTextContent (String!)

    The content of the message, as plain text.

    Example

    {
      "plainTextContent": "abc123",
      "attachments": InkGenericMessageAttachmentInput,
      "accountNumber": "abc123",
      "notes": "abc123"
    }

    InstructionDetailsInput

    Input type for instruction details that was created using the embedded process.

    This means it was set up in the vendor system, and we only need to store a representation of the instruction in Kraken, but not make any calls to the vendor. This method of instruction creation must always be used for creating card instructions.

    Input fields

    NameDescription

    instructionType (PaymentType!)

    The type of the payment instruction.

    validFrom (DateTime!)

    The datetime from which the instruction is vaild.

    vendorName (Vendor!)

    The name of the vendor the payment instruction was set up with.

    vendorReference (String!)

    The vendor's reference for this payment instruction.

    Example

    {
      "vendorName": "GOCARDLESS",
      "instructionType": "BPAY",
      "validFrom": "2020-01-01T00:00:00.000Z",
      "vendorReference": "abc123"
    }

    InvalidatePaymentInstructionInput

    Input for invalidating an arbitrary payment instruction.

    Input fields

    NameDescription

    accountNumber (String!)

    id (String!)

    The id of the payment instruction to be invalidated.

    Example

    {
      "accountNumber": "abc123",
      "id": "abc123"
    }

    InvalidatePreSignedTokenInput

    Input type for the InvalidatePreSignedToken mutation.

    Input fields

    NameDescription

    token (String!)

    Example

    {
      "token": "abc123"
    }

    InvalidatePreSignedTokensForUserInput

    Input type for the InvalidatePreSignedTokensForUser mutation.

    Input fields

    NameDescription

    email (String!)

    The email address of the user whose tokens should be invalidated.

    scope (PreSignedTokenScope)

    The scope of the token to invalidate. If this argument is not specified, all pre-signed tokens issued to the user are invalidated.

    Example

    {
      "email": "abc123",
      "scope": "SUBMIT_METER_READINGS"
    }

    InvalidateRefreshTokenInput

    Input type for the InvalidateRefreshToken mutation.

    Input fields

    NameDescription

    refreshToken (String!)

    Example

    {
      "refreshToken": "abc123"
    }

    InvalidateRefreshTokensForUserInput

    Input type for the InvalidateRefreshTokensForUser mutation.

    Input fields

    NameDescription

    email (String!)

    The email address of the user whose tokens should be invalidated.

    Example

    {
      "email": "abc123"
    }

    Input fields

    NameDescription

    chfDeviceId (String!)

    Device ID of the CHF (Communications Hub Function).

    consumerDeviceId (String!)

    Device ID (IHD, PPMID, CAD or Alt HAN) of the device being added to the CHF.

    consumerDeviceType (JoinConsumerDeviceChoices!)

    The device type being joined to the CHF.

    fuelType (FuelTypeChoices)

    The fuel type of the device, electricity, gas or dual fuel

    installationCode (String)

    Code provided by manufacturer as part of ASN data, and included as part of device pre-notification, which can be required to authorise the joined device.

    Example

    {
      "fuelType": "ELECTRICITY",
      "chfDeviceId": "abc123",
      "consumerDeviceId": "abc123",
      "installationCode": "abc123",
      "consumerDeviceType": "PPMID"
    }

    JoinFanClubInput

    The input type for signing an account up to Fan Club.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    cappedCatchments ([String])

    The list of catchments that have exceeded the member cap.

    catchments ([String]!)

    The list of valid catchment areas.

    email (String!)

    User's email address.

    Example

    {
      "accountNumber": "abc123",
      "catchments": "abc123",
      "cappedCatchments": ["abc123"],
      "email": "abc123"
    }

    JoinSavingSessionsCampaignInput

    The input type for signing an account up to Saving Sessions.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    mpan (String!)

    The MPAN to be signed up.

    Example

    {
      "accountNumber": "abc123",
      "mpan": "abc123"
    }

    JoinSavingSessionsEventInput

    The input type for opting an account in to a Saving Sessions event.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    eventCode (String!)

    The code of the event the user is trying to sign up to.

    Example

    {
      "accountNumber": "abc123",
      "eventCode": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number of the join supplier process (e.g. A-12345678).

    joinSupplierProcessId (Int!)

    The JoinSupplierProcess ID.

    Example

    {
      "accountNumber": "abc123",
      "joinSupplierProcessId": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The Kraken account number.

    futureBillingAddress (RichAddressInput)

    Future billing address.

    marketData (LeaveSupplierMarketInputType)

    requestedSupplyEndDate (Date!)

    The requested last day of supply.

    Example

    {
      "accountNumber": "abc123",
      "requestedSupplyEndDate": "2020-01-01",
      "marketData": LeaveSupplierMarketInputType,
      "futureBillingAddress": RichAddressInput
    }

    Input fields

    NameDescription

    supplyPointData ([_DefaultMarketTerminationInput])

    A list of supply points for initiating a leave supplier journey.

    Example

    {
      "supplyPointData": _DefaultMarketTerminationInput
    }

    Input fields

    NameDescription

    countryCode (String)

    Country code.

    line1 (String!)

    Line 1 of address.

    line2 (String)

    Line 2 of address.

    line3 (String)

    Line 3 of address.

    line4 (String)

    Line 4 of address.

    line5 (String)

    Line 5 of address.

    postalCode (String!)

    Postal code.

    Example

    {
      "line1": "abc123",
      "postalCode": "abc123",
      "countryCode": "abc123",
      "line2": "abc123",
      "line3": "abc123",
      "line4": "abc123",
      "line5": "abc123"
    }

    LinkUserToLineInput

    Link an AccountUser to a LINE account.

    Input fields

    NameDescription

    linkToken (String!)

    Example

    {
      "linkToken": "abc123"
    }

    MetadataInput

    The metadata input type for mutations.

    Input fields

    NameDescription

    identifier (String!)

    An identifier for the associated object, e.g. account_number for the Account linked object type or email for the Account User linked object type.

    key (String!)

    The key for the metadata.

    linkedObjectType (LinkedObjectType!)

    The object that the metadata is associated with.

    value (JSONString!)

    The metadata value which should be a valid JSON string.

    Example

    {
      "identifier": "abc123",
      "linkedObjectType": "ACCOUNT",
      "key": "abc123",
      "value": {"key": "value"}
    }

    Input fields

    NameDescription

    meterType (String)

    The type of meter. This field is not required but should be supplied whenever possible.

    serialNumber (String!)

    Serial number of the meter involved in the appointments.

    status (MeterStatus)

    Whether the meter details refer to a meter that is currently installed at the site or one that has been removed or replaced.

    Example

    {
      "serialNumber": "abc123",
      "status": "REMOVED",
      "meterType": "abc123"
    }

    Input fields

    NameDescription

    changeOn (Date)

    The date the product switch should take effect. Defaults to the current agreement end date, or tomorrow if the agreement is open-ended.

    commission (CommissionInput)

    Information on the commission that's associated with this agreement.

    flatRate (Boolean)

    Should the meter point be on a flat rate.

    mpxn (String!)

    The MPxN of the meter point.

    quotedProductId (ID!)

    The ID of the selected quoted product.

    Example

    {
      "mpxn": "abc123",
      "quotedProductId": "abc123",
      "changeOn": "2020-01-01",
      "commission": CommissionInput,
      "flatRate": true
    }

    Input fields

    NameDescription

    address (String!)

    Street address of the new property. Should not contain the postcode.

    moveInDate (String)

    Date of moving into the new property.

    moveInNewProperty (Boolean)

    If True, this will trigger the move in flow at the new property for the account.

    mpans ([String])

    MPANs of the electricity meter points at the new property.

    mprns ([String])

    MPRNs of the gas meter points at the new property.

    postcode (String!)

    Postcode of new property.

    productCode (String)

    The product to use when creating agreements for the new property. If not provided, the current product for each meter point is used if available, or else the default SVT product. If provided, quote_code must also be provided.

    quoteCode (String)

    A quote that contains the product provided in productcode. Should be provided only if productcode is also provided.

    Example

    {
      "address": "abc123",
      "postcode": "abc123",
      "moveInDate": "abc123",
      "mpans": ["abc123"],
      "mprns": ["abc123"],
      "productCode": "abc123",
      "quoteCode": "abc123",
      "moveInNewProperty": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    moveOutDate (Date!)

    newProperty (MoveInNewProperty)

    The property to perform a move in for.

    newTenant (MoveOutNewTenant)

    The details of the next occupant of the property.

    propertyId (String!)

    Example

    {
      "accountNumber": "abc123",
      "propertyId": "abc123",
      "moveOutDate": "2020-01-01",
      "newProperty": MoveInNewProperty,
      "newTenant": MoveOutNewTenant
    }

    Input fields

    NameDescription

    email (String)

    familyName (String)

    givenName (String)

    mobile (String)

    role (String)

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "email": "abc123",
      "mobile": "abc123",
      "role": "abc123"
    }

    Input fields

    NameDescription

    accountType (AccountTypeChoices!)

    Account type to quote for (e.g. Business or Domestic).

    affiliateSessionId (String)

    Optional ID of the affiliate session active when creating this quote.

    brandCode (String!)

    Company brand to quote for.

    paymentMethod (PaymentMethodChoices)

    Optional parameter for the payment method to quote for. Defaults to Direct Debit.

    Example

    {
      "accountType": "BUSINESS",
      "brandCode": "abc123",
      "paymentMethod": "DIRECT_DEBIT",
      "affiliateSessionId": "abc123"
    }

    Input fields

    NameDescription

    email (String)

    Lead email.

    leadType (String)

    To know if the lead is domestic or business.

    marketName (String)

    The product the lead is interested in.

    name (String)

    Lead name.

    phone (String)

    Lead phone.

    source (String)

    The source where the lead comes from.

    Example

    {
      "source": "abc123",
      "phone": "abc123",
      "email": "abc123",
      "name": "abc123",
      "leadType": "abc123",
      "marketName": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    details (String!)

    The OCPP authentication details.

    Example

    {
      "accountNumber": "abc123",
      "details": "abc123"
    }

    ObtainJSONWebTokenInput

    The input type for obtaining a Kraken Token (JWT).

    Input fields

    NameDescription

    APIKey (String)

    API key of the account user. Use standalone, don't provide a second input field.

    email (String)

    Email address of the account user. Use with 'password' field.

    organizationSecretKey (String)

    Live secret key of an third-party organization. Use standalone, don't provide a second input field.

    password (String)

    Password of the account user. Use with 'email' field.

    preSignedKey (String)

    Short-lived, temporary key (that's pre-signed). Use standalone, don't provide a second input field.

    refreshToken (String)

    The refresh token that can be used to extend the expiry claim of a Kraken token. Use standalone, don't provide a second input field.

    Example

    {
      "email": "abc123",
      "password": "abc123",
      "APIKey": "abc123",
      "organizationSecretKey": "abc123",
      "preSignedKey": "abc123",
      "refreshToken": "abc123"
    }

    ObtainLongLivedRefreshTokenInput

    The input type for obtaining a long-lived refresh token.

    Input fields

    NameDescription

    krakenToken (String!)

    The Kraken Token that will be used to generate the long-lived refresh token.

    Example

    {
      "krakenToken": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    directDebitInstruction (DirectDebitInstructionLocalBankDetailsInput)

    moveInDate (Date)

    paymentDay (Int)

    The day of the month that payments should be taken from the account. Should be between 1 and 28.

    productCode (String!)

    propertyId (String!)

    quoteCode (String!)

    users ([AccountUserInput])

    Example

    {
      "accountNumber": "abc123",
      "propertyId": "abc123",
      "quoteCode": "abc123",
      "productCode": "abc123",
      "paymentDay": 1,
      "directDebitInstruction": DirectDebitInstructionLocalBankDetailsInput,
      "users": AccountUserInput,
      "moveInDate": "2020-01-01"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number for which to pause the dunning process.

    note (String)

    An optional note for the pause.

    pathName (String!)

    The dunning process path name to pause.

    startDate (Date!)

    The date from which the pause to take effect.

    stopDate (Date!)

    The date at which the pause should stop.

    Example

    {
      "accountNumber": "abc123",
      "pathName": "abc123",
      "startDate": "2020-01-01",
      "stopDate": "2020-01-01",
      "note": "abc123"
    }

    PaymentScheduleDetailsInput

    Input type for payment schedule details.

    This enables us to collect information to create 4 different types of schedules during enrollment: - Payment on receipt of bill - Payment at a fixed day of the month once a receipt of bill has been issued - Payment when a ledger balance drops below a certain value - Payment at regular intervals for a fixed amount

    This is intended to be morally equivalent to a "union" input type.

    Input fields

    NameDescription

    balanceTriggered (BalanceTriggeredScheduleInput)

    billTriggered (BillTriggeredScheduleInput)

    billTriggeredBalanceTarget (BillTriggeredBalanceTargetScheduleInput)

    regularTriggered (RegularTriggeredScheduleInput)

    Example

    {
      "regularTriggered": RegularTriggeredScheduleInput,
      "billTriggered": BillTriggeredScheduleInput,
      "balanceTriggered": BalanceTriggeredScheduleInput,
      "billTriggeredBalanceTarget": BillTriggeredBalanceTargetScheduleInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Input a customer account number.

    paymentAmount (Int!)

    Payment amount must be inputted as pence.

    paymentDay (Int!)

    Input a direct debit payment day.

    paymentFrequency (PaymentFrequency)

    Input a payment frequency.

    Example

    {
      "accountNumber": "abc123",
      "paymentFrequency": "WEEKLY",
      "paymentAmount": 1,
      "paymentDay": 1
    }

    Input fields

    NameDescription

    latitude (Float)

    longitude (Float)

    Example

    {
      "latitude": 1.0,
      "longitude": 1.0
    }

    PossibleErrorsInputType

    Information about the query/mutation for which one wants to know the possible errors.

    Input fields

    NameDescription

    authErrors (Boolean)

    Whether to include possible authentication errors.

    name (String!)

    Name of the query/mutation for which to get the possible errors.

    type (query_type!)

    Type of the query (query or mutation).

    Example

    {
      "name": "abc123",
      "type": "query",
      "authErrors": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    displayNote (String)

    Optional short note about the credit, to be displayed to the user.

    ledgerId (ID)

    The ID of the ledger where the credit will be posted.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    The number of the ledger where the credit will be posted.

    netAmount (Int!)

    The net amount of the credit to be posted. Amount should be posted in the smallest unit of currency.

    note (String)

    Optional short note about the credit, to be displayed to internal systems.

    reason (String!)

    The reason why the credit is posted. This should be a valid credit reason code.

    taxAmount (Int!)

    The tax amount of the credit to be posted. Amount should be posted in the smallest unit of currency.

    Example

    {
      "accountNumber": "abc123",
      "netAmount": 1,
      "taxAmount": 1,
      "displayNote": "abc123",
      "note": "abc123",
      "reason": "abc123",
      "ledgerId": "abc123",
      "ledgerNumber": "abc123"
    }

    PostEVPublicChargingAccountChargeInput

    The input type for posting an EV Public Charging account charge.

    Input fields

    NameDescription

    externalAccountId (String!)

    Reference of the external account.

    lineItems ([EVPCLineItem!]!)

    The line items for the new charge.

    taxItems ([EVPCTaxItem!]!)

    The tax items for the new charge.

    Example

    {
      "externalAccountId": "abc123",
      "lineItems": EVPCLineItem,
      "taxItems": EVPCTaxItem
    }

    PostEVPublicChargingChargeInput

    The input type for post an EV Public Charging charge.

    Input fields

    NameDescription

    lineItems ([EVPCLineItem!]!)

    The line items for the new charge.

    taxItems ([EVPCTaxItem!]!)

    The tax items for the new charge.

    tokenValue (String!)

    The value of the token used for this session.

    Example

    {
      "tokenValue": "abc123",
      "lineItems": EVPCLineItem,
      "taxItems": EVPCTaxItem
    }

    Input fields

    NameDescription

    displayNote (String)

    Optional short note about the credit, to be displayed to the user.

    externalAccountId (String!)

    The external account identifier.

    netAmount (Int!)

    The net amount of the credit to be added. Amount should be posted in the smallest unit of currency.

    reason (AccountCreditReasonType!)

    The reason why the credit is added.

    taxAmount (Int!)

    The tax amount of the credit to be added. Amount should be posted in the smallest unit of currency.

    Example

    {
      "externalAccountId": "abc123",
      "netAmount": 1,
      "taxAmount": 1,
      "reason": "EXTERNAL_REFERRAL_CREDIT",
      "displayNote": "abc123"
    }

    Input fields

    NameDescription

    dayOfWeek (DayOfWeek!)

    The day of the week.

    max (Decimal!)

    The maximum value.

    min (Decimal)

    The minimum value.

    time (Time!)

    Time of day this change should apply. Format: HH:MM.

    Example

    {
      "dayOfWeek": "MONDAY",
      "time": "00:00:00.000Z",
      "min": 1.0,
      "max": 1.0
    }

    Input fields

    NameDescription

    accountType (AccountTypeChoices)

    The type of account to create.

    billingAddress (LifecycleAddressInput!)

    The billing address.

    billingName (String!)

    The billing name.

    brandCode (String!)

    The brand of the created account.

    chosenPaymentDay (Int)

    The chosen payment day.

    customerDetails (CustomerDetailsInput!)

    The customer's details.

    dateOfSale (Date)

    The date of sale, defaults to today if not provided.

    preferredSsd (Date)

    The preferred supply start date.

    salesInfo (SalesInformationInput!)

    Sales information.

    Example

    {
      "accountType": "BUSINESS",
      "brandCode": "abc123",
      "billingName": "abc123",
      "billingAddress": LifecycleAddressInput,
      "customerDetails": CustomerDetailsInput,
      "salesInfo": SalesInformationInput,
      "preferredSsd": "2020-01-01",
      "dateOfSale": "2020-01-01",
      "chosenPaymentDay": 1
    }

    ProductRateInputType

    Input type for creating a single product rate.

    Input fields

    NameDescription

    bandCategory (LimitedBandCategories!)

    The band category of the product rate.

    bandSubcategory (AllBandSubCategories)

    The band subcategory of the product rate. For gas products, pass 'null'. For electricity products, select a subcategory.

    gsp (GSPGroupIdsOptions!)

    The GSP group id of the product rate.

    paymentMethod (PaymentMethodChoices)

    The payment method of the product rate, if applicable.

    pricePerUnit (Decimal!)

    The value of the product rate.

    validFrom (DateTime!)

    Date and time the product rate is effective from.

    validTo (DateTime)

    Date and time the product rate is effective to.

    Example

    {
      "validFrom": "2020-01-01T00:00:00.000Z",
      "validTo": "2020-01-01T00:00:00.000Z",
      "bandCategory": "STANDING_CHARGE",
      "bandSubcategory": "STANDARD",
      "pricePerUnit": 1.0,
      "gsp": "_A",
      "paymentMethod": "DIRECT_DEBIT"
    }

    Input fields

    NameDescription

    numberOfUnits (Int!)

    Number of units.

    pricePerUnit (Int)

    Price per unit in smallest sub-unit of the currency. Only used if the product accepts arbitrary prices.

    productCode (String!)

    Products code to purchase.

    Example

    {
      "productCode": "abc123",
      "numberOfUnits": 1,
      "pricePerUnit": 1
    }

    ProductToQuoteInput

    Represents a product and the quantity to quote for a customer.

    Input fields

    NameDescription

    currency (String!)

    Currency.

    numberOfUnits (Int!)

    Number of units.

    pricePerUnit (Int)

    Price per unit in smallest sub-unit of the currency.

    productId (Int!)

    ID of the product to quote.

    Example

    {
      "productId": 1,
      "numberOfUnits": 1,
      "pricePerUnit": 1,
      "currency": "abc123"
    }

    Input fields

    NameDescription

    hasIndoorSpaceForCylinder (Boolean)

    Whether the property has indoor space for a cylinder.

    hasOutdoorSpaceForHeatPump (Boolean)

    Whether the property has outdoor space for a heat pump.

    heatType (HeatPumpHeatType!)

    Heat type.

    isHomeRenovation (Boolean)

    Whether the property is undergoing a home renovation.

    propertyType (HeatPumpPropertyType!)

    Property type.

    Example

    {
      "propertyType": "END_OF_TERRACE",
      "heatType": "MAINS_GAS_BOILER",
      "hasOutdoorSpaceForHeatPump": true,
      "hasIndoorSpaceForCylinder": true,
      "isHomeRenovation": true
    }

    Input fields

    NameDescription

    euid (String!)

    The EUID of the device we are trying to provision.

    nonce (String!)

    The SHA256 hash of the EUID and timestamp.

    signature (String!)

    The signature of the nonce generated by the device's private key.

    timestamp (String!)

    A string representing the number of whole milliseconds since the epoch.

    Example

    {
      "euid": "abc123",
      "timestamp": "abc123",
      "nonce": "abc123",
      "signature": "abc123"
    }

    Input fields

    NameDescription

    params (JSONString!)

    The params of the trigger type, as a JSON string. These are defined in the Params class for a trigger type.

    triggerTypeCode (String!)

    The code of the trigger type to be published.

    Example

    {
      "triggerTypeCode": "abc123",
      "params": {"key": "value"}
    }

    QueryComplexityInputType

    Information about the complexity of the query.

    Input fields

    NameDescription

    operationName (String)

    The operation name of the query to calculate complexity for if more than one is provided.

    query (String!)

    The query to calculate complexity for.

    variables (JSONString)

    Any variables to include for the query. Pagination variables should be included as they will affect the overall weight of the query.

    Example

    {
      "query": "abc123",
      "variables": {"key": "value"},
      "operationName": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number to create this quote for.

    agreedTo (DateTime)

    Explicit agreed to date for the quote. Overrides the product term on switch. Only valid for businesses.

    at (DateTime)

    Date at which the product switch takes effect. Defaults to today if not provided.

    electricityMeterPointsInput ([ElectricityMeterPointProductsInput!])

    A list of electricity meterpoints to create this quote for.

    gasMeterPointsInput ([GasMeterPointProductsInput!])

    A list of gas meterpoints to create this quote for.

    Example

    {
      "electricityMeterPointsInput": ElectricityMeterPointProductsInput,
      "gasMeterPointsInput": GasMeterPointProductsInput,
      "accountNumber": "abc123",
      "at": "2020-01-01T00:00:00.000Z",
      "agreedTo": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    addressLine1 (String)

    addressLine2 (String)

    addressLine3 (String)

    Example

    {
      "addressLine1": "abc123",
      "addressLine2": "abc123",
      "addressLine3": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    campaignSlug (String!)

    Slug of campaign to quote on.

    propertyId (Int!)

    Property to quote on.

    Example

    {
      "accountNumber": "abc123",
      "propertyId": 1,
      "campaignSlug": "abc123"
    }

    Input fields

    NameDescription

    electricityMeterPointsInput ([ElectricityMeterPointInput!])

    A list of electricity meterpoints to create this quote for.

    gasMeterPointsInput ([GasMeterPointInput!])

    A list of gas meterpoints to create this quote for.

    newAccountInput (NewAccountInput!)

    Additional context about the future account which is required to create the quote.

    productTags ([String!])

    Only quote on products with these tags. If not provided, quote against all available products.

    Example

    {
      "electricityMeterPointsInput": ElectricityMeterPointInput,
      "gasMeterPointsInput": GasMeterPointInput,
      "newAccountInput": NewAccountInput,
      "productTags": ["abc123"]
    }

    Input fields

    NameDescription

    electricityMeterPointsInput ([ElectricityMeterPointProductsInput!])

    A list of electricity meterpoints to create this quote for.

    gasMeterPointsInput ([GasMeterPointProductsInput!])

    A list of gas meterpoints to create this quote for.

    newAccountInput (NewAccountInput!)

    Data for creating a new account.

    Example

    {
      "electricityMeterPointsInput": ElectricityMeterPointProductsInput,
      "gasMeterPointsInput": GasMeterPointProductsInput,
      "newAccountInput": NewAccountInput
    }

    Input fields

    NameDescription

    accountNumber (String)

    Account for which the quote was created.

    quoteCode (String!)

    Quote code.

    recipient (Recipient!)

    Recipient information.

    Example

    {
      "recipient": Recipient,
      "quoteCode": "abc123",
      "accountNumber": "abc123"
    }

    Input fields

    NameDescription

    reading (Int)

    register (String)

    Deprecated

    The 'register' field is deprecated.

    Use register_id instead.

    - Marked as deprecated on 2023-02-13.
    - Scheduled for removal on or after 2023-08-13.

    registerId (ID)

    Example

    {
      "registerId": "abc123",
      "register": "abc123",
      "reading": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    authentication (AuthenticationInput!)

    The authentication details required for the currently authenticated device.

    deviceType (KrakenFlexDeviceTypes!)

    The most recently registered device of this type will be re-authenticated.

    Example

    {
      "accountNumber": "abc123",
      "authentication": AuthenticationInput,
      "deviceType": "BATTERIES"
    }

    Input fields

    NameDescription

    email (String)

    Email address of the recipient.

    familyName (String)

    Family name of the recipient.

    givenName (String)

    Given name of the recipient.

    mobile (String)

    Mobile number of the recipient.

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "email": "abc123",
      "mobile": "abc123"
    }

    RedeemLoyaltyPointsInput

    The input type for redeeming Loyalty Points.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    points (Int!)

    The number of Loyalty Points to redeem.

    Example

    {
      "accountNumber": "abc123",
      "points": 1
    }

    RedeemOctoPointsInput

    The input type for redeeming OctoPoints.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    Example

    {
      "accountNumber": "abc123"
    }

    RedeemReferralClaimCodeInput

    Required payload to redeem the benefit for partner reward referral scheme

    Input fields

    NameDescription

    accountNumber (String!)

    The account number for the referred account.

    code (String!)

    Referral scheme claim code value.

    Example

    {
      "accountNumber": "abc123",
      "code": "abc123"
    }

    Input fields

    NameDescription

    code (String!)

    Example

    {
      "code": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (ID!)

    The account number.

    amountInMinorUnit (Int!)

    The amount to be repaid.

    idempotencyKey (String!)

    Unique constraint to prevent duplicate requests.

    paymentId (ID!)

    The ID of the payment to refund.

    reason (String!)

    Reason for refunding the payment.

    Example

    {
      "accountNumber": "abc123",
      "paymentId": "abc123",
      "amountInMinorUnit": 1,
      "idempotencyKey": "abc123",
      "reason": "abc123"
    }

    RefundRequestInput

    The input type for the refund request.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    requestedAmount (Int!)

    The requested refund amount.

    Example

    {
      "accountNumber": "abc123",
      "requestedAmount": 1
    }

    Input fields

    NameDescription

    bundleId (String!)

    Register a push notification binding. A push notification binding connects an account user to a specific application running on a specific device through a 'registration token' (Android) or 'device token' (iOS). Using this binding we can send push notifications to the account user's devices.

    expiresAt (DateTime)

    The time at which the push notification binding expires.

    token (String!)

    Device push notification token.

    Example

    {
      "token": "abc123",
      "bundleId": "abc123",
      "expiresAt": "2020-01-01T00:00:00.000Z"
    }

    RegisterSmartDeviceInput

    This type is used by agent services to notify Kraken of a new device.

    Input fields

    NameDescription

    deviceId (String!)

    The ID of the device to register.

    deviceManufacturer (String!)

    The 4-letter manufacturer code for the device.

    deviceModel (String!)

    Model of the device.

    deviceType (String!)

    Type of the device, e.g. ESME or GSME.

    esmeVariant (String)

    ESME variant for an ESME device.

    firmwareVersion (String)

    Firmware version number.

    installCode (String!)

    Installation code of the device.

    mapMpid (String)

    MPID of the Meter Asset Provider for the device. Used with ESME or GSME devices.

    serialNumber (String)

    Serial number for ESME or GSME devices.

    smetsChtsVersion (String)

    SMETS CHTS version number.

    supplierMpid (String!)

    Supplier associated with the device.

    Example

    {
      "deviceId": "abc123",
      "mapMpid": "abc123",
      "supplierMpid": "abc123",
      "deviceManufacturer": "abc123",
      "deviceModel": "abc123",
      "deviceType": "abc123",
      "smetsChtsVersion": "abc123",
      "installCode": "abc123",
      "esmeVariant": "abc123",
      "serialNumber": "abc123",
      "firmwareVersion": "abc123"
    }

    RegularTriggeredScheduleInput

    A payment schedule which triggers a payment at regular intervals.

    Input fields

    NameDescription

    frequency (ScheduleFrequencyEnum)

    The based unit of frequency at which payments are to be taken.

    frequencyMultiplier (Int)

    The multiple of the frequency at which payment are taken; should be between 1 and 11.

    paymentDay (Int)

    The day of the month/week at which to take payment; ranges from 1 to 28 for 'Monthly'.

    Example

    {
      "paymentDay": 1,
      "frequency": "WEEKLY",
      "frequencyMultiplier": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    campaignName (String!)

    The name of the campaign to be removed.

    Example

    {
      "accountNumber": "abc123",
      "campaignName": "abc123"
    }

    Input fields

    NameDescription

    campaignId (String!)

    The campaign ID.

    campaignItemIds ([String]!)

    The IDs of the items to remove.

    Example

    {
      "campaignId": "abc123",
      "campaignItemIds": "abc123"
    }

    Input fields

    NameDescription

    consumerDeviceId (String!)

    Device ID of the CAD being removed from the CHF/HAN.

    consumerDeviceType (RemoveConsumerDeviceChoices!)

    The device type being joined, currently limited to CAD only.

    Example

    {
      "consumerDeviceId": "abc123",
      "consumerDeviceType": "CAD"
    }

    Input fields

    NameDescription

    meterType (ElectricityMeterTypes)

    prepayData (RemovedMeterPrepayDataInput)

    readAt (DateTime)

    registers ([RemovedElectricityMeterRegisterInput]!)

    serialNumber (String!)

    Example

    {
      "serialNumber": "abc123",
      "meterType": "K",
      "registers": RemovedElectricityMeterRegisterInput,
      "readAt": "2020-01-01T00:00:00.000Z",
      "prepayData": RemovedMeterPrepayDataInput
    }

    Input fields

    NameDescription

    meters ([RemovedElectricityMeterInput])

    mpan (String)

    Example

    {
      "mpan": "abc123",
      "meters": RemovedElectricityMeterInput
    }

    Input fields

    NameDescription

    finalReading (Float!)

    id (String!)

    Identifier string/label for the register.

    Example

    {
      "id": "abc123",
      "finalReading": 1.0
    }

    Input fields

    NameDescription

    finalReading (Float!)

    meterType (GasMeterTypes)

    prepayData (RemovedMeterPrepayDataInput)

    readAt (DateTime)

    serialNumber (String!)

    Example

    {
      "serialNumber": "abc123",
      "meterType": "PP",
      "finalReading": 1.0,
      "readAt": "2020-01-01T00:00:00.000Z",
      "prepayData": RemovedMeterPrepayDataInput
    }

    Input fields

    NameDescription

    meters ([RemovedGasMeterInput])

    mprn (String)

    Example

    {
      "mprn": "abc123",
      "meters": RemovedGasMeterInput
    }

    Input fields

    NameDescription

    balance (Int)

    The credit balance of the meter in millipence.

    cumulativeDebtBalance (Int)

    The total of all debt left on the removed meter in millipence.

    emergencyCreditBalance (Int)

    Amount of emergency credit remaining on the meter in millipence.

    Example

    {
      "balance": 1,
      "cumulativeDebtBalance": 1,
      "emergencyCreditBalance": 1
    }

    Input fields

    NameDescription

    agreedFromDate (Date)

    The date the agreement was agreed from (inclusive, if different to valid_from).

    bespokePpsTariffRates ([BespokePPSTariffRatesInput])

    Bespoke rates overriding those of the associated tariff, with payment method.

    bespokeTariffRates (BespokeTariffRatesInput)

    Bespoke rates overriding those of the associated tariff.

    commission (CommissionInput)

    Information on the commission that's associated with this agreement.

    mpxn (String!)

    MPxN to renew the agreement for.

    tariffCode (String!)

    Tariff code for the new agreement.

    validFromDate (Date!)

    The start date of the new agreement (inclusive).

    validToDate (Date)

    The end date of the new agreement (exclusive).

    Example

    {
      "mpxn": "abc123",
      "tariffCode": "abc123",
      "validFromDate": "2020-01-01",
      "validToDate": "2020-01-01",
      "agreedFromDate": "2020-01-01",
      "bespokeTariffRates": BespokeTariffRatesInput,
      "bespokePpsTariffRates": BespokePPSTariffRatesInput,
      "commission": CommissionInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    changeOn (Date)

    The date the new agreement takes effect. This can be no more than 90 days in the future.

    electricityAgreements ([AgreementRenewalProductInput])

    A list of electricity agreements and the code of the product they will be renewed to.

    gasAgreements ([AgreementRenewalProductInput])

    A list of gas agreements and the code of the product they will be renewed to.

    Example

    {
      "accountNumber": "abc123",
      "electricityAgreements": AgreementRenewalProductInput,
      "gasAgreements": AgreementRenewalProductInput,
      "changeOn": "2020-01-01"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    changeOn (Date)

    The date the new agreement takes effect. This can be no more than 90 days in the future.

    makeFullDebtRepayment (Boolean!)

    Where the account's current payment schedule has a debt repayment element, we let the user choose whether to continue making catch-up payments, or to repay the full debt in addition to their next payment.

    persistFlatRate (Boolean)

    If the customer is currently on a flat rate tariff, persist this into the new agreement.

    propertyId (ID!)

    The ID of the property that agreements should be renewed for.

    quotedProductId (ID!)

    The ID of the quoted product we wish to use to create new agreements. Part of the tariff renewal journey involves re-quoting to ensure this is available.

    Example

    {
      "accountNumber": "abc123",
      "quotedProductId": "abc123",
      "propertyId": "abc123",
      "makeFullDebtRepayment": true,
      "persistFlatRate": true,
      "changeOn": "2020-01-01"
    }

    RepaymentInput

    Input fields for Repayment Intervention.

    Input fields

    NameDescription

    reason (String)

    The Repayment Intervention reason.

    repaymentId (ID!)

    The repayment ID.

    Example

    {
      "repaymentId": "abc123",
      "reason": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    mpxn (String!)

    MPxN of the related meter point to the agreement.

    newProductCode (String!)

    Product code to replace with.

    replaceOnDate (Date!)

    Date to replace on, must be in future.

    Example

    {
      "accountNumber": "abc123",
      "mpxn": "abc123",
      "replaceOnDate": "2020-01-01",
      "newProductCode": "abc123"
    }

    ReplaceCommsHubInput

    Specify a new SMETS2 Communications Hub to replace an existing Communications Hub.

    Input fields

    NameDescription

    newCommsHubDeviceId (String!)

    The device id of the new Communications Hub.

    oldCommsHubDeviceId (String!)

    The device id of the old Communications Hub.

    Example

    {
      "oldCommsHubDeviceId": "abc123",
      "newCommsHubDeviceId": "abc123"
    }

    Input fields

    NameDescription

    appointmentId (String)

    The installer/agents own booking reference for the appointment to remove these meters.

    electricityMeterPoint (RemovedElectricityMeterPointInput)

    gasMeterPoint (RemovedGasMeterPointInput)

    Example

    {
      "appointmentId": "abc123",
      "electricityMeterPoint": RemovedElectricityMeterPointInput,
      "gasMeterPoint": RemovedGasMeterPointInput
    }

    Input fields

    NameDescription

    deviceId (String!)

    Device ID for the meter.

    endAt (DateTime)

    The last half hourly end time (inclusive) to retrieve.

    startAt (DateTime)

    The first half hourly period start (inclusive) to retrieve.

    Example

    {
      "deviceId": "abc123",
      "startAt": "2020-01-01T00:00:00.000Z",
      "endAt": "2020-01-01T00:00:00.000Z"
    }

    RequestPasswordResetInput

    Input type for the RequestPasswordReset mutation.

    Input fields

    NameDescription

    email (String!)

    The email requesting a password reset email.

    Example

    {
      "email": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    billingDocumentId (ID!)

    The ID of the billing document to request a printed bill for.

    Example

    {
      "billingDocumentId": "abc123",
      "accountNumber": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number for the requested ledger's account.

    amountInMinorUnit (Int!)

    The amount to be repaid.

    idempotencyKey (String!)

    Unique constraint to prevent duplicate requests.

    ledgerId (String!)

    The ledger id from which the repayment will be requested.

    method (RequestableRepaymentMethod)

    The method by which the money will be transferred to the customer.

    reason (String)

    The reason for the repayment.

    Example

    {
      "accountNumber": "abc123",
      "ledgerId": "abc123",
      "amountInMinorUnit": 1,
      "method": "BANK_TRANSFER",
      "idempotencyKey": "abc123",
      "reason": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    includeHiddenProducts (Boolean)

    paymentMethod (QuotePaymentMethodChoices)

    Optional parameter to select the payment method for the quote, default is direct debit.

    persistFlatRate (Boolean)

    productAvailableAt (DateTime)

    propertyId (ID!)

    Example

    {
      "accountNumber": "abc123",
      "propertyId": "abc123",
      "productAvailableAt": "2020-01-01T00:00:00.000Z",
      "includeHiddenProducts": true,
      "persistFlatRate": true,
      "paymentMethod": "DIRECTDEBIT"
    }

    Input fields

    NameDescription

    clientMutationId (String)

    password (String!)

    token (String!)

    userId (String!)

    Example

    {
      "password": "abc123",
      "userId": "abc123",
      "token": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    newPassword (String!)

    The new password.

    token (String!)

    The token from the presigned url.

    userId (String!)

    A base64 bytestring representing the user's unique id.

    Example

    {
      "newPassword": "abc123",
      "userId": "abc123",
      "token": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    agreementId (ID!)

    The ID of the agreement to be revoked.

    reason (String)

    The reason for revoking the agreement.

    Example

    {
      "accountNumber": "abc123",
      "agreementId": "abc123",
      "reason": "abc123"
    }

    RichAddressInput

    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.

    This type is the input equivalent of RichAddressType; all the fields here are semantically equivalent to fields there, except where documented.

    Input fields

    NameDescription

    administrativeArea (String)

    Top-level administrative subdivision, e.g. US state, AU state/territory, IT region, JP prefecture.

    country (String)

    ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. AU, GB, JP.

    deliveryPointIdentifier (String)

    Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point.

    This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers.

    dependentLocality (String)

    UK dependent localities, or neighbourhoods or boroughs in some other locations.

    locality (String)

    City or town portion of an address, e.g. US city, AU suburb/town, 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)

    At most one of this field and structured_street_address can be supplied.

    This is a divergence from RichAddressType.street_address, where the field is always supplied; if structured_street_address is present, it's generated from that.

    structuredStreetAddress (GenericScalar)

    At most one of this field and street_address can be supplied.

    AU: Australia

    The following keys may be present; all are optional. All keys have string values, and their meaning is the same as their aseXML counterparts. (Note that, unlike aseXML, all keys are provided at the top level, rather than being nested.)

    • flat_or_unit_type
    • flat_or_unit_number
    • floor_or_level_type
    • floor_or_level_number
    • building_or_property_name
    • location_descriptor
    • lot_number
    • house_number_1
    • house_number_suffix_1
    • house_number_2
    • house_number_suffix_2
    • street_name
    • street_type
    • street_suffix
    • postal_delivery_type
    • postal_delivery_number_prefix
    • postal_delivery_number_value
    • postal_delivery_number_suffix

    JP: Japan

    The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

    • chome
    • banchi
    • go
    • edaban
    • kana_building_name
    • kanji_building_name
    • building_number
    • room_number
    • address_code
    • physical_location_identifier

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

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    temperature (Float!)

    The temperature the room should be set to. The valid temperature range is between 12 and 30 degrees in increments of 0.5 degrees.

    Example

    {
      "accountNumber": "abc123",
      "temperature": 1.0
    }

    SalesInformationInput

    Information about the sale to associate with the account.

    Input fields

    NameDescription

    affiliateSessionId (String)

    Optional ID of the affiliate session.

    referralCode (String)

    The referral code used by the customer when signing up.

    salesChannel (String)

    Sales channel.

    Deprecated

    The 'salesChannel' field is deprecated.

    Please use affiliateSessionId to provide custom sales info, or log in with the correct Organisation.

    - Marked as deprecated on 2024-10-17.
    - Scheduled for removal on or after 2024-12-01.

    salesSubchannel (String)

    Sales subchannel.

    Deprecated

    The 'salesSubchannel' field is deprecated.

    Please use affiliateSessionId to provide custom sales info, or log in with the correct Organisation.

    - Marked as deprecated on 2024-10-17.
    - Scheduled for removal on or after 2024-12-01.

    urn (String)

    Unique reference number.

    Example

    {
      "affiliateSessionId": "abc123",
      "salesChannel": "abc123",
      "salesSubchannel": "abc123",
      "urn": "abc123",
      "referralCode": "abc123"
    }

    Input fields

    NameDescription

    nominatedMpan (String)

    The MPAN of the meter point to enrol with Saving Sessions. If not provided, a random eligible meter point for the account will be selected.

    shouldEnrol (Boolean)

    Whether or not the account should enrol in Saving Sessions.

    Example

    {
      "shouldEnrol": true,
      "nominatedMpan": "abc123"
    }

    Input fields

    NameDescription

    action (String!)

    Whether this setting turns the zone on or off, or changes its temperature.

    setpointInCelsius (FloatSafeDecimal)

    Desired zone temperature (for zones which support setpoints).

    time (Time!)

    When this setting should be active, in HH:MM (24h) format.

    Example

    {
      "time": "00:00:00.000Z",
      "action": "abc123",
      "setpointInCelsius": 20.6
    }

    Input fields

    NameDescription

    selectedOption (ID!)

    The ID of the selected option from the list.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "selectedOption": "abc123"
    }

    Input fields

    NameDescription

    selectedOption (ID!)

    The ID of the selected option from the list.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "selectedOption": "abc123"
    }

    Input fields

    NameDescription

    selectedOption (ID!)

    The ID of the selected option from the list.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "selectedOption": "abc123"
    }

    Input fields

    NameDescription

    quoteCode (String!)

    Quote code.

    selectedQuotedProductIds ([ID]!)

    IDs of the quoted products to be selected.

    Example

    {
      "quoteCode": "abc123",
      "selectedQuotedProductIds": "abc123"
    }

    Input fields

    NameDescription

    selectedOption (ID!)

    The ID of the selected option from the list.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "selectedOption": "abc123"
    }

    Input fields

    NameDescription

    selectedOption (ID!)

    The ID of the selected option from the list.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "selectedOption": "abc123"
    }

    Input fields

    NameDescription

    selectedOption (ID!)

    The ID of the selected option from the list.

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

    {
      "wizardId": "abc123",
      "stepId": "abc123",
      "selectedOption": "abc123"
    }

    SendLossObjectionForChangeOfSupplierInput

    The input type for sending a loss objection for change of supplier for a given account.

    Input fields

    NameDescription

    cosLossProcessId (Int!)

    The id of the change of supplier process.

    fuelType (String!)

    The fuel type of the change of supplier process.

    Example

    {
      "cosLossProcessId": 1,
      "fuelType": "abc123"
    }

    SensorDisplayNameUpdate

    A mapping of sensor codes to the display names we would like those sensors to have.

    Input fields

    NameDescription

    newDisplayName (String!)

    The new display name to set for this sensor.

    sensorCode (String!)

    The code of the sensor you want to update.

    Example

    {
      "sensorCode": "abc123",
      "newDisplayName": "abc123"
    }

    SetLoyaltyPointsUserInput

    The input type for setting the Loyalty Points user.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    newLoyaltyPointsUserId (String!)

    The account user receiving the points.

    Example

    {
      "accountNumber": "abc123",
      "newLoyaltyPointsUserId": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The number of the account.

    bankDetails (BankDetailsInput!)

    The details with which to set up the instruction (these will be sent to the vendor).

    ledgerId (ID)

    The id of the ledger on which the instruction should be created (or "main").

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    The number of the ledger on which the instruction should be created.

    validFrom (DateTime!)

    The date-time that the instruction is valid from.

    Example

    {
      "accountNumber": "abc123",
      "ledgerId": "abc123",
      "ledgerNumber": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z",
      "bankDetails": BankDetailsInput
    }

    Input fields

    NameDescription

    endAt (DateTime)

    Time at which boost should end.

    mode (Mode!)

    The zone mode, i.e. ON, OFF, AUTO or BOOST.

    scheduleOverrideAction (SettingAction)

    Allows overriding just the currently active schedule action with a different one,whilst remaining in AUTO mode.

    setpointInCelsius (FloatSafeDecimal)

    Target temperature for a zone in celsius.

    zone (Zone!)

    The heat pump controller zone, i.e. WATER, ZONE1, ZONE2 or AUXILIARY.

    Example

    {
      "zone": "WATER",
      "mode": "ON",
      "setpointInCelsius": 20.6,
      "scheduleOverrideAction": "TURN_ON",
      "endAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    sensorCode (String!)

    The code for the sensor we want to make primary, such as 'SENSOR01'.

    zone (Zone!)

    The heat pump controller zone.

    Example

    {
      "zone": "WATER",
      "sensorCode": "abc123"
    }

    Input fields

    NameDescription

    schedules ([ZoneSchedule]!)

    The schedule(s) to be set for a specific zone.

    zone (Zone!)

    The heat pump controller zone, i.e. WATER, ZONE1, ZONE2 or AUXILIARY.

    Example

    {
      "zone": "WATER",
      "schedules": ZoneSchedule
    }

    Input fields

    NameDescription

    email (String!)

    The email to share the quote with.

    quoteCode (String!)

    The quote to share.

    Example

    {
      "quoteCode": "abc123",
      "email": "abc123"
    }

    Input fields

    NameDescription

    action (SmartControlAction!)

    The smart control action, i.e. suspend or unsuspend.

    deviceId (ID!)

    The ID of the device.

    Example

    {
      "deviceId": "abc123",
      "action": "SUSPEND"
    }

    Input fields

    NameDescription

    deviceId (ID!)

    The ID of the device.

    mode (PreferencesModeChoices!)

    The mode of the schedule.

    schedules ([PreferencesScheduleInput]!)

    The schedule with the preference details.

    unit (PreferencesUnitChoices!)

    The unit of the min and max values in the preferences schedule.

    Example

    {
      "deviceId": "abc123",
      "mode": "CHARGE",
      "unit": "CELSIUS",
      "schedules": PreferencesScheduleInput
    }

    SmartMeterDeviceInput

    Identifies a SMETS2 meter (or a SMETS1 E&A'd meter).

    Input fields

    NameDescription

    accountNumber (String!)

    Account number of customer.

    deviceId (String!)

    Electricity or gas meter device ID.

    Example

    {
      "accountNumber": "abc123",
      "deviceId": "abc123"
    }

    SmartPrepayMeterAmountInput

    This type is used by clients to top-up a smart prepay meter

    Input fields

    NameDescription

    accountNumber (String!)

    Account number of customer.

    amount (Int!)

    Amount of credit to add to the meter, in pence.

    deviceId (String!)

    Electricity or gas meter device ID.

    isTemporaryCredit (Boolean)

    Apply as temporary credit.

    paymentIntentId (ID)

    The top-up will wait for this payment to clear before proceeding.

    reason (String)

    Reason for top-up.

    Example

    {
      "accountNumber": "abc123",
      "deviceId": "abc123",
      "amount": 1,
      "paymentIntentId": "abc123",
      "isTemporaryCredit": true,
      "reason": "abc123"
    }

    Input fields

    NameDescription

    acceptedTermsAndConditionsVersion (String)

    Version of the terms and conditions that have been accepted.

    accountNumber (String!)

    Account number.

    certificate (Certificate)

    The export certificate object.

    dnoStatus (DNOStatus!)

    The DNO status.

    exportMpan (String)

    The export MPAN.

    fitId (String)

    The FiT ID.

    fitStatus (FITStatus!)

    The FiT ownership status.

    importMpan (String)

    The import MPAN.

    includeFitGeneration (Boolean)

    Whether to take over the FiT generation payments.

    mcsCertNumber (String)

    The MCS certificate number.

    Deprecated

    The 'mcsCertNumber' field is deprecated.

    Please use ineligibility_reasons instead.

    - Marked as deprecated on 2023-10-20.
    - Scheduled for removal on or after 2024-01-01.

    productCode (String!)

    The export product code.

    technologyType (ExportTechnologyType!)

    The export technology type.

    termsAndConditionsAccepted (Boolean!)

    Have the terms and conditions for this product been accepted? To be deprecated.

    Example

    {
      "accountNumber": "abc123",
      "importMpan": "abc123",
      "exportMpan": "abc123",
      "productCode": "abc123",
      "technologyType": "HYDRO",
      "fitStatus": "OWNER",
      "includeFitGeneration": true,
      "fitId": "abc123",
      "mcsCertNumber": "abc123",
      "certificate": Certificate,
      "dnoStatus": "NOTIFIED",
      "termsAndConditionsAccepted": true,
      "acceptedTermsAndConditionsVersion": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account to which the device should be registered.

    propertyId (Int!)

    The property where the device is located/charged.

    Example

    {
      "accountNumber": "abc123",
      "propertyId": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    isNewAccount (Boolean)

    mpan (String)

    The MPAN to switch.

    mprn (String)

    The MPRN to switch.

    productCode (String!)

    The product code to switch to.

    targetAgreementChangeDate (Date)

    A target start date for the new agreement. Must be today or later. Will be ignored if date is in the past at time of creating the new agreement.

    termsAndConditions (TermsAndConditionsInput)

    Example

    {
      "accountNumber": "abc123",
      "mpan": "abc123",
      "mprn": "abc123",
      "productCode": "abc123",
      "isNewAccount": true,
      "termsAndConditions": TermsAndConditionsInput,
      "targetAgreementChangeDate": "2020-01-01"
    }

    StoreElectricJuicePaymentInstructionInput

    The input for storing a new card instruction from an embedded form.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    validFrom (DateTime!)

    The datetime from which the instruction is vaild.

    vendorReference (String!)

    The vendor's reference for this payment method.

    Example

    {
      "accountNumber": "abc123",
      "validFrom": "2020-01-01T00:00:00.000Z",
      "vendorReference": "abc123"
    }

    StorePaymentInstructionInput

    The input for storing a new payment instruction created through the embedded process.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    instructionType (PaymentType!)

    The type of the new payment instruction.

    ledgerId (String)

    The ID of the ledger to which the instructions will be linked.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    WARNING: Will be mandatory in future versions

    The number of the ledger to which the instructions will be linked.

    validFrom (DateTime!)

    The datetime from which the instruction is vaild.

    vendorReference (String!)

    The vendor's reference for this payment method.

    Example

    {
      "accountNumber": "abc123",
      "instructionType": "BPAY",
      "validFrom": "2020-01-01T00:00:00.000Z",
      "vendorReference": "abc123",
      "ledgerId": "abc123",
      "ledgerNumber": "abc123"
    }

    SwitchAccountToVariablePaymentScheduleInput

    Input type for switching an account to a variable payment schedule. Requires an account_number and ledger_id to be provided.

    Input fields

    NameDescription

    accountNumber (String!)

    Number of the account for which to update the schedule.

    ledgerNumber (String!)

    Number of the ledger associated with the current payment schedule.

    note (String)

    A note to be added to the payment schedule to explain the change.

    targetChangeDate (Date)

    The date from which the variable payment schedule should start. Defaults to today.

    Example

    {
      "accountNumber": "abc123",
      "ledgerNumber": "abc123",
      "targetChangeDate": "2020-01-01",
      "note": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    meterPointSwitchContexts ([MeterPointSwitchContext!]!)

    The information required to switch each meter point onto the specified product.

    updatePaymentAmount (Boolean)

    Runs payment adequacy and checks if the amount - the customer is paying each month - should be updated.

    Example

    {
      "accountNumber": "abc123",
      "meterPointSwitchContexts": MeterPointSwitchContext,
      "updatePaymentAmount": true
    }

    TemperatureInput

    Describes the temperature of something that is relevant to the heating system.

    Input fields

    NameDescription

    unit (TemperatureUnit!)

    The units in which the temperature is being measured.

    value (Decimal!)

    The temperature measured.

    Example

    {
      "value": 1.0,
      "unit": "DEGREES_CELSIUS"
    }

    TemperatureRangeInput

    An input type to represent a finite temperature range.

    Input fields

    NameDescription

    maximum (TemperatureInput!)

    The maximum allowable temperature in range.

    minimum (TemperatureInput!)

    The minimum allowable temperature in range.

    Example

    {
      "minimum": TemperatureInput,
      "maximum": TemperatureInput
    }

    Input fields

    NameDescription

    activeAt (DateTime)

    Datetime when the credit transfer permission is valid.

    sourceLedgerNumber (String!)

    Source ledger number of the credit transfer permission.

    targetLedgerNumber (String!)

    Target ledger number of the credit transfer permission.

    Example

    {
      "sourceLedgerNumber": "abc123",
      "targetLedgerNumber": "abc123",
      "activeAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    accepted (Boolean!)

    version (String!)

    The version of the terms and conditions the user was presented with.

    Example

    {
      "version": "abc123",
      "accepted": true
    }

    Input fields

    NameDescription

    versionMajor (Int!)

    The major version of terms and conditions that were accepted.

    versionMinor (Int!)

    The minor version of terms and conditions that were accepted.

    Example

    {
      "versionMajor": 1,
      "versionMinor": 1
    }

    Input fields

    NameDescription

    amount (Int!)

    The amount ( in lowest unit ) to transfer. If the amount is negative,the effect is reversed (the source ledger's balance increases and the destination ledger's balance decreases).

    note (String)

    Optional short note about transfer reason.

    sourceAccountLedger (AccountLedgerInput!)

    Account's ledger from which the requested amount is debited.

    targetAccountLedger (AccountLedgerInput!)

    Account's ledger to which the requested amount is credited.

    Example

    {
      "sourceAccountLedger": AccountLedgerInput,
      "targetAccountLedger": AccountLedgerInput,
      "amount": 1,
      "note": "abc123"
    }

    TransferLoyaltyPointsBetweenUsersInput

    The input type for transferring Loyalty Points.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    points (Int!)

    The number of Loyalty Points to transfer.

    receivingUserId (String!)

    The account user receiving the points.

    Example

    {
      "accountNumber": "abc123",
      "receivingUserId": "abc123",
      "points": 1
    }

    Input fields

    NameDescription

    assignedUserId (Int)

    The ID of the user assigned to handle this exception.If no user is provided, no user will be assigned to the exception.

    category (APIExceptionCategories)

    The new category. If none is provided, the field won't be updated.

    context (JSONString)

    The new context. If none is provided, the field won't be updated. This will completely replace the existing context by the new one.

    id (Int!)

    The ID of the API Exception that will be updated.

    keyDate (Date)

    The new key date. If none is provided, the field won't be updated.

    operationsTeamId (Int)

    The ID of an operations team to handle this exception. If no team is provided, no team will be assigned to the exception.

    priority (APIExceptionPriority)

    The new priority. If none is provided, the field won't be updated.

    resolutionStatus (APIExceptionResolutionStatus)

    The new resolution status. If none is provided, the field won't be updated.

    resolutionType (APIExceptionResolutionType)

    The new resolution type. If none is provided, the field won't be updated.

    tags ([APIExceptionTags])

    The updated list of tags. If none is provided, the field won't be updated.

    Example

    {
      "id": 1,
      "resolutionStatus": "ASSIGNED",
      "resolutionType": "AUTOMATIC",
      "priority": "LOW",
      "context": {"key": "value"},
      "category": "ACCOUNT",
      "tags": "MOVE_IN",
      "keyDate": "2020-01-01",
      "assignedUserId": 1,
      "operationsTeamId": 1
    }

    Input fields

    NameDescription

    apiExceptionNoteId (ID!)

    The ID of the API Exception note being updated.

    body (String!)

    The body of the note.

    Example

    {
      "body": "abc123",
      "apiExceptionNoteId": "abc123"
    }

    UpdateAccountBillingEmailInput

    Input fields for updating billing email for an account.

    Input fields

    NameDescription

    accountNumber (String!)

    Account number for account.

    billingEmail (String)

    The billingemail which can be up to 512 characters. Use null to unset billingemail.

    Example

    {
      "accountNumber": "abc123",
      "billingEmail": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    smets2Interest (SmartMeterInterestChoices!)

    Input field for registering a smart meter interest.

    smets2InterestSource (SmartMeterInterestSourceChoices)

    The source category of the smart meter interest update.

    smets2RefusalReason (SMETS2InterestReason)

    Input field for saving the reason for why a customer is not interested in a smart meter.

    Example

    {
      "accountNumber": "abc123",
      "smets2Interest": "PRIORITY",
      "smets2InterestSource": "WEBSITE",
      "smets2RefusalReason": "SMETS2_INTEREST_REASON_DO_NOT_OWN_HOME"
    }

    Input fields

    NameDescription

    emailFormat (EmailFormats)

    fontSizeMultiplier (Float)

    isOptedInMeterReadingConfirmations (Boolean)

    isOptedInToClientMessages (Boolean)

    isOptedInToOfferMessages (Boolean)

    isOptedInToRecommendedMessages (Boolean)

    isOptedInToSmsMessages (Boolean)

    isOptedInToThirdPartyMessages (Boolean)

    isOptedInToUpdateMessages (Boolean)

    isUsingInvertedEmailColours (Boolean)

    preferredHoldMusic (Songs)

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

    Input fields

    NameDescription

    clientMutationId (String)

    emailFormat (String)

    fontSizeMultiplier (Float)

    isOptedInMeterReadingConfirmations (Boolean)

    isOptedInToClientMessages (Boolean)

    isOptedInToOfferMessages (Boolean)

    isOptedInToRecommendedMessages (Boolean)

    isOptedInToSmsMessages (Boolean)

    isOptedInToThirdPartyMessages (Boolean)

    isOptedInToUpdateMessages (Boolean)

    isUsingInvertedEmailColours (Boolean)

    preferredHoldMusic (String)

    Example

    {
      "isOptedInToClientMessages": true,
      "isOptedInToOfferMessages": true,
      "isOptedInToRecommendedMessages": true,
      "isOptedInToUpdateMessages": true,
      "isOptedInToThirdPartyMessages": true,
      "isOptedInMeterReadingConfirmations": true,
      "isOptedInToSmsMessages": true,
      "isUsingInvertedEmailColours": true,
      "fontSizeMultiplier": 1.0,
      "emailFormat": "abc123",
      "preferredHoldMusic": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    clientMutationId (String)

    dateOfBirth (Date)

    email (String)

    familyName (String)

    givenName (String)

    landline (String)

    mobile (String)

    pronouns (String)

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "pronouns": "abc123",
      "mobile": "abc123",
      "email": "abc123",
      "dateOfBirth": "2020-01-01",
      "landline": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    contactEmail (String)

    contactName (String)

    isBusiness (Boolean)

    landingUrl (String)

    linkId (ID!)

    The id of the affiliate link that is going to be edited.

    organisationId (ID)

    The organisation for whom to update the affiliate link for.

    subdomain (String)

    Will be validated as follows:

    • should be at least two characters
    • should only contain (letters, numbers, and Hyphen)
    • should not contain bad words
    • should not contain any of the reserved words including: affiliates, api, business, click, consul, developer, friends, kraken, mail, sendgrid, tech, webhooks, www, www2

    trainingStatus (String)

    Example

    {
      "linkId": "abc123",
      "organisationId": "abc123",
      "subdomain": "abc123",
      "contactName": "abc123",
      "contactEmail": "abc123",
      "isBusiness": true,
      "landingUrl": "abc123",
      "trainingStatus": "abc123"
    }

    Input fields

    NameDescription

    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, used to send notifications about API usage such as authentication and permissions.

    defaultAccountType (AccountTypeChoices)

    Default Account Type.

    isFieldSalesOnlyProduct (Boolean)

    Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels.

    name (String)

    organisationId (ID!)

    The organisation that is going to be edited.

    salesChannel (SalesChannelChoices)

    Sales Channel.

    skipMeterPointAddressValidation (Boolean)

    Allow this partner to skip validation that ensures all meter points belong to the same address.

    Example

    {
      "organisationId": "abc123",
      "name": "abc123",
      "contactEmail": "abc123",
      "salesChannel": "DIRECT",
      "defaultAccountType": "BUSINESS",
      "canRegisterBusinessMeterPoints": true,
      "canRegisterPortfolioAccounts": true,
      "canRegisterCustomersWithoutEmailAddress": true,
      "skipMeterPointAddressValidation": true,
      "allowAlternativePaymentMethods": true,
      "canRenewTariffs": true,
      "canUseIvrSupportApi": true,
      "isFieldSalesOnlyProduct": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    A code that uniquely identifies the account.

    agreementId (ID!)

    A code that uniquely identifies the agreement.

    reason (String)

    The reason for the change.

    validFrom (Date!)

    The start date of the agreement.

    validTo (Date)

    The end date of the agreement (exclusive). The agreement will end on midnight of this date, such that the previous day is the last day covered by this agreement.

    Example

    {
      "agreementId": "abc123",
      "accountNumber": "abc123",
      "validFrom": "2020-01-01",
      "validTo": "2020-01-01",
      "reason": "abc123"
    }

    UpdateAutoTopUpAmountInput

    Input type for updating the schedule auto top up amount for for an account. Requires an account_number, ledger_id or ledger_number, and payment_amount to be provided.

    Input fields

    NameDescription

    accountNumber (String!)

    Account number to update the schedule auto top up amount for.

    ledgerId (Int)

    Specifies the ledger ID associated with the current schedule for updates.

    Deprecated

    The 'ledgerId' field is deprecated.

    Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

    - Marked as deprecated on 2024-10-22.
    - Scheduled for removal on or after 2025-06-25.

    ledgerNumber (String)

    Specifies the ledger number associated with the current schedule for updates.

    paymentAmount (Int!)

    The new auto-top-up amount for the payment schedule.

    Example

    {
      "accountNumber": "abc123",
      "ledgerId": 1,
      "ledgerNumber": "abc123",
      "paymentAmount": 1
    }

    Input fields

    NameDescription

    externalReference (String)

    The reference code for the active flow.

    number (String!)

    The Collection Process Record Number.

    Example

    {
      "number": "abc123",
      "externalReference": "abc123"
    }

    Input fields

    NameDescription

    completionDetails (String)

    The Completion details for the Collection Process.

    completionReason (CollectionProcessRecordCompletionTypeChoices)

    The Completion reason for the Collection Process.

    number (String!)

    The Collection Process Record Number.

    Example

    {
      "number": "abc123",
      "completionReason": "ENDED",
      "completionDetails": "abc123"
    }

    UpdateCommsDeliveryPreferenceInput

    Input fields for updating comms delivery preferences for an account

    Input fields

    NameDescription

    accountNumber (String!)

    commsDeliveryPreference (CommsDeliveryPreference!)

    Example

    {
      "accountNumber": "abc123",
      "commsDeliveryPreference": "EMAIL"
    }

    Input fields

    NameDescription

    chfConnectionMethod (CHFConnectionMethod)

    How the CHF was installed and connected to the rest of the Smart Metering System.

    chfDeviceId (String!)

    Device ID of the CHF (Communications Hub Function).

    chfInstallType (CHFInstallType)

    Is it a new or replacement CHF?

    chfLocation (CHFLocation)

    Location of the CHF.

    faultReason (CHFFaultReason)

    The engineer's description of the fault.

    faultReturnType (CHFFaultReturnType)

    Whether a fault was identified before or after the installation.

    hasAerialInstalled (Boolean)

    Was an external aerial installed?

    hasConnectivityObstruction (Boolean)

    In the case of NOSMWAN, was the issue a thick stone wall obstruction (as defined in CHSM)?

    hasMetalObstruction (Boolean)

    In the case of NOSMWAN, was the issue a local metal obstruction (as defined in CHSM)?

    hasSharedObstruction (Boolean)

    In the case of NOSMWAN, was the CHF in a shared/communal area (as defined in CHSM)?

    mpan (String)

    MPAN of the meter point linked to the CHF.

    Deprecated

    The 'mpan' field is deprecated.

    Use mpxn instead.

    - Marked as deprecated on 2022-11-07.
    - Scheduled for removal on or after 2023-11-07.

    mpxn (String)

    MPxN of a meter point linked to the CHF.

    noFaultReturnType (CHFNoFaultReturnType)

    In the case of NOFAULTRETURN, the reason for the meter not being installed.

    premiseType (PremiseType)

    Type of the premise in which the CHF is located.

    updateType (CommsHubStatusUpdateType!)

    The type of status update to be sent.

    Example

    {
      "chfDeviceId": "abc123",
      "updateType": "SUCCESS",
      "mpxn": "abc123",
      "mpan": "abc123",
      "chfInstallType": "NEW",
      "hasAerialInstalled": true,
      "chfLocation": "OUTSIDE",
      "premiseType": "DETACHED_OR_SEMI",
      "hasMetalObstruction": true,
      "hasConnectivityObstruction": true,
      "hasSharedObstruction": true,
      "faultReason": "DAMAGED_CASE",
      "faultReturnType": "PRIOR_TO_INSTALLATION",
      "chfConnectionMethod": "HOT_SHOE",
      "noFaultReturnType": "GENERAL"
    }

    Input fields

    NameDescription

    latestAction (String)

    The latest action that was performed.

    leadId (ID)

    The identifier the lead to update.

    stage (String)

    The stage that the lead should be updated to.

    Example

    {
      "leadId": "abc123",
      "stage": "abc123",
      "latestAction": "abc123"
    }

    Input fields

    NameDescription

    clientMutationId (String)

    messageRelayId (ID!)

    The message to set the tags on.

    tagNames ([String!]!)

    The tag names to set on the message.

    taggerCode (String!)

    The tag code to set on the message.

    taggerVersion (String!)

    The tag version to set on the message.

    Example

    {
      "messageRelayId": "abc123",
      "tagNames": "abc123",
      "taggerCode": "abc123",
      "taggerVersion": "abc123",
      "clientMutationId": "abc123"
    }

    Input fields

    NameDescription

    newPassword (String!)

    New password.

    newPasswordConfirmed (String!)

    Confirm new password.

    oldPassword (String!)

    Old password.

    Example

    {
      "oldPassword": "abc123",
      "newPassword": "abc123",
      "newPasswordConfirmed": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    amount (Int!)

    Amount in pence.

    Example

    {
      "accountNumber": "abc123",
      "amount": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    paymentDay (Int!)

    Example

    {
      "accountNumber": "abc123",
      "paymentDay": 1
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    clientParams (JSONString)

    A JSON object containing client parameters to store on the purchase.

    marketParams (JSONString)

    A JSON object containing market parameters to store on the purchase.

    purchaseId (ID!)

    The purchase ID.

    saleItems ([ProductToPurchaseInput]!)

    Products being purchased.

    Example

    {
      "accountNumber": "abc123",
      "purchaseId": "abc123",
      "saleItems": ProductToPurchaseInput,
      "marketParams": {"key": "value"},
      "clientParams": {"key": "value"}
    }

    Input fields

    NameDescription

    accountNumber (String!)

    allowReadingsAnalysis (Boolean)

    The consent that smart meter readings can be used for further analysis.

    readingFrequency (SmartMeterReadingFrequencyChoices!)

    The desired reading frequency for the smart meter.

    Example

    {
      "accountNumber": "abc123",
      "readingFrequency": "DAILY",
      "allowReadingsAnalysis": true
    }

    Input fields

    NameDescription

    additionalPresencePreferred (Boolean)

    Additional presence preferred.

    blind (Boolean)

    Blind.

    carelineTelecareSystem (Boolean)

    Careline/telecare system.

    chronicSeriousIllness (Boolean)

    Chronic/serious illness.

    dementia (Boolean)

    Dementia.

    developmentalCondition (Boolean)

    Developmental condition.

    elderly (Boolean)

    Pensionable age.

    familiesWithYoungChildren5OrUnder (Boolean)

    familiesWithYoungChildren5OrUnderEndDate (String)

    foreignLanguageSpeaker (Boolean)

    hearingImpairment (Boolean)

    heartLungMachine (Boolean)

    Heart, lung & ventilator.

    kidneyDialysis (Boolean)

    Dialysis, feeding pump and automated medication.

    language (String)

    Preferred language.

    mdeElectricShowering (Boolean)

    MDE electric showering.

    medicineRefrigeration (Boolean)

    Medicine refrigeration.

    mentalHealth (Boolean)

    Mental health.

    nebuliser (Boolean)

    Nebuliser and apnoea monitor.

    oxygenConcentrator (Boolean)

    Oxygen concentrator.

    oxygenUse (Boolean)

    Oxygen Use.

    partialSighted (Boolean)

    partnerPassword (String)

    physicalImpairment (Boolean)

    poorSenseOfSmell (Boolean)

    restrictedHandMovement (Boolean)

    restrictedMovement (Boolean)

    speechImpairment (Boolean)

    stairLift (Boolean)

    temporaryLifeChanges (Boolean)

    temporaryLifeChangesEndDate (String)

    temporaryPostHospitalRecovery (Boolean)

    temporaryPostHospitalRecoveryEndDate (String)

    temporaryYoungAdultHouseholder (Boolean)

    temporaryYoungAdultHouseholderEndDate (String)

    usePasswordToIdentify (Boolean)

    Use a unique password to identify our staff and partners.

    userConsent (Boolean)

    Consent required to allow priority service request information to be shared. You will only need to provide this once.

    waterDependent (Boolean)

    Example

    {
      "additionalPresencePreferred": true,
      "blind": true,
      "carelineTelecareSystem": true,
      "chronicSeriousIllness": true,
      "dementia": true,
      "developmentalCondition": true,
      "elderly": true,
      "hearingImpairment": true,
      "heartLungMachine": true,
      "kidneyDialysis": true,
      "mdeElectricShowering": true,
      "medicineRefrigeration": true,
      "mentalHealth": true,
      "nebuliser": true,
      "oxygenConcentrator": true,
      "oxygenUse": true,
      "partialSighted": true,
      "physicalImpairment": true,
      "poorSenseOfSmell": true,
      "restrictedHandMovement": true,
      "restrictedMovement": true,
      "speechImpairment": true,
      "stairLift": true,
      "waterDependent": true,
      "familiesWithYoungChildren5OrUnder": true,
      "familiesWithYoungChildren5OrUnderEndDate": "abc123",
      "temporaryLifeChanges": true,
      "temporaryLifeChangesEndDate": "abc123",
      "temporaryPostHospitalRecovery": true,
      "temporaryPostHospitalRecoveryEndDate": "abc123",
      "temporaryYoungAdultHouseholder": true,
      "temporaryYoungAdultHouseholderEndDate": "abc123",
      "foreignLanguageSpeaker": true,
      "language": "abc123",
      "usePasswordToIdentify": true,
      "partnerPassword": "abc123",
      "userConsent": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    desiredSsd (Date!)

    The desired Supply Start Date (SSD).

    Example

    {
      "accountNumber": "abc123",
      "desiredSsd": "2020-01-01"
    }

    Input fields

    NameDescription

    dateOfBirth (Date)

    details ([DetailsInputType])

    User details.

    email (String)

    familyName (String)

    givenName (String)

    landline (String)

    Because this field is clearable, null and the empty string are treated differently; passing null or omitting the field leaves the value as-is, but explicitly passing an empty string clears this value.

    mobile (String)

    Because this field is clearable, null and the empty string are treated differently; passing null or omitting the field leaves the value as-is, but explicitly passing an empty string clears this value.

    pronouns (String)

    How the user would like us to address them (e.g. 'she/her', 'they/them'). Because this field is clearable, null and the empty string are treated differently; passing null or omitting the field leaves the value as-is, but explicitly passing an empty string clears this value.

    title (String)

    The user's title.

    userId (String)

    The user for whom to perform the update. This is only needed when using an Organisation role.

    Example

    {
      "givenName": "abc123",
      "familyName": "abc123",
      "pronouns": "abc123",
      "email": "abc123",
      "mobile": "abc123",
      "dateOfBirth": "2020-01-01",
      "landline": "abc123",
      "userId": "abc123",
      "title": "abc123",
      "details": DetailsInputType
    }

    UtilityFiltersInput

    Filter measurements by the given utility parameters.

    Input fields

    NameDescription

    electricityFilters (ElectricityFiltersInput)

    gasFilters (GasFiltersInput)

    Example

    {
      "electricityFilters": ElectricityFiltersInput,
      "gasFilters": GasFiltersInput
    }

    ValidateEmailInput

    Input required to validate email address via Kickbox

    Input fields

    NameDescription

    checkUniqueness (Boolean)

    Check if an email is already in use.

    email (String!)

    The user's email address.

    Example

    {
      "email": "abc123",
      "checkUniqueness": true
    }

    Input fields

    NameDescription

    phoneNumber (String!)

    The user's phone number.

    Example

    {
      "phoneNumber": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number.

    targetType (String)

    weekdayTargetSoc (Int!)

    weekdayTargetTime (String!)

    weekendTargetSoc (Int!)

    weekendTargetTime (String!)

    Example

    {
      "accountNumber": "abc123",
      "weekdayTargetTime": "abc123",
      "weekdayTargetSoc": 1,
      "weekendTargetTime": "abc123",
      "weekendTargetSoc": 1,
      "targetType": "abc123"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The number of the account belonging to the user (e.g. A-12345678).

    firstLineOfAddress (String!)

    The first line of the user's address (this could be the energy supply property address or the billing address on the account).

    fullName (String!)

    The user's full name.

    postcode (String!)

    The user's postcode (this could be the postcode of the energy supply property address or of the billing address on the account).

    Example

    {
      "accountNumber": "abc123",
      "fullName": "abc123",
      "firstLineOfAddress": "abc123",
      "postcode": "abc123"
    }

    Input fields

    NameDescription

    qualifyingComponent (CurrentQualifyingComponentOptions)

    A set of criteria under which someone is eligible for the Warm Home Discount. The applicant must meet at least one of these criteria, as well as at least one qualifying component criteria.

    qualifyingCriteria (QualifyingCriteriaOptions)

    A set of criteria under which someone is eligible for the Warm Home Discount. The applicant must meet at least one of these criteria, as well as at least one qualifying component criteria.

    Example

    {
      "qualifyingCriteria": "SAVINGS_ELEMENT_OF_PENSION_CREDIT",
      "qualifyingComponent": "PERSONAL_INDEPENDENCE_PAYMENTS"
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The number of the account for which readings are submitted.

    supplyType (SupplyType!)

    The supply type that the spin should be registered for.

    termsAccepted (Boolean!)

    Indication whether the user has accepted the WoF terms and conditions.

    Example

    {
      "accountNumber": "abc123",
      "supplyType": "ELECTRICITY",
      "termsAccepted": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number for which to withdraw the dunning process.

    note (String)

    An optional note for the withdraw.

    pathName (String!)

    The dunning process path name to withdraw.

    Example

    {
      "accountNumber": "abc123",
      "pathName": "abc123",
      "note": "abc123"
    }

    Input fields

    NameDescription

    days (String!)

    Days of the week a schedule should be active, Sunday through Saturday, in bitmask format,e.g. Sun, Tue, Wed => 1011000.

    settings ([ScheduleSettings]!)

    A list of ScheduleSettings for the selected days.

    Example

    {
      "days": "abc123",
      "settings": ScheduleSettings
    }

    _DefaultMarketTerminationInput

    Default input required to initiate a LeaveSupplier journey for a given market. This type should only be used when there are no configured markets while building the LeaveSupplierMarketInputType.

    Input fields

    NameDescription

    supplyPointIdentifier (String!)

    The market supply point identification number.

    Example

    {
      "supplyPointIdentifier": "abc123"
    }

  • Authentication Server
  • Input fields

    NameDescription

    mfaMethod (MFAMethodChoices!)

    MFA enrolment method.

    Example

    {
      "mfaMethod": "EMAIL"
    }

    Input fields

    NameDescription

    mfaMethod (MFAMethodChoices!)

    MFA method.

    Example

    {
      "mfaMethod": "EMAIL"
    }

    Input fields

    NameDescription

    mfaMethod (MFAMethodChoices!)

    MFA method.

    token (String!)

    Token sent to the user via the MFA method.

    Example

    {
      "mfaMethod": "EMAIL",
      "token": "abc123"
    }