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

    bill (String)

    Bills (Shortcut).

    billingName (String)

    Account or Billing name.

    businessName (String)

    Business name.

    businessNumber (String)

    Business identifier or number.

    device (String)

    Device ID.

    location (String)

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

    meterSerialNumber (String)

    Meter Serial Number.

    portfolioNumber (String)

    The portfolio number eg. P-A123B456.

    statements (String)

    Statements (Alias for bills).

    urn (String)

    URN Number.

    user (String)

    The Account User ID (not account number).

    Example

    {
      "accountNumber": "abc123",
      "portfolioNumber": "abc123",
      "urn": "abc123",
      "user": "abc123",
      "account": "abc123",
      "bill": "abc123",
      "statements": "abc123",
      "meterSerialNumber": "abc123",
      "location": "abc123",
      "billingName": "abc123",
      "businessName": "abc123",
      "businessNumber": "abc123",
      "accountReferences": "abc123",
      "device": "abc123"
    }

    AccountUserDetailInput

    Identifies an account user by a detail namespace and value.

    Input fields

    NameDescription

    namespace (String!)

    The namespace of the account user detail.

    value (String!)

    The value of the account user detail.

    Example

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

    Input fields

    NameDescription

    addedAt (DateTime)

    The time at which the note will appear to have been added (defaults to now).

    content (String!)

    The content of the note.

    conversationRelayId (ID!)

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

    isPinned (Boolean)

    Is the note pinned, to make it clearer to the support user.

    Example

    {
      "conversationRelayId": "abc123",
      "content": "abc123",
      "addedAt": "2020-01-01T00:00:00.000Z",
      "isPinned": true
    }

    AddPropertyInput

    Input type for adding a new property to an account.

    Input fields

    NameDescription

    accountNumber (String!)

    The account number to add the property to.

    address (RichAddressInput!)

    The address of the property using the rich address format.

    Example

    {
      "accountNumber": "abc123",
      "address": RichAddressInput
    }

    Input fields

    NameDescription

    analyzerResults ([InkStorylineAnalyzerResultInput!])

    Optional analyzer results from Neuralink.

    conversationRelayId (ID!)

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

    entries ([InkStorylineEntryInput!]!)

    A list of entries to add to the storyline.

    generatedAt (DateTime!)

    The time the storyline was generated.

    knowledgeArticleIds ([Int!])

    A list of knowledge article IDs to associate with the storyline.

    neuralinkRequestId (UUID!)

    The Neuralink request ID.

    summary (String)

    The summary of the storyline.

    topic (String)

    The topic of the storyline.

    triggerId (String)

    The Neuralink trigger ID that caused this storyline to be generated.

    Example

    {
      "conversationRelayId": "abc123",
      "topic": "abc123",
      "summary": "abc123",
      "generatedAt": "2020-01-01T00:00:00.000Z",
      "entries": InkStorylineEntryInput,
      "neuralinkRequestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
      "knowledgeArticleIds": [1],
      "analyzerResults": InkStorylineAnalyzerResultInput,
      "triggerId": "abc123"
    }

    Input fields

    NameDescription

    archivedRecordingFileUri (URI!)

    An S3 virtual-hosted-style URL pointing to the recording file in the S3ARCHIVEBUCKET, e.g. https://.s3..amazonaws.com/. The file must already exist in the bucket; it will not be downloaded or copied.

    vendorCallLegId (String!)

    The vendor's call leg ID, used to find the call participant and associate the recording with the correct call.

    Example

    {
      "vendorCallLegId": "abc123",
      "archivedRecordingFileUri": URI
    }

    Input fields

    NameDescription

    bucketName (String!)

    The name of the bucket to assign the conversation to.

    conversationRelayId (ID!)

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

    Example

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

    Input fields

    NameDescription

    estimationGroupCode (String!)

    Unique slug identifier for the estimation group.

    supplyPointExternalId (String!)

    Supply point external identifier.

    supplyPointPeriodStart (DateTime)

    Datetime period start to look for supply point.

    Example

    {
      "estimationGroupCode": "abc123",
      "supplyPointExternalId": "abc123",
      "supplyPointPeriodStart": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    recordings ([ArchivedCallRecordingInput!]!)

    The list of external call recordings to associate with calls.

    Example

    {
      "recordings": ArchivedCallRecordingInput
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number to associate to the call.

    callId (ID!)

    The ID of the call.

    Example

    {
      "callId": "abc123",
      "accountNumber": "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"
    }

    Input fields

    NameDescription

    key (String!)

    The key of the business detail.

    value (String!)

    The value of the business detail.

    Example

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

    Input fields

    NameDescription

    callId (ID!)

    The ID of the call to add the metadata to.

    metadata ([CallMetadataItemInput!]!)

    List of metadata items to add to the call.

    Example

    {
      "callId": "abc123",
      "metadata": CallMetadataItemInput
    }

    Input fields

    NameDescription

    hideOnSupportSite (Boolean)

    Whether this metadata item should be hidden on the support site and kraken phone.

    key (String!)

    The key of the metadata item.

    value (String!)

    The value of the metadata item.

    Example

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

    Input fields

    NameDescription

    accountBrandCodes ([String!])

    Brand codes to restrict suggested accounts.

    When provided, only accounts belonging to one of these brands are suggested for the caller.

    Example

    {
      "accountBrandCodes": ["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"}
    }

    Input fields

    NameDescription

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard to cancel.

    Example

    {
      "wizardId": "abc123"
    }

    Input fields

    NameDescription

    closeReason (ConversationClosedReasonChoices!)

    The reason for closing the conversation.

    conversationRelayId (ID!)

    The relay id of the conversation to close.

    Example

    {
      "conversationRelayId": "abc123",
      "closeReason": "AGENT_CLOSED"
    }

    Input fields

    NameDescription

    accountNumber (String)

    The number of the Kraken account that the conversation is from. Required for Account User authorization.

    liveChatConversationRelayId (ID!)

    The relay id of the live chat conversation.

    Example

    {
      "accountNumber": "abc123",
      "liveChatConversationRelayId": "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

    callId (ID!)

    The ID of the call to connect the AI agent to.

    goal (String)

    Optional goal for the AI eligibility check.

    For example, 'submitmeterreading'.

    inferLanguageAttribute (Boolean)

    Whether to infer the preferred language of the calling account.

    inferOperationsGroupAttributes (Boolean)

    Whether to infer the operations group attributes of the calling account.

    priority (Int)

    The priority with which the call should be routed.

    A higher number corresponds to a higher routing priority.

    routingAttributes ([String!])

    List of routing attribute references to add to the call.

    For example, 'SKILL.ENERGY'. Each attribute should already have been created in Kraken.

    waitingBehaviourUrl (String)

    A URL that defines the behaviour of the call when it is in the conference.

    If not set, audio configured in Kraken will be played to the caller.

    The URL must return a response that can be interpreted by the vendor handling the call. For example, if the call is handled by Twilio, TwiML supported by a waitUrl must be returned.

    workScheduleIdentifier (String)

    Optional identifier (slug) of the work schedule associated with this AI agent call.

    When set, this is passed through to the AI agent so it can take work schedule availability into account during handovers.

    Example

    {
      "callId": "abc123",
      "routingAttributes": ["abc123"],
      "priority": 1,
      "waitingBehaviourUrl": "abc123",
      "inferLanguageAttribute": true,
      "inferOperationsGroupAttributes": true,
      "goal": "abc123",
      "workScheduleIdentifier": "abc123"
    }

    Input fields

    NameDescription

    consentTypeCode (String!)

    The code of the consent type.

    source (ConsentEventSource)

    The source of the consent event.

    value (ConsentValue)

    The value to update the consent to.

    Example

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

    Input fields

    NameDescription

    accountNumber (String!)

    category (Category!)

    clientMutationId (String)

    Deprecated

    The 'clientMutationId' field is deprecated.

    This field is a relic of early Relay conventions and is no longer necessary.

    - Marked as deprecated on 2026-07-29.
    - Scheduled for removal on or after 2027-07-29.

    filename (String!)

    Example

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

    Input fields

    NameDescription

    accountNumber (String!)

    The account number to place a manual billing hold on.

    reasonCode (String!)

    The code of an active manual hold reason.

    validFrom (DateTime)

    The start of the hold validity period. Defaults to the current time if not provided.

    validTo (DateTime!)

    The end of the hold validity period.

    Example

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

    Input fields

    NameDescription

    accountNumber (String!)

    The account number.

    isPinned (Boolean!)

    Pin the note to account.

    note (String!)

    The note to add.

    unpinAt (DateTime)

    When to unpin the note from the account.

    Example

    {
      "accountNumber": "abc123",
      "note": "abc123",
      "isPinned": true,
      "unpinAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    campaignId (String!)

    The campaign ID.

    campaignItems ([CampaignItemInput]!)

    The items to add.

    Example

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

    Input fields

    NameDescription

    callerIdentificationRestrictions (CallerIdentificationRestrictionsInput)

    Restrictions used to narrow the accounts suggested for the caller.

    These are supplied by the upstream IVR flow, which knows contextual information about the call (for example, which brand's phone number was dialled).

    fromPhoneNumber (String!)

    The phone number that the call is from.

    toPhoneNumber (String!)

    The phone number that the call is to.

    vendor (VoiceVendor!)

    The Voice vendor managing the call.

    vendorCallId (String!)

    The ID of the call in the vendor's system.

    Example

    {
      "fromPhoneNumber": "abc123",
      "toPhoneNumber": "abc123",
      "vendor": "TWILIO",
      "vendorCallId": "abc123",
      "callerIdentificationRestrictions": CallerIdentificationRestrictionsInput
    }

    Input fields

    NameDescription

    accountNumber (String)

    The number of the Kraken account that the message was from.

    channel (InkCommunicationChannel!)

    The channel type the posted message should be treated as in Ink.

    It is used to determine how the message should be processed and what channel-specific features are available for this message.

    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!)

    The message to ingest.

    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

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

    Input fields

    NameDescription

    accountNumber (String!)

    The number of the Kraken account that the message was from.

    messageId (String!)

    An arbitrary, unique ID for this message.

    Used in combination with vendor to guarantee uniqueness of the message in Ink. Stored as vendor_id.

    newMessage (InkMessageInput!)

    The message to ingest.

    occurredAt (DateTime)

    When the message occurred in the system of origin.

    vendor (String)

    An optional value that is used in conjunction with message_id to guarantee uniqueness of a message in Ink.

    It is usually name of the system the message originated from. If not supplied, Ink provides a default system value.

    Example

    {
      "accountNumber": "abc123",
      "messageId": "abc123",
      "newMessage": InkMessageInput,
      "vendor": "abc123",
      "occurredAt": "2020-01-01T00:00:00.000Z"
    }

    Input fields

    NameDescription

    events ([PostEventInput]!)

    List of post events to create.

    Example

    {
      "events": PostEventInput
    }

    CreateShellAccountInput

    Input fields for creating a shell account.

    Input fields

    NameDescription

    billingAddressLine1 (String)

    First line of the billing address.

    billingAddressLine2 (String)

    Second line of the billing address.

    billingAddressLine3 (String)

    Third line of the billing address.

    billingAddressLine4 (String)

    Fourth line of the billing address.

    billingAddressLine5 (String)

    Fifth line of the billing address.

    billingName (String)

    The name to use for billing purposes.

    billingPeriodDay (Int)

    Day to fixed bill on if billingperiodlength set.

    billingPeriodLength (String)

    For fixed billing accounts only, the length of their billing period. Can be MONTHLY or QUARTERLY.

    billingPeriodMonth (Int)

    Month to start billing from if billingperiodlength set to QUARTERLY or the multiplier is > 1.

    billingPeriodMultiplier (Int)

    For fixed billing accounts only, the number the period length is to be multiplied by to get the total period length, i.e. for billing every second month, select 2 combined with a billing period length MONTHLY. Can't be > 1 for quarterly billing.

    billingPostcode (String)

    The billing address postcode.

    billingRichAddress (String)

    This must be a string-ified version of the JSON representation of RichAddressInput type.

    brand (String)

    The brand to associate the account with.

    businessType (String)

    The type of business for business accounts.

    clientMutationId (String)

    A unique identifier for the client performing the mutation.

    companyName (String)

    The name of the company for business accounts.

    companyNumber (String)

    The company registration number for business accounts.

    dateOfBirth (Date)

    The user's date of birth.

    email (String!)

    The user's email address.

    familyName (String!)

    The user's family (last) name.

    givenName (String!)

    The user's given (first) name.

    isBusinessAccount (Boolean)

    Whether this is a business account.

    landline (String)

    The user's landline phone number.

    mobile (String)

    The user's mobile phone number.

    password (String)

    The password for the new account user.

    passwordUpdateToken (String)

    Token required to set a password during account creation.

    portfolioNumber (String)

    The portfolio number to associate the account with.

    taxNumber (String)

    The tax number for the business account.

    urn (String)

    Unique reference number from a 3rd party enrolment.

    Example

    {
      "clientMutationId": "abc123",
      "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",
      "taxNumber": "abc123",
      "password": "abc123",
      "passwordUpdateToken": "abc123",
      "urn": "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.

    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

    externalProvider (String)

    The provider that delivers push notifications for the application, e.g. 'PINPOINT' or 'FCM'. Disambiguates apps that share a bundle ID and service but use different providers. Defaults to 'PINPOINT' when omitted.

    token (String!)

    Device push notification token.

    Example

    {
      "token": "abc123",
      "externalProvider": "abc123"
    }

    Input fields

    NameDescription

    supplyPointExternalId (String!)

    Supply point external identifier.

    supplyPointPeriodStart (DateTime)

    Datetime period start to look for supply point.

    Example

    {
      "supplyPointExternalId": "abc123",
      "supplyPointPeriodStart": "2020-01-01T00:00:00.000Z"
    }

    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": "BMW",
      "deviceDetails": DeviceDetailsInput,
      "authentication": AuthenticationInput
    }

    ElectricityFiltersInput

    Filter measurements by electricity parameters.

    Input fields

    NameDescription

    deviceId (String)

    The identifier of the specific device associated to this reading.

    marketSupplyPointId (String)

    The identifier of the market supply point associated to this reading.

    readingDirection (ReadingDirectionType)

    Reading direction is based on the utility generated or consumed by the customer.

    readingFrequencyType (ReadingFrequencyType)

    The frequency of the reading.

    readingQuality (ReadingQualityType)

    registerId (String)

    The identifier of the register associated to this reading.

    Example

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

    Input fields

    NameDescription

    callId (ID!)

    Identifier for the call to enqueue, as an integer or a UUID.

    inferLanguageAttribute (Boolean)

    Whether to infer the preferred language of the calling account.

    inferOperationsGroupAttributes (Boolean)

    Whether to infer the operations group attributes of the calling account.

    priority (Int)

    The priority with which the call should be routed.

    A higher number corresponds to a higher routing priority.

    routingAttributes ([String!])

    List of routing attribute references to add to the call.

    For example, 'SKILL.ENERGY'. Each attribute should already have been created in Kraken.

    waitingBehaviourUrl (String)

    A URL that defines the behaviour of the call when it is enqueued and the caller is waiting.

    If not set, audio configured in Kraken will be played to the caller.

    The URL must return a response that can be interpreted by the vendor handling the call. For example, if the call is handled by Twilio, TwiML supported by a waitUrl must be returned.

    Example

    {
      "callId": "abc123",
      "routingAttributes": ["abc123"],
      "priority": 1,
      "waitingBehaviourUrl": "abc123",
      "inferLanguageAttribute": true,
      "inferOperationsGroupAttributes": true
    }

    Input fields

    NameDescription

    accountNumber (String!)

    Account number that requested to escalate the conversation.

    conversationRelayId (ID!)

    The relay id of the conversation to escalate to the team leader.

    Example

    {
      "accountNumber": "abc123",
      "conversationRelayId": "abc123"
    }

    Input fields

    NameDescription

    paymentInstructionId (Int!)

    Payment instruction ID.

    Example

    {
      "paymentInstructionId": 1
    }

    Input fields

    NameDescription

    channel (InkCommunicationChannel!)

    The channel of the contact.

    filename (String!)

    The name of the file.

    Example

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

    InkEmailMessageInput

    This type is used to create an 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"
    }

    InkLiveChatMessageInput

    This type is used to create a live chat 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.

    Example

    {
      "plainTextContent": "abc123",
      "attachments": InkGenericMessageAttachmentInput,
      "fromHandle": "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 a few channels are provided. 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)

    Input for Email type messages.

    generic (InkGenericMessageInput)

    Input for Generic type messages.

    liveChat (InkLiveChatMessageInput)

    Input for Live Chat type messages.

    post (InkPostMessageInput)

    Input for Post type messages.

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

    InkSendMessageInput

    A message that is to be sent. Currently supports only email messages.

    Input fields

    NameDescription

    email (InkEmailMessageInput)

    Input for email type message.

    Example


    Input fields

    NameDescription

    analyzerType (StorylineAnalyzerTypeChoices!)

    The type of analyzer that produced this result.

    data (JSONString!)

    The analyzer result data, structure depends on analyzertype and schemaversion.

    schemaVersion (String!)

    The schema version of the analyzer result data (e.g., 'v1').

    Example

    {
      "analyzerType": "DIAGNOSTIC_QUESTIONS",
      "schemaVersion": "abc123",
      "data": {"key": "value"}
    }

    Input fields

    NameDescription

    content (String!)

    The content of the storyline entry.

    contentId (BigInt)

    The optional related object ID of the entry.

    entryType (StorylineEntryTypes!)

    The type of the storyline entry.

    isRootCause (Boolean)

    Whether this entry is identified as the root cause of the issue.

    occurredAt (DateTime!)

    The datetime when the storyline entry occurred.

    url (String)

    Optional URL related to the storyline entry.

    Example

    {
      "contentId": 1,
      "entryType": "INBOUND_MESSAGE",
      "occurredAt": "2020-01-01T00:00:00.000Z",
      "content": "abc123",
      "url": "abc123",
      "isRootCause": true
    }

    Input fields

    NameDescription

    deviceId (String!)

    UUID of the device.

    isSolarCurtailmentEnabled (Boolean!)

    Whether solar curtailment is enabled for this integrated inverter device.

    Example

    {
      "deviceId": "abc123",
      "isSolarCurtailmentEnabled": true
    }

    Input fields

    NameDescription

    bucketName (String!)

    The name of the bucket to move the conversation to.

    conversationRelayId (ID!)

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

    unassignFromUsers (Boolean)

    Whether to unassign from user buckets. Defaults to False (only unassign from team buckets).

    Example

    {
      "conversationRelayId": "abc123",
      "bucketName": "abc123",
      "unassignFromUsers": true
    }

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

    The currently supported inputs are: - account user email/password combination - account user API key - organization live secret key - pre-signed key - refresh token

    Input fields

    NameDescription

    APIKey (String)

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

    captchaResponse (String)

    The response from the CAPTCHA challenge. Use with 'email' and 'password' fields.

    email (String)

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

    Deprecated

    The 'email' field is deprecated.

    The Auth Server should be used for customer authentication.

    - Marked as deprecated on 2026-03-18.
    - Scheduled for removal on or after 2026-09-21.

    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.

    Deprecated

    The 'password' field is deprecated.

    The Auth Server should be used for customer authentication.

    - Marked as deprecated on 2026-03-18.
    - Scheduled for removal on or after 2026-09-21.

    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

    {
      "APIKey": "abc123",
      "organizationSecretKey": "abc123",
      "preSignedKey": "abc123",
      "refreshToken": "abc123",
      "email": "abc123",
      "password": "abc123",
      "captchaResponse": "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!)

    Account number of the account to update.

    optionsLanguagePreference (OptionsLanguagePreferenceChoices!)

    The language preference to set for the account, from the available options.

    Example

    {
      "accountNumber": "abc123",
      "optionsLanguagePreference": "ENGLISH"
    }

    Input fields

    NameDescription

    description (String!)

    Explanation or context for the event.

    eventId (String)

    Unique identifier for this event from the external vendor, if provided. Used for deduplication so that requests can be safely retried without creating duplicate events.

    eventType (String!)

    Type of post event (ie. 'delivered', 'returned', 'failed').

    messageId (String!)

    Unique ID of the message (ie. letter or document) that this post event relates to.

    timestamp (DateTime!)

    The date/time that the post event occurred, if provided.

    Example

    {
      "messageId": "abc123",
      "eventType": "abc123",
      "description": "abc123",
      "timestamp": "2020-01-01T00:00:00.000Z",
      "eventId": "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

    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.

    externalProvider (String)

    The provider that delivers push notifications for the application, e.g. 'PINPOINT' or 'FCM'. Disambiguates apps that share a bundle ID and service but use different providers. Defaults to 'PINPOINT' when omitted.

    service (String)

    The push notification service the application is registered with. For iOS applications this will be 'APNS' and for Android applications this will be 'GCM'. For iOS Sandbox applications, the value is 'APNS_SANDBOX'.

    token (String!)

    Device push notification token.

    Example

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

    Input fields

    NameDescription

    campaignId (String!)

    The campaign ID.

    campaignItemIds ([String]!)

    The IDs of the items to remove.

    Example

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

    RequestPasswordResetInput

    Input type for the RequestPasswordReset mutation.

    Input fields

    NameDescription

    baseUrl (String)

    The URL from which the reset was requested. If supported, it is used as the base URL to generate the reset link in the email sent to the user.

    email (String)

    The email requesting a password reset email. Provide either this or the userNumber.

    userNumber (String)

    The number of the user requesting a password reset email. Provide either this or the email.

    Example

    {
      "email": "abc123",
      "userNumber": "abc123",
      "baseUrl": "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

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

    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, NZ region, IT region, JP prefecture.

    country (String)

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

    deliveryPointIdentifier (String)

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

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

    dependentLocality (String)

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

    geographicalId (String)

    Identifier for this address in its territory's official address register, e.g. DAR ID in DK, UPRN in GB, G-NAF ID in AU.

    locality (String)

    City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town.

    name (String)

    A personal name.

    organization (String)

    The name of a business or organisation.

    postalCode (String)

    Postal code (ZIP code in the US).

    sortingCode (String)

    Sorting code, e.g. FR CEDEX code. This field is not used in many countries.

    streetAddress (String)

    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
    • kana_company_name
    • kanji_company_name

    NZ: New Zealand

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

    • flat_or_unit_type
    • flat_or_unit_number
    • floor_or_level_type
    • floor_or_level_number
    • property_name
    • building_name
    • house_number_1
    • house_number_suffix_1
    • house_number_2
    • house_number_suffix_2
    • street_prefix
    • street_name
    • street_type
    • street_suffix
    • rural_delivery_number
    • mailtown
    • postal_delivery_type
    • postal_delivery_location
    • postal_delivery_number_prefix
    • postal_delivery_number_value
    • postal_delivery_number_suffix

    US: United States

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

    • primary_number
    • primary_name_prefix_dir
    • primary_name
    • primary_name_suffix
    • primary_name_suffix_dir
    • secondary_name
    • secondary_number

    Example

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

    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

    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

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

    SelectVehicleOrChargePointInput

    Options for selecting the user's vehicle or charge point.

    Input fields

    NameDescription

    selectedIntegration (SelectIntegrationChoices)

    User selected integration option.

    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",
      "selectedIntegration": "ELECTRIC_VEHICLE"
    }

    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

    newMessage (InkSendMessageInput!)

    The message to send.

    replyToMessageRelayId (ID)

    The relay ID of the message we want to reply to.

    shouldCloseConversation (Boolean)

    Whether to close the conversation.

    useFullReplyThread (Boolean)

    Whether to attach the full reply thread to an email reply.

    Example

    {
      "newMessage": InkSendMessageInput,
      "shouldCloseConversation": true,
      "replyToMessageRelayId": "abc123",
      "useFullReplyThread": true
    }

    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
    }

    Input fields

    NameDescription

    accountNumber (String!)

    The account number associated with the device.

    deviceId (String!)

    The ID of the device to re-authenticate.

    propertyId (Int!)

    The property where the device is located/charged.

    Example

    {
      "accountNumber": "abc123",
      "propertyId": 1,
      "deviceId": "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
    }

    TargetInput

    Input for specifying which target to query billing configurations for.

    Exactly one of accountnumber, portfolionumber, or ledger_id must be provided.

    Input fields

    NameDescription

    accountNumber (String)

    Account number.

    ledgerId (ID)

    Supplementary ledger ID.

    portfolioNumber (String)

    Portfolio number.

    Example

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

    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

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

    Input fields

    NameDescription

    action (UpdateBoostChargeAction!)

    The boost action.

    deviceId (String!)

    Device ID.

    Example

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

    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

    deviceId (String!)

    Device ID.

    enabled (Boolean!)

    Whether or not the device grid export is enabled.

    Example

    {
      "deviceId": "abc123",
      "enabled": true
    }

    Input fields

    NameDescription

    deviceId (String!)

    The ID of the device to update.

    enabled (Boolean!)

    Whether to enable charging duration capping.

    Example

    {
      "deviceId": "abc123",
      "enabled": true
    }

    Input fields

    NameDescription

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

    Input fields

    NameDescription

    dateOfBirth (Date)

    details ([DetailsInputType])

    User details.

    email (String)

    familyName (String)

    givenName (String)

    label (String)

    A free text field to help identifying the customer (e.g. for a job title).

    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",
      "label": "abc123",
      "details": DetailsInputType
    }

    Input fields

    NameDescription

    key (String!)

    The key of the user input, matching the key of the requested input.

    value (String!)

    The value provided by the user for this input.

    Example

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

    Input fields

    NameDescription

    stepId (ID!)

    The ID of the SmartFlex onboarding step to complete.

    userInput ([UserInput!]!)

    A list of user input key-value pairs where each key should match the key of the requested input.

    wizardId (ID!)

    The ID of the SmartFlex onboarding wizard.

    Example

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

    UtilityFiltersInput

    Filter measurements by the given utility parameters.

    Input fields

    NameDescription

    electricityFilters (ElectricityFiltersInput)

    Filter measurements by electricity parameters.

    Example

    {
      "electricityFilters": ElectricityFiltersInput
    }

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