# GraphQL SDL for the Origin Energy Kraken GraphQL API # Harvested verbatim by anonymous introspection of https://api.origin-kraken.energy/v1/graphql/ on 2026-07-27 # Introspection is enabled without authentication; data queries require a bearer token (error KT-CT-1112). schema { query: Query mutation: Mutation } """Possible API Brownout statuses.""" enum APIBrownoutStatus { SCHEDULED IN_PROGRESS CANCELLED COMPLETED ABORTED } """An enumeration.""" enum APIExceptionCategories { LOYALTY CUSTOMER ACCOUNT NEW_CONNECTION PAYMENT CONCESSION INTERNET ENROLMENT UNKNOWN } """An enumeration.""" enum APIExceptionPriority { LOW MEDIUM HIGH } """An enumeration.""" enum APIExceptionResolutionStatus { ASSIGNED CANCELLED IN_PROGRESS RESOLVED UNASSIGNED UNSUCCESSFUL WAITING_ON_THIRD_PARTY } """An enumeration.""" enum APIExceptionResolutionType { AUTOMATIC MANUAL UNASSIGNED } """An enumeration.""" enum APIExceptionTags { FDV LIFE_SUPPORT MOVE_IN MOVE_OUT PRODUCT_UPDATE SAME_DAY TRANSFER_IN VACANT_CONSUMPTION } """Possible API types.""" enum APIType { GRAPHQL REST } enum AccountApplicationStatus { CURRENT FAILED HISTORIC WITHDRAWN } """An enumeration.""" enum AccountBillingOptionsPeriodLength { """Monthly""" MONTHLY """Quarterly""" QUARTERLY } """An enumeration.""" enum AccountEventType { """The email messages that were sent by the account.""" EMAIL_SENT """The email messages that were received by the account.""" EMAIL_RECEIVED """The marketing email messages that were sent by the account.""" MARKETING_EMAIL_SENT """The print messages that were sent to the print partner by the account.""" PRINT_SENT """The print messages that failed to be delivered.""" PRINT_FAILED """The print messages that were returned to sender.""" PRINT_RETURNED """The print messages that were cancelled.""" PRINT_CANCELLED """The print messages that were sent by the print partner.""" PRINT_SUCCEEDED """The SMS messages that were sent by the account.""" SMS_SENT """The SMS messages that were received by the account.""" SMS_RECEIVED """The push notification messages that were sent by the account.""" PUSH_NOTIFICATION_SENT } """ The current status of the payment. Note: REQUESTED payments are excluded by default. """ enum AccountPaymentStatusOptions { """The payment has been scheduled for collection and the customer has been notified. While a payment is scheduled, it can still be deleted.""" SCHEDULED """The payment has been submitted. From this point it cannot be altered.""" PENDING """The payment has been approved by the merchant and added to your Kraken account.""" CLEARED """The payment failed permanently.""" FAILED """A payment promise has been created, but it has not left the customers bank account.""" PROMISED """The payment has been made successfully and applied to the Kraken balance.""" FULFILLED """The payment promise has been broken.""" PROMISE_BROKEN """Payments made in a previous system and then imported into Kraken.""" HISTORIC """Third Party payments are those recorded for financial purposes in a different system but should be added to statements.""" THIRD_PARTY """The initial state of a payment in Kraken. It should be scheduled with a payment vendor in the future.""" REQUESTED """This payment was deleted. From this point it cannot be altered.""" DELETED } """An enumeration.""" enum AccountPaymentTransactionTypeChoices { DD_FIRST_COLLECTION DD_REGULAR_COLLECTION DD_RE_PRESENTATION DD_FINAL_COLLECTION CREDIT_CARD DEBIT_CARD PREPAID_CARD AGENCY AUSTRALIA_POST BACS_DEPOSIT BPAY BPOINT BRISTOL_POUND BTRE CASH CENTREPAY CHEQUE DESKTOP_DEPOSIT EAPA_VOUCHER EBOX EFT ERRONEOUS_PAYMENT FUEL_DIRECT HEEAS IVR MONEYGRAM OCR PAYPAL SERVICE_TICKET SOCIAL_WELFARE_PAYMENT TELPAY TRANSFER_FROM_SAP URGS WALMART_CASH PAYPOINT_CASH PAYPOINT_CARD PAYPOINT_CHEQUE ALLPAY_CASH ALLPAY_CARD ALLPAY_CHEQUE PAYZONE DWP POST_OFFICE_CASH POST_OFFICE_CHEQUE POST_OFFICE_SAVINGS_STAMPS POST_OFFICE_CARD DCA_COLLECTION PREPAY_KEY PREPAY_CARD PREPAY_TOKEN PREPAY_SMART PAYMENT_FEE FAILED_REPAYMENT_REVERSAL KONBINI PAGOPA_NOTICE IDEAL UNKNOWN } """Contains reminder type choices for all territories.""" enum AccountReminderTypes { AD_HOC GBR_ADD_PHOTO_TO_METER_READING GBR_GET_PHOTO_OF_METER_AND_CALL_SUPPLIER GBR_RAISE_DISPUTE GBR_VERIFY_MHHS_MESSAGE JPN_MULTIPLE_VALID_REFERRALS JPN_FAILED_TO_SEND_SMS_FOR_BILLING_INFO JPN_FAILED_TO_SEND_SMS_FOR_CONVENIENCE_STORE_PAYMENT JPN_SWITCH_IN_SCHEDULE_OVERLAP ITA_ACCOUNT_WITHDRAWN_WITHOUT_NOTIFICATION ITA_PROCESS_WELCOME_PACK_STEP AUS_EMBEDDED_CHILD_NMIS FOLLOW_UP_PAYMENT_PROMISE DUNNING_REMINDER WITHDRAWAL_RECEIVED CHURN_PREVENTION PLANNED_INTERRUPTION PLANNED_INTERRUPTION_MEDICAL_DEPENDENCY MOVE_IN_MOVE_OUT_MANUAL_PROCESS MOVE_IN_CES_LIFE_SUPPORT_REQUIRED MOVE_IN_DEFAULT_PAYMENT_SCHEDULE_FAILED CANCEL_MOVE_OUT_UNABLE_TO_REINSTATE_FUTURE_AGREEMENTS COS_GAIN COS_LOSS MOVE_IN MOVE_OUT AMPERAGE_CHANGE CUSTOMER_DETAILS_CHANGE BILLING INDUSTRY_CUSTOMER_TRANSFER_DELAYED INDUSTRY_EXCEPTION_CHANGE_OF_SUPPLIER_REJECTED INDUSTRY_EXCEPTION_CHANGE_OF_SUPPLIER_OBJECTED INDUSTRY_EXCEPTION_CHANGE_OF_SUPPLIER_CONFLICTING_PERIOD INDUSTRY_EXCEPTION_CHANGE_REQUEST_OBJECTED INDUSTRY_EXCEPTION_CHANGE_REQUEST_REJECTED INDUSTRY_EXCEPTION_CHANGE_REQUEST_CANCELLED INDUSTRY_EXCEPTION_CHANGE_REQUEST_OBJECTION_MISSING_ACK INDUSTRY_EXCEPTION_CHANGE_REQUEST_WITHDRAWAL_REJECTED INDUSTRY_EXCEPTION_CHANGE_REQUEST_OBJECTION_REJECTED INDUSTRY_EXCEPTION_CHANGE_REQUEST_OBJECTION_WITHDRAWAL_REJECTED INDUSTRY_EXCEPTION_UNABLE_TO_PROCESS_ROLR INDUSTRY_EXCEPTION_CHANGE_OF_SUPPLIER_GAIN_COMPLETION_OVERDUE INDUSTRY_EXCEPTION_CHANGE_REQUEST_CANCELLATION_FAILED INDUSTRY_EXCEPTION_CHANGE_REQUEST_UNABLE_TO_WITHDRAW INDUSTRY_EXCEPTION_SITE_ACCESS_DETAILS_REQUEST_REJECTED INDUSTRY_EXCEPTION_SITE_ACCESS_DETAILS_NOTIFICATION_REJECTED INDUSTRY_EXCEPTION_SITE_ACCESS_DETAILS_NOTIFICATION_MISSING_BUSINESS_ACCEPTANCE INDUSTRY_MANUAL_CUSTOMER_DETAILS_NOTIFICATION_REQUIRED INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_NOTIFICATION_MISSING_BUSINESS_ACCEPTANCE INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_NOTIFICATION_MISSING_MANDATORY_FIELDS INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_NOTIFICATION_INVALID_BILLING_ADDRESS INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_REQUEST_SPECIAL_REASON INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_REQUEST_REJECTED INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_REQUEST_MISSING_BUSINESS_ACCEPTANCE INDUSTRY_EXCEPTION_CUSTOMER_DETAILS_NOTIFICATION_REJECTED INDUSTRY_EXCEPTION_LIFE_SUPPORT_MULTIPLE_ACCOUNTS_MATCHES INDUSTRY_EXCEPTION_LIFE_SUPPORT_MULTIPLE_LIFE_SUPPORT_CONTACT_MATCHES INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_FAILED_TO_SEND INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_UNKNOWN_CONTACT INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_INVALID_PHONE INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_INVALID_CONTACT_METHOD INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_RECEIVED_FROM_NON_REGISTRATION_OWNER INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_CONTAINS_UNEXPECTED_DATA INDUSTRY_EXCEPTION_LIFE_SUPPORT_REQUEST_REJECTED INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_REJECTED INDUSTRY_EXCEPTION_LIFE_SUPPORT_REQUEST_MISSING_BUSINESS_ACCEPTANCE INDUSTRY_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_MISSING_BUSINESS_ACCEPTANCE INDUSTRY_EXCEPTION_LIFE_SUPPORT_REQUEST_MISSING_LIFE_SUPPORT_NOTIFICATION INDUSTRY_EXCEPTION_LIFE_SUPPORT_CONTACT_USER_REMOVED_FROM_ACCOUNT INDUSTRY_MANUAL_LIFE_SUPPORT_NOTIFICATION_REQUIRED INDUSTRY_VIC_DRO_MANUAL_LIFE_SUPPORT_EXTENSION_REQUEST INDUSTRY_EXCEPTION_FAILED_TO_CANCEL_DEENERGISATION_SERVICE_ORDER INDUSTRY_EXCEPTION_HOUSE_MOVE_ENROLMENT_SERVICE_ORDER_ALREADY_IN_PROGRESS INDUSTRY_EXCEPTION_HOUSE_MOVE_ENROLMENT_UNABLE_TO_COPY_LAST_METER_READING INDUSTRY_EXCEPTION_HOUSE_MOVE_ENROLMENT_CANNOT_CALCULATE_MOVE_IN_READING INDUSTRY_EXCEPTION_HOUSE_MOVE_OUT_CANNOT_CALCULATE_MOVE_OUT_READING INDUSTRY_EXCEPTION_METER_POINT_ENROLMENT_INCOMPLETE_COULD_NOT_SEND_SERVICE_ORDER INDUSTRY_EXCEPTION_UNABLE_TO_ENROL_METER_POINT_INCOMPLETE_COULD_NOT_SEND_CHANGE_REQUEST INDUSTRY_EXCEPTION_RELINKING_OCCURRED_DURING_SDR_SYNC INDUSTRY_SEND_LIFE_SUPPORT_DE_REGISTRATION_FORM INDUSTRY_LIFE_SUPPORT_MANUAL_BEST_ENDEAVOUR_REQUIRED INDUSTRY_LIFE_SUPPORT_REVIEW_DEREGISTRATION INDUSTRY_LIFE_SUPPORT_REVIEW_POST_DEREGISTRATION_COMMS INDUSTRY_LIFE_SUPPORT_REVIEW_POST_DEREGISTRATION INDUSTRY_LIFE_SUPPORT_CANCEL_DEREGISTRATION_FAILED INDUSTRY_LIFE_SUPPORT_REGISTRATION_FOLLOW_UP_REQUIRED INDUSTRY_LIFE_SUPPORT_REVIEW_AFTER_CANCELLED_MOVE_OUT_FOR_NEXT_ACCOUNT INDUSTRY_LIFE_SUPPORT_REVIEW_ATTEMPTED_CANCELLED_MOVE_OUT_FOR_NEXT_ACCOUNT INDUSTRY_UNABLE_TO_CREATE_RECORD INDUSTRY_CHANGE_OF_SUPPLIER_DOUBLE_GAIN INDUSTRY_METER_POINT_MISSING_CUSTOMER_CLASSIFICATION SERVICE_ORDER_ACKNOWLEDGEMENT_OVERDUE SERVICE_ORDER_INITIAL_RESPONSE_OVERDUE SERVICE_ORDER_NOT_COMPLETED SERVICE_ORDER_CANCELLATION_REQUEST_REJECTED SERVICE_ORDER_PARTIALLY_COMPLETED SERVICE_ORDER_UNABLE_TO_CHARGE SERVICE_ORDER_REQUEST_REJECTED SERVICE_ORDER_UNSOLICITED_RECEIVED SERVICE_ORDER_UNSOLICITED_RECEIVED_DEENERGISED_METER_POINT SERVICE_ORDER_FAILED SERVICE_ORDER_CANCELLATION_FAILED SERVICE_ORDER_OTHER_JOB_ENQUIRY_CODE SMARTFLEX_DEVICE_INTEGRATION_POSTPONED SPECIAL_READ_FAILED SPECIAL_READ_CANCELLATION_FAILED SPECIAL_READ_OUTSTANDING SPECIAL_READ_WITH_ESTIMATE_READ_RECEIVED NETWORK_TARIFF_ONE_WAY_NOTIFICATION METER_EXCHANGE_ONE_WAY_NOTIFICATION METER_FAULT_AND_ISSUE_ONE_WAY_NOTIFICATION_REJECTED NOTICE_OF_METERING_WORKS_ONE_WAY_NOTIFICATION COMMERCIAL_ENERGISATION_INTERVENTION_REQUIRED PPA_EXPORT_INTERVENTION_REQUIRED ACCOUNT_COOL_OFF PLANNED_INTERRUPTION_ONE_WAY_NOTIFICATION PLANNED_INTERRUPTION_ONE_WAY_NOTIFICATION_REJECTED PLANNED_INTERRUPTION_NOTIFICATION_SENT_TO_LIFE_SUPPORT_CUSTOMER FIELDWORKS_ALLOCATE_NMI_MARKET_PARTICIPANTS_NOT_SET FIELDWORKS_BULK_DEPLOYMENT_JOURNEY_AUTO_CANCELLED FIELDWORKS_METER_FAULT_JOURNEY_AUTO_CANCELLED FIELDWORKS_MULTIPLE_OPEN_JOURNEYS_FOR_METER_POINT FIELDWORKS_UPLOAD_ATTACHMENT_TO_JEMENA_PORTAL FIELDWORKS_OBTAIN_SUPPLY_ABOLISHMENT_APPROVAL FIELDWORKS_JOURNEY_CANCELLED_DUE_TO_LIFE_SUPPORT_REGISTRATION FIELDWORKS_MIRN_DISCOVERY_FAILED FIELDWORKS_SERVICE_ORDER_PARTIALLY_COMPLETED FIELDWORKS_SERVICE_ORDER_FAILED FIELDWORKS_PAYER_CONTACT_FAILED_VALIDATION COS_GAIN_REL_RETRIEVAL_FAILURE INDUSTRY_EXCEPTION_UNABLE_TO_ENROL_METER_POINT_INVALID_NMI_METER_STATUS FIELDWORKS_JOURNEY_ATTACHMENTS FIELDWORKS_SERVICE_ORDER_ATTACHMENTS FIELDWORKS_SERVICE_ORDER_COMPLETED FIELDWORKS_SERVICE_ORDER_UNABLE_TO_ACCESS_WITH_CUSTOMER_CONSULTATION FIELDWORKS_SERVICE_ORDER_UNABLE_TO_ACCESS_WITHOUT_CUSTOMER_CONSULTATION FIELDWORKS_MOVE_OUT_CANCELLED_WHILE_SUPPLY_ABOLISHMENT_IN_PROGRESS FIELDWORKS_SUPPLY_PERIOD_DOES_NOT_EXIST_FOR_METERPOINT FIELDWORKS_METERPOINT_IS_NOT_ACTIVE FIELDWORKS_EXPECTED_METER_POINT_NOT_CREATED FIELDWORKS_NEW_CONNECTION_DATA_NOT_VALID FIELDWORKS_NEW_CONNECTION_COMPLETION_REVIEW FIELDWORKS_EXPECTED_METER_READ_NOT_RECEIVED FIELDWORKS_EXPECTED_NTCS_NOT_RECEIVED FIELDWORKS_CONTACT_SO_RECIPIENT_TO_UPDATE_THE_SO_DETAILS FIELDWORKS_INVESTIGATE_WHETHER_JOURNEY_NEEDS_CONTINUATION FIELDWORKS_CHANGE_REQUEST_STEP_FAILED FIELDWORKS_CHANGE_REQUEST_STEP_ERRORED FIELDWORKS_SERVICE_ORDER_STEP_FAILED FIELDWORKS_SERVICE_ORDER_STEP_ERRORED FIELDWORKS_OBTAIN_CUSTOMER_APPROVAL_BEFORE_PROGRESSING FIELDWORKS_MANUALLY_COMPLETE_CUSTOMER_MOVE_IN FIELDWORKS_ACCOUNT_CREATED_WITH_NO_EMAIL_ADDRESS FIELDWORKS_MAINTAIN_REGISTER_BILLABLE_OVERRIDE_FOR_UNSOLICITED_METER_CHANGES AUS_EMBEDDED_WATER_READING_FAILURE AUS_EMBEDDED_ACQUISITION_MATRIX_ERROR AUS_VIC_SHAREDFUSE_NOTIFICATION AUS_INDUSTRY_CUSTOMER_OWN_READING_NOT_SENT JPN_READINGS_NOT_RECEIVED JPN_FINAL_READING_OUTSIDE_AGREEMENT JPN_CONFIRMATION_OF_RELOCATION JPN_BILLING_FIX_INVALID_CHARGE_DATA DUNNING_OUTBOUND_REMINDER_CALL DUNNING_BEST_ENDEAVOURS_CALL DUNNING_DISCONNECTION_OUTBOUND_REMINDER_CALL DUNNING_DISCONNECTION_DE_ENERGISATION_ASSESSMENT DUNNING_MANDATORY_NOTICE_EMAIL_FAILURE DUNNING_DISCONNECTION_MANDATORY_NOTICE_EMAIL_FAILURE DUNNING_VACANT_CONSUMPTION_DE_ENERGISATION_ASSESSMENT DUNNING_REMINDER_CALL DUNNING_REMINDER_DISCONNECTION_APPLICATION DUNNING_REMINDER_PAYMENT_MADE DUNNING_REMINDER_FUTURE_PAYMENT NON_ENERGY_PAYMENT_CALL_REMINDER PAYMENTS_FAILED_REPAYMENT PAYMENT_PLAN ACTIVATE_PAYMENT_CANCELLATION_STOPPED POST_HARDSHIP_CANCELLATION PAYMENT_PLAN_HARDSHIP_COMPLETION PAYMENT_PLAN_HARDSHIP_COMPLETION_WORKFLOW_CANCELLED HARDSHIP_GRADUATION_ASSESSMENT HARDSHIP_REMOVAL_ASSESSMENT AUS_CENTREPAY_EXCESSIVE_CREDIT PAYMENT_INSTRUCTION_FAILED PAYMENT_SCHEDULE_FAILED_TO_CREATE HARDSHIP_NO_PAYMENT_PLAN DISCONNECTION_MANDATORY_NOTICE_EMAIL_FAILURE DISCONNECTION_MANDATORY_NOTICE_SMS_FAILURE MARKET_SUPPLY_EXCEPTION_AGREEMENT_FAILED_TO_TERMINATE MARKET_SUPPLY_EXCEPTION_AGREEMENT_FAILED_TO_CREATE MARKET_SUPPLY_EXCEPTION_AGREEMENT_FAILED_TO_UPDATE MARKET_SUPPLY_EXCEPTION_MISSING_ACCOUNT_QUOTED_PRODUCT MARKET_SUPPLY_EXCEPTION_AGREEMENT_FAILED_TO_REVERSE_TERMINATION GAS_EXCEPTION_SITE_ACCESS_DETAILS_RECEIVED_FOR_NON_EXISTENT_METER GAS_EXCEPTION_CUSTOMER_DETAILS_NOTIFICATION_FAILED GAS_EXCEPTION_LIFE_SUPPORT_NOTIFICATION_FAILED GAS_EXCEPTION_SITE_ACCESS_DETAILS_NOTIFICATION_FAILED GAS_EXCEPTION_SITE_ADDRESS_DETAILS_NOTIFICATION_FAILED GAS_EXCEPTION_METER_DATA_VERIFY_REQUEST_FAILED GAS_EXCEPTION_METER_DATA_VERIFY_RESPONSE_OVERDUE GAS_EXCEPTION_METER_DATA_VERIFY_RESPONSE_NO_CHANGE_WITH_EXPLANATION GAS_EXCEPTION_METER_DATA_VERIFY_RESPONSE_WITHOUT_REVISED_READ GAS_NOTIFICATION_CHANGE_OF_SITE_ADDRESS INDUSTRY_EXCEPTION_NEXT_SCHEDULED_READ_DATE_TOO_FAR_IN_FUTURE GAS_EXCEPTION_CUSTOMER_TRANSFER_REJECTED GAS_MANUAL_SERVICE_ORDER_REQUIRED_FOR_ENROLMENT GAS_UNKNOWN_CUSTOMER_CLASSIFICATION_CODE_RECEIVED BILLING_AMENDED_METER_READ_BASIC BILLING_AMENDED_METER_READ_GAS BILLING_AMENDED_METER_READ_INTERVAL BILLING_AMENDED_METER_READ_PRE_MIGRATION BILLING_AMENDED_METER_READ_CES_ELEC_BASIC BILLING_AMENDED_METER_READ_CES_ELEC_INTERVAL BILLING_REGISTER_REPLACED_OR_REMOVED BILLING_CUSTOMER_SELF_READ_RECEIVED BILLING_MISSING_READ SA_CONCESSION_STATEMENT_CLOSED BILLING_QUOTED_NTC_DOES_NOT_ALIGN FINAL_BILLING_UNABLE_TO_BILL MANDATORY_COMMS_NOT_DELIVERED CONTRACT_COMMS_NOT_DELIVERED MOVE_IN_COMMS_NOT_DELIVERED SMART_METER_MODE_CHANGE_UNSUPPORTED HELD_STATEMENT HELD_BILLING_DOCUMENT AUTOMATED_BILLING_DISABLED ASSIGNED_TO_CREDIT_TEAM WORKFLOW_STEP_FAILED WORKFLOW_STEP_ERRORED WORKFLOW_CANCELLATION_FAILED COS_GAIN_MIGRATION_ECOES_METER_MISMATCH ACCOUNT_MIGRATION_SYNC_XOSERVE_METER_MISMATCH SMART_CHANGE_OF_TENANCY_IN_PROGRESS AGREEMENT_REVOKED UNSUPPORTED_PAYMENT_DAY EMBEDDED_NETWORK_EXCEPTION_PARENT_METER_POINT_LOST_OR_LOSING EMBEDDED_NETWORK_EXCEPTION_PARENT_METER_POINT_RECEIVED_LIFE_SUPPORT_NOTIFICATION EMBEDDED_NETWORK_EXCEPTION_PARENT_METER_POINT_RECEIVED_DANGEROUS_LIFE_SUPPORT_NOTIFICATION EMBEDDED_NETWORK_EXCEPTION_DISTRIBUTOR_OWNED_PARENT_LIFE_SUPPORT_RECORD EMBEDDED_NETWORK_ALL_CHILD_LIFE_SUPPORT_RECORDS_ARE_DEREGISTERED SCHEDULED_BILLING_ADDRESS_UPDATE SCHEDULED_OCCUPIER_PACK_SEND PROPERTY_ADDRESS_NEEDS_UPDATE FRA_ACTIVATION_PROCESS_INCEPTION_CHECKS FRA_ACTIVATION_PROCESS_SCHEDULE_SITEWORKS FRA_ACTIVATION_PROCESS_GAS_PROVIDER_CHANGE_REQUEST FRA_ACTIVATION_PROCESS_PRM_ELIGIBILITY FRA_ACTIVATION_PROCESS_AWAITING_SWITCH_READINGS FRA_ELEC_ACTIVATION_PROCESS_WRONG_SWITCH_READINGS_FOR_PROVIDER_CALENDAR_TEMPORAL_CLASSES FRA_ACTIVATION_PROCESS_COMMANDER_SOUSCRIPTION FRA_ACTIVATION_PROCESS_AWAITING_SWITCH_IN_CONFIRMATION FRA_TERMINATION_REQUEST_ERRORED FRA_TERMINATION_PROCESS_NEEDS_INTERVENTION FRA_ENERGY_CHEQUE_UNKNOWN COMMS_TO_BE_PRINTED FLOW_FILE_ERROR NEW_PSR_ADDED_TO_PREPAY_ACCOUNT PSR_IMPORT_COULD_NOT_IDENTIFY_ACCOUNT_USER MAIL_RETURNED MAIL_FAILED DUPLICATE_CARD_FINGERPRINTS WATER_METER_READING_ISSUE WATER_ACCOUNT_REVERSION DEU_SWICHTING_PROCESS_FAILED DEU_METER_READINGS DEU_MASTER_DATA_SYNCHRONISATION DEU_MASTER_DATA_UPDATE DEU_INBOUND_APERAK FAMILY_ISSUES_ADDED MIGRATION_TYPE FIELDWORKS_APPOINTMENTS_UNAVAILABLE COLLECTION_PROCESS_COMMS_FAILURE NZL_REGISTRY_REQUEST_REJECTED NZL_REGISTRY_REQUEST_SUPERSEDED NZL_SERVICE_ORDER_INCOMPLETED } """An enumeration.""" enum AccountRepaymentStatusOptions { """The request for a repayment has been received but not actioned yet.""" REQUESTED """The repayment has been approved but not made yet.""" APPROVED """The payment has been submitted to the merchant. It is still possible for this repayment to fail.""" SUBMITTED """The repayment failed permanently. This could be because of technical issues, or if the merchant rejects the payment for some reason. The payment will need to be retried by ops.""" FAILED """The repayment has been made to the merchant to be sent to the customer. This is a terminal state, we don't get any further confirmation.""" PAID """Third Party payments are those recorded for financial purposes in a different system but should be added to statements.""" THIRD_PARTY """Payments made in a previous system and then imported into Kraken.""" HISTORIC } """Status of account statement (OPEN or CLOSED).""" enum AccountStatementStatus { OPEN CLOSED } enum AccountStatus { """A pending account is one that has been created but no registrations have started.""" PENDING """Account requires processes to be completed before supply can be set up""" INCOMPLETE """Withdrawn before supply started""" WITHDRAWN """Supply could have started, be ongoing or ended.""" ACTIVE """An error occurred when we tried to enroll a meter point. This may be deprecated in future in favour of exposing this through enrollment property of a meter point.""" ENROLMENT_ERROR """Meter point enrollment was rejected. This may be deprecated in future in favour of exposing this through enrollment property of a meter point.""" ENROLMENT_REJECTED """Dormant. Users should not be able to log into dormant accounts.""" DORMANT """Void. Account created in error.""" VOID } """An enumeration.""" enum AccountTypeChoices { """An account designed to supply/bill business premises.""" BUSINESS """An account created when we supply a business premises but do not have details for the occupants.""" BUSINESS_OCCUPIER """An account designed to supply/bill business premises where the bill is sent to a third party.""" BUSINESS_THIRD_PARTY_BILLED """An account created when we supply a business premises and know there are definitely no occupants.""" BUSINESS_VACANT """An account designed to supply/bill domestic premises.""" DOMESTIC """An account designed to supply/bill domestic premises where the bill is sent to a third party.""" DOMESTIC_THIRD_PARTY_BILLED """An account created when we supply domestic premises that are managed by a business, i.e., a B2B2C model.""" MANAGED """An account created when we supply a domestic premises but do not have details for the occupants.""" OCCUPIER """An account which is responsible for all other accounts in the portfolio, i.e. pays the bills for them.""" PORTFOLIO_LEAD """An account that represents the relationship between a supply point and a supplier.""" SUPPLY_POINT """An account created when we supply a domestic premises and know there are definitely no occupants.""" VACANT } """An enumeration.""" enum AccumulationReadingEventType { OPS_READING AMPHIO_READING IMPORT_READING QUARANTINE_APPLIED QUARANTINE_REVOKED CUSTOMER_OWN_READ } """Input widget type for a single address field.""" enum AddressFieldTypeEnum { TEXT TEXTAREA SELECT NUMBER HIDDEN } """Status of an agreement rescission.""" enum AgreementRescissionStatus { IN_PROGRESS REJECTED ERRORED COMPLETED } """An enumeration.""" enum AgreementRolloverRolloverType { """Default Rollover""" DEFAULT """Custom Renewal""" CUSTOM """Custom Extension""" EXTENSION """Customer Requested""" CUSTOMER_REQUESTED } """An enumeration.""" enum AgreementRolloverStatus { """Rollover Pending""" PENDING """Rollover Rejected""" REJECTED """Rollover In Progress""" ENQUEUED """Error During Rollover""" ERROR """Rollover Needs Attention""" NEEDS_ATTENTION """Rollover Pending Validation""" PENDING_VALIDATION """Rollover Validating""" VALIDATING """Rollover Completed""" DONE """Rollover Revoked""" REVOKED } enum Alignment { START CENTER END } enum AmountStrategy { FIXED PLAN BALANCE BILL } """An enumeration.""" enum AmphioIntervalReadingReasonCode { """Free Text Description""" A_0 """Meter Equipment Changed""" A_1 """Extreme Weather Conditions""" A_2 """Quarantined Premises""" A_3 """Dangerous Dog""" A_4 """Blank Screen""" A_5 """Deenergised Premises""" A_6 """Unable To Locate Meter""" A_7 """Vacant Premises""" A_8 """Under Investigation""" A_9 """Unable To Open""" A_10 """In Wrong Route""" A_11 """Locked Premises""" A_12 """Locked Gate""" A_13 """Locked Meter Box""" A_14 """Overgrown Vegetation""" A_15 """Noxious Weeds""" A_16 """Unsafe Location""" A_17 """Read Less Than Previous""" A_18 """Consumer Wanted""" A_19 """Damaged Equipment""" A_20 """Main Switch Off""" A_21 """Meter Seals Missing""" A_22 """Reader Error""" A_23 """Substituted Data""" A_24 """Unable To Locate Premises""" A_25 """Negative Consumption""" A_26 """ROLR""" A_27 """CT/VT Fault""" A_28 """Relay Damaged""" A_29 """Meter Stop Switch On""" A_30 """Not All Meters Read""" A_31 """Reenergised Without Readings""" A_32 """Deenergised Without Readings""" A_33 """Meter Not In Handheld""" A_34 """Timeswitch Faulty""" A_35 """Ladder Required""" A_36 """Meter Under Churn""" A_37 """Unmarried Lock""" A_38 """Reverse Energy Observed""" A_39 """Unrestrained Livestock""" A_40 """Fault Meter Display""" A_41 """Channel Added/Removed""" A_42 """Power Outage""" A_43 """Meter Testing""" A_44 """Readings Failed To Validate""" A_45 """Extreme Weather/Hot""" A_46 """Refused Access""" A_47 """Dog On Premises""" A_48 """Wet Paint""" A_49 """Wrong Tariff""" A_50 """Installation Demolished""" A_51 """Access Blocked""" A_52 """Pests In Meter Box""" A_53 """Meter Box Damaged""" A_54 """Dials Obscured""" A_55 """Meter Ok - Supply Failure""" A_58 """Illegal Connection""" A_60 """Equipment Tampered""" A_61 """NSRD Window Expired""" A_62 """Key Required""" A_64 """Wrong Key Provided""" A_65 """Transfer""" A_67 """Zero Consumption""" A_68 """Reading Exceeds Substitute""" A_69 """Probe Reports Tampering""" A_70 """Probe Read Error""" A_71 """Recalculated Based On Actual""" A_72 """Low Consumption""" A_73 """High Consumption""" A_74 """Customer Read""" A_75 """Communications Fault""" A_76 """Estimation Forecast""" A_77 """Null Data""" A_78 """Power Outage Alarm""" A_79 """Short Interval Alarm""" A_80 """Long Interval Alarm""" A_81 """CRC Error""" A_82 """RAM Checksum Error""" A_83 """ROM Checksum Error""" A_84 """Data Missing Alarm""" A_85 """Clock Error Alarm""" A_86 """Reset Occurred""" A_87 """Watchdog Timeout Alarm""" A_88 """Time Reset Occurred""" A_89 """Test Mode""" A_90 """Load Control""" A_91 """Added Interval (Data Correction)""" A_92 """Replaced Interval (Data Correction)""" A_93 """Estimated Interval (Data Correction)""" A_94 """Pulse Overflow Alarm""" A_95 """Data Out Of Limits""" A_96 """Excluded Data""" A_97 """Parity Alarm""" A_98 """Energy Type (Register Changed)""" A_99 """Incorrect Meter Multiplier""" A_100 """Temporarily Connection Point Unmetered""" A_101 """Customer Bypass""" A_102 """Network Bypass""" A_103 """Transposed Channel""" A_104 """Transposed Channel - UoM Correction""" A_105 """Transposed Channel - Reverse Polarity""" A_106 """Transposed Meter""" A_107 """Network Bypass Extreme Weather""" A_108 """Defined Load Method""" A_109 } """Enumeration of app session types.""" enum AppSessionOutcomeCategories { SUCCESS INTERESTED QUOTED_NO_SWITCH QUOTED_NO_SALE PITCH_NO_QUOTE NO_PITCH CALLBACK UNSUCCESSFUL DONT_CALL_AGAIN PSR_REGISTERED SMART_METER_REGISTERED CONSUMER_APP_DOWNLOAD VULNERABILITY_PROJECT TRANSFERRED UNKNOWN OTHER SWITCHED SWITCHED_BUSINESS SWITCHED_CREDIT_CHECK_WAIVER SWITCHED_FIRST_CONTACT SWITCHED_CALLBACK SWITCHED_SMART_PRODUCT QUOTED_NO_SALE_QUOTE_EMAILED QUOTED_NO_SALE_PRICE QUOTED_NO_SALE_EXIT_FEES QUOTED_NO_SALE_NO_EMAIL QUOTED_NO_SALE_ISSUE_BANK_DETAILS QUOTED_NO_SALE_ADVANCED_PAYMENT QUOTED_NO_SALE_STANDING_CHARGE QUOTED_NO_SALE_PAPER_BILLS QUOTED_NO_SALE_MONTHLY_DD QUOTED_NO_SALE_CREDIT_CHECK_ISSUE QUOTED_NO_SALE_WAIVER_WANTED QUOTED_NO_SALE_DEPOSIT QUOTED_NO_SALE_AUTOPAY QUOTED_NO_SALE_PREPAY QUOTED_NO_SALE_UNSURE_OF_CURRENT_CONTRACT QUOTED_NO_SALE_OTHER NO_PITCH_SWITCHED_RECENTLY NO_PITCH_VULNERABLE NO_PITCH_NO_D2D NO_PITCH_NOT_INTERESTED NO_PITCH_TPI_THIRD_PARTY PITCH_NO_QUOTE_SWITCHED_RECENTLY PITCH_NO_QUOTE_PRICE PITCH_NO_QUOTE_IN_CONTRACT PITCH_NO_QUOTE_NO_EMAIL PITCH_NO_QUOTE_NOT_INTERESTED PITCH_NO_QUOTE_ADVANCED_PAYMENT QUOTED_CALLBACK CALLBACK_PITCHED NO_ANSWER NOT_BILL_PAYER NOT_DECISION_MAKER BUSY MULTIPLE_PROPERTIES CALLBACK_COURTESY_CALL NO_COLD_CALLING SHELTERED_HOUSING NO_FIXED_ADDRESS OCCUPY_ACCOUNT OCCUPIER_NOT_BILL_PAYER OCCUPIER_NO_ANSWER OCCUPIER_REFUSED_TO_DISCUSS OCCUPIER_SUSPECTED_EMPTY_PROPERTY METER_READING METER_READING_UNABLE_TO_TAKE_READING METER_READING_NO_ANSWER ENERGY_HELP_VISIT_COMPLETED ENERGY_HELP_VISIT_LEAFLET EBSS_VOUCHER_CHECK_IN WRONG_ADDRESS_SELECTED PREPAYMENT_METER EXISTING_CUSTOMER LEAD_GENERATION LEAD_GENERATION_EV LEAD_GENERATION_EJ LEAD_GENERATION_EJ_LITE LEAD_GENERATION_BUSINESS LEAD_GENERATION_SOLAR LEAD_GENERATION_HEAT_PUMP PROPERTY_INELIGIBLE ELECTRIC_JUICE_SWITCH ELECTRIC_JUICE_SWITCH_LITE ELECTRIC_JUICE_NOT_INTERESTED PPM_REQUESTED COT_PROVEN COT_NO_PROOF COS PAID_IN_FULL PAYMENT_PLAN PAID_PARTIAL PAID_REDUCED_SETTLEMENT INSOLVENCY EXHAUSTED_NO_CONTACT EXHAUSTED_CONTACT UNABLE_TO_LOCATE EMPTY DEMOLISHED UNABLE_TO_TRACE PRISON VULNERABLE DECEASED WITHDRAWN QUERY } """An enumeration.""" enum AppSessionOutcomeCategory { """Success""" SUCCESS """Interested""" INTERESTED """Quoted No Switch""" QUOTED_NO_SWITCH """Quoted No Sale""" QUOTED_NO_SALE """Pitch No Quote""" PITCH_NO_QUOTE """No Pitch""" NO_PITCH """Callback""" CALLBACK """Unsuccessful""" UNSUCCESSFUL """Dont Call Again""" DONT_CALL_AGAIN """Psr Registered""" PSR_REGISTERED """Smart Meter Registered""" SMART_METER_REGISTERED """Consumer App Download""" CONSUMER_APP_DOWNLOAD """Vulnerability Project""" VULNERABILITY_PROJECT """Transferred""" TRANSFERRED """Unknown""" UNKNOWN """Other""" OTHER """Switched""" SWITCHED """Switched Business""" SWITCHED_BUSINESS """Switched Credit Check Waiver""" SWITCHED_CREDIT_CHECK_WAIVER """Switched First Contact""" SWITCHED_FIRST_CONTACT """Switched Callback""" SWITCHED_CALLBACK """Switched Smart Product""" SWITCHED_SMART_PRODUCT """Quoted No Sale Quote Emailed""" QUOTED_NO_SALE_QUOTE_EMAILED """Quoted No Sale Price""" QUOTED_NO_SALE_PRICE """Quoted No Sale Exit Fees""" QUOTED_NO_SALE_EXIT_FEES """Quoted No Sale No Email""" QUOTED_NO_SALE_NO_EMAIL """Quoted No Sale Issue Bank Details""" QUOTED_NO_SALE_ISSUE_BANK_DETAILS """Quoted No Sale Advanced Payment""" QUOTED_NO_SALE_ADVANCED_PAYMENT """Quoted No Sale Standing Charge""" QUOTED_NO_SALE_STANDING_CHARGE """Quoted No Sale Paper Bills""" QUOTED_NO_SALE_PAPER_BILLS """Quoted No Sale Monthly Dd""" QUOTED_NO_SALE_MONTHLY_DD """Quoted No Sale Credit Check Issue""" QUOTED_NO_SALE_CREDIT_CHECK_ISSUE """Quoted No Sale Waiver Wanted""" QUOTED_NO_SALE_WAIVER_WANTED """Quoted No Sale Deposit""" QUOTED_NO_SALE_DEPOSIT """Quoted No Sale Autopay""" QUOTED_NO_SALE_AUTOPAY """Quoted No Sale Prepay""" QUOTED_NO_SALE_PREPAY """Quoted No Sale Unsure Of Current Contract""" QUOTED_NO_SALE_UNSURE_OF_CURRENT_CONTRACT """Quoted No Sale Other""" QUOTED_NO_SALE_OTHER """No Pitch Switched Recently""" NO_PITCH_SWITCHED_RECENTLY """No Pitch Vulnerable""" NO_PITCH_VULNERABLE """No Pitch No D2D""" NO_PITCH_NO_D2D """No Pitch Not Interested""" NO_PITCH_NOT_INTERESTED """No Pitch Tpi Third Party""" NO_PITCH_TPI_THIRD_PARTY """Pitch No Quote Switched Recently""" PITCH_NO_QUOTE_SWITCHED_RECENTLY """Pitch No Quote Price""" PITCH_NO_QUOTE_PRICE """Pitch No Quote In Contract""" PITCH_NO_QUOTE_IN_CONTRACT """Pitch No Quote No Email""" PITCH_NO_QUOTE_NO_EMAIL """Pitch No Quote Not Interested""" PITCH_NO_QUOTE_NOT_INTERESTED """Pitch No Quote Advanced Payment""" PITCH_NO_QUOTE_ADVANCED_PAYMENT """Quoted Callback""" QUOTED_CALLBACK """Callback Pitched""" CALLBACK_PITCHED """No Answer""" NO_ANSWER """Not Bill Payer""" NOT_BILL_PAYER """Not Decision Maker""" NOT_DECISION_MAKER """Busy""" BUSY """Multiple Properties""" MULTIPLE_PROPERTIES """Callback Courtesy Call""" CALLBACK_COURTESY_CALL """No Cold Calling""" NO_COLD_CALLING """Sheltered Housing""" SHELTERED_HOUSING """No Fixed Address""" NO_FIXED_ADDRESS """Occupy Account""" OCCUPY_ACCOUNT """Occupier Not Bill Payer""" OCCUPIER_NOT_BILL_PAYER """Occupier No Answer""" OCCUPIER_NO_ANSWER """Occupier Refused To Discuss""" OCCUPIER_REFUSED_TO_DISCUSS """Occupier Suspected Empty Property""" OCCUPIER_SUSPECTED_EMPTY_PROPERTY """Meter Reading""" METER_READING """Meter Reading Unable To Take Reading""" METER_READING_UNABLE_TO_TAKE_READING """Meter Reading No Answer""" METER_READING_NO_ANSWER """Energy Help Visit Completed""" ENERGY_HELP_VISIT_COMPLETED """Energy Help Visit Leaflet""" ENERGY_HELP_VISIT_LEAFLET """Ebss Voucher Check In""" EBSS_VOUCHER_CHECK_IN """Wrong Address Selected""" WRONG_ADDRESS_SELECTED """Prepayment Meter""" PREPAYMENT_METER """Existing Customer""" EXISTING_CUSTOMER """Lead Generation""" LEAD_GENERATION """Lead Generation Ev""" LEAD_GENERATION_EV """Lead Generation Ej""" LEAD_GENERATION_EJ """Lead Generation Ej Lite""" LEAD_GENERATION_EJ_LITE """Lead Generation Business""" LEAD_GENERATION_BUSINESS """Lead Generation Solar""" LEAD_GENERATION_SOLAR """Lead Generation Heat Pump""" LEAD_GENERATION_HEAT_PUMP """Property Ineligible""" PROPERTY_INELIGIBLE """Electric Juice Switch""" ELECTRIC_JUICE_SWITCH """Electric Juice Switch Lite""" ELECTRIC_JUICE_SWITCH_LITE """Electric Juice Not Interested""" ELECTRIC_JUICE_NOT_INTERESTED """Ppm Requested""" PPM_REQUESTED """Cot Proven""" COT_PROVEN """Cot No Proof""" COT_NO_PROOF """Cos""" COS """Paid In Full""" PAID_IN_FULL """Payment Plan""" PAYMENT_PLAN """Paid Partial""" PAID_PARTIAL """Paid Reduced Settlement""" PAID_REDUCED_SETTLEMENT """Insolvency""" INSOLVENCY """Exhausted No Contact""" EXHAUSTED_NO_CONTACT """Exhausted Contact""" EXHAUSTED_CONTACT """Unable To Locate""" UNABLE_TO_LOCATE """Empty""" EMPTY """Demolished""" DEMOLISHED """Unable To Trace""" UNABLE_TO_TRACE """Prison""" PRISON """Vulnerable""" VULNERABLE """Deceased""" DECEASED """Withdrawn""" WITHDRAWN """Query""" QUERY } """An enumeration.""" enum AppSessionOutcomeType { """Sale""" SALE """Business Sale""" BUSINESS_SALE """Occupier""" OCCUPIER """Meter Reading""" METER_READING """Electroverse Lead""" ELECTROVERSE_LEAD """Electroverse""" ELECTROVERSE """Ev Lead""" EV_LEAD """Energy Help""" ENERGY_HELP """Solar Lead""" SOLAR_LEAD """Ev Charger""" EV_CHARGER """Heat Pump Lead""" HEAT_PUMP_LEAD """Intelligent Octopus Signup""" INTELLIGENT_OCTOPUS_SIGNUP """Credit""" CREDIT """Credit Business""" CREDIT_BUSINESS """Business Lead Half Hourly""" BUSINESS_LEAD_HALF_HOURLY """Unknown""" UNKNOWN """Lead""" LEAD """Business Lead""" BUSINESS_LEAD """Electric Universe""" ELECTRIC_UNIVERSE """Energy Support""" ENERGY_SUPPORT } """An enumeration.""" enum AppSessionSalesMode { """Door""" DOOR """Venue""" VENUE } """Enumeration of app session types.""" enum AppSessionTypeChoices { SALE BUSINESS_SALE OCCUPIER METER_READING ELECTROVERSE_LEAD ELECTROVERSE EV_LEAD ENERGY_HELP SOLAR_LEAD EV_CHARGER HEAT_PUMP_LEAD INTELLIGENT_OCTOPUS_SIGNUP CREDIT CREDIT_BUSINESS BUSINESS_LEAD_HALF_HOURLY UNKNOWN LEAD BUSINESS_LEAD ELECTRIC_UNIVERSE ENERGY_SUPPORT } """An enumeration.""" enum AppliedTo { INVOICE USAGE SERVICE_CHARGE CONTROLLED_LOAD } """An enumeration.""" enum AppointmentChoices { EMPTY T0800_1300 T0900_1400 T1000_1500 T1100_1600 T1200_1700 T1300_1800 } enum AssociateArchivedRecordingResultStatus { SUCCESS SKIPPED ERROR } """An enumeration.""" enum AusGasMeterType { """Gas""" GAS """Hot Water""" HOT_WATER } """Possible phone number types.""" enum AustralianTelephoneServiceType { """Fixed Voice""" FIXED_VOICE """Mobile Voice""" MOBILE_VOICE """Fax""" FAX """Modem""" MODEM """Pager""" PAGER } """An enumeration.""" enum BandCategory { STANDING_CHARGE CONSUMPTION_CHARGE DEMAND_CHARGE CAPACITY_CHARGE EXCESS_CAPACITY_CHARGE GENERATION_CREDIT DISCOUNT_CREDIT ADDITIONAL_CHARGE ADDITIONAL_CREDIT ADDON DISTANCE_CHARGE PLACEHOLDER UNKNOWN } """The type of a bespoke rate.""" enum BespokeRateItemTypeEnum { PRODUCT_RATE SHARED_RATE } enum BillTypeEnum { STATEMENT INVOICE CREDIT_NOTE PRE_KRAKEN COLLECTIVE } """Billing frequency for billing triggers.""" enum BillingTriggerFrequency { DAILY MONTHLY ANNUALLY } """Billing trigger operation types.""" enum BillingTriggerOperationType { CHARGE_TARGET CHARGE_TARGET_AND_ISSUE_INVOICE CHARGE_TARGET_AND_ISSUE_STATEMENT ISSUE_STATEMENT_FOR_TARGET ISSUE_INVOICE_FOR_TARGET } """Billing trigger target types.""" enum BillingTriggerTargetType { CHARGING_LEDGER ACCOUNT PORTFOLIO } enum BillsOrderBy { FROM_DATE_DESC ISSUED_DATE_DESC } """An enumeration.""" enum BrandChoices { """Origin.""" ORIGIN """Origin Zero.""" ORIGIN_ZERO """First Energy.""" FIRST_ENERGY } enum BusinessNumberTypeEnum { ABN ACN UNKNOWN MISSING } """An enumeration.""" enum BusinessTypeChoices { NONE SOLE_TRADER LTD PTY_LTD PARTNERSHIP CHARITY PLC LLP TRUST TRADING_AS GOVERNMENT NON_PROFIT CHURCH HOMEOWNER_ASSOCIATION TBD } """Available business account type options (e.g., sole trader, limited company, partnership, charity).""" enum BusinessTypeOptions { """A business account where the company type is sole trader.""" SOLE_TRADER """A business account where the company type is limited.""" LIMITED """A business account where the company type is proprietary limited.""" PROPRIETARY_LIMITED_COMPANY """A business account where the company type is partnership.""" PARTNERSHIP """A business account where the company type is charity.""" CHARITY """A business account where the company type is public limited.""" PUBLIC_LIMITED_COMPANY """A business account where the company type is limited liability partnership.""" LIMITED_LIABILITY_PARTNERSHIP """A business account where the company type is a trust.""" TRUST """A business account where the company has a trading name to carry out its business activities.""" TRADING_AS """A business account for a government institution.""" GOVERNMENT """A business account for a non-profit organisation.""" NON_PROFIT """A business account for a church or other religious organisation.""" CHURCH """A business account for a homeowner association or similar community group.""" HOMEOWNER_ASSOCIATION """A business account where the company type is to be determined.""" TO_BE_DETERMINED } enum ButtonStyle { PRIMARY SECONDARY } enum ButtonVariance { FILLED OUTLINED TEXT_ONLY } """The market participant role for the C4 request.""" enum C4RequestRoleType { SUPPLIER LOCAL_NETWORK_SERVICE_PROVIDER PREMISES_NETWORK_SERVICE_PROVIDER METERING_COORDINATOR METERING_DATA_PROVIDER METERING_PROVIDER METERING_PROVIDER_COLLECTION RETAILER_OF_LAST_RESORT LOCAL_RETAILER } """ A sub-state grouping of postcodes that generally aligns with gas distribution areas. Origin want the prices for unmetered gas and embedded hot water markets to reflect the costs of the underlying gas market that ultimately serves them. Whilst there is already a concept of pricing zones within the aus gas market we have decided to introduce duplication and redefine the concept within CES for the following reasons: a) To find the pricing zone of an embedded water or unmetered gas market using the existing definitions we would need to know the distributor for the parent gas meter. Retrieving this by traversing the EmbeddedNetwork relationships querying the gas market would introduce an awkward cross market dependency. b) Pricing zones are finite and fairly static so it is simple enough to save this attribute on the embedded hot water and unmetered gas meters directly. We could also store the distributor information and create similar lookup tables for the pricing zone but this introduces more work and maintenance for little benefit. c) It is a quicker solution for the Origin migration that should be easy to throw out and replace with something more dynamic at a later date if required. """ enum CESPricingZone { ACTEWAGL ADELAIDE AGLNSW ALBURY BALGRAFT BRISBANE BRISNORTH DARWIN MIDWSOUTHW MURYVALLEY OEMETRO OENORTH OESTHEAST SEQLD TWEEDHEADS } """Lifecycle status of a call recording transcription.""" enum CallTranscriptionStatus { CREATED IN_PROGRESS FAILED COMPLETED DELETED } """Whether a transcription file is the redacted or unredacted variant.""" enum CallTranscriptionType { REDACTED UNREDACTED } """The status of the campaign item.""" enum CampaignItemStatus { UNASSIGNED SELECTED_FOR_CALLING ASSIGNED IN_PROGRESS COMPLETE REMOVED } """ The status of the campaign. Indicates whether calls can be made for items in the campaign or not. """ enum CampaignStatus { ACTIVE INACTIVE } """An enumeration.""" enum CardEnumType { CREDIT DEBIT PREPAID } """The payment network that processes card transactions.""" enum CardPaymentNetwork { MASTERCARD VISA AMEX JCB DISCOVER DANKORT } """An enumeration.""" enum CardSchemeEnumType { MASTERCARD VISA AMEX JCB DISCOVER DANKORT } """The type of card.""" enum CardType { CREDIT DEBIT PREPAID } """Status of a catalog component (offering, product, etc.).""" enum CatalogComponentStatus { DRAFT ACTIVE EXPIRED AWAITING_APPROVAL } """Type of product (e.g., supply, goods).""" enum CatalogProductTypeEnum { SUPPLY GOODS } enum CentrepayBenefitGroupEnum { """ABSTUDY""" ABY """Carer Allowance""" CDA """Family Tax Benefit""" FTB """Mobility Allowance""" MOB """JobSeeker Payment, Youth Allowance, Austudy""" NSS """Age Pension, Disability Support Pension""" PEN """Pension Education Supplement""" PES """Parenting Payment Partnered""" PGA } enum CentrepayChangeStatusEnum { """Pending Creation""" CREATING """Pending Change""" CHANGING """Pending Cancellation""" CANCELLING } enum CentrepayServiceReasonEnum { """Electricity""" ELE """Gas""" GAS } """An enumeration.""" enum ChangeOfSupplierStatusOptions { """Initiation is the first status of a new change of supplier request. During this status, the initiating participant send an appropriate change reason code to MSATS. MSATS will then validate the change request prior to changing the status to ```PENDING_VALIDATION``` status.""" INITIATED """The Pending Validation status commences after the Change Request has passed initial validation for entry into MSATS. However, not all the data that is required to initiate the transaction may be present in MSATS. If mandatory data is missing from the Change Request, the Change Request will be Rejected. If the missing data is for the NMI Master Record, a Data Request will be sent to the nominated Participant, and MSATS will check for the receipt of that data. There is no time limit imposed by MSATS for the provision of this data, however, the Participant that receives the Data Request must respond in a reasonable time. The Change Request will be approved only after all required data has been submitted.""" PENDING_VALIDATION """ The Rejected status occurs where a Change Request has failed validation. This can occur: - During the validation of a Change Request whilst it is at the ```PENDING_VALIDATION``` status; or - At the time of completion of the Change Request (in rare circumstances where a change to some other data made after this Change Request was submitted has now made this change invalid). When a transaction has been Rejected, all Participants associated with the transaction will be notified in accordance with the Change Request Status Notification Rules. """ REJECTED """The Requested status is where a transaction has been validated, i.e. there is no missing data. Notifications of the Requested transaction are sent to the relevant Participants. The Objection Logging Period and Objection Clearing Periods have been identified. Any Objections received are validated against the Objection Rules or no Objections have been submitted.""" REQUESTED """The Objected status occurs where one or more Objections have been received. Notifications of the Objections are sent to the relevant parties. This includes details of the Objections and whether the transaction was already being Objected to. When an Objection is withdrawn, the relevant parties will be notified of the details of the withdrawn Objection. When the last Objection is withdrawn, the transaction status changes back to ```REQUESTED```, unless the Objection Logging Period has expired, in which case it will move to Pending status. If the Objection Clearing Period has expired and an Objection that is subject to the Objection Logging Period has not been withdrawn the status will be changed to ```CANCELLED```.""" OBJECTED """The Pending status is where no Objections have been received, or all Objections have been withdrawn and the Objection period has passed. The transaction is waiting for the change date to be reached. If the Proposed Change Date is reached and all required data is present, the status will change to ```COMPLETED```. The status will remain ```PENDING``` whilst any required data remains outstanding or an Objection that is not subject to the Objection Logging Period is not raised. Notifications are sent to the relevant Participants in accordance with the Change Request Status Notification Rules.""" PENDING """The Completed status occurs where the Objection Logging Period has passed, all required data is present in MSATS and the Proposed Change Date has been reached or is passed. Notifications are sent to the relevant Participants in accordance with the Change Request Status Notification Rules.""" COMPLETED """ The Cancelled status occurs where: - Not all Objections have been withdrawn at expiry of the Objection Clearing Period; or - The initiator of the Change Request has withdrawn the transaction. When a Change Request is Cancelled, notifications are sent to the relevant Participants in accordance with the Change Request Status Notification Rules. """ CANCELLED """The meterpoint has been enrolled but the change request has not been sent yet (as the cooling off period is still active)""" PRE_REGISTRATION """The enrolment was started and then either the customer or a staff member has withdrawn it.""" WITHDRAWN """If the account is withdrawn after the change request is sent, the meter points will have this status until we get a response to the request to withdraw.""" CANCELLATION_REQUESTED """A raised objection was withdrawn and the change request will continue.""" OBJECTION_WITHDRAWN } """An enumeration.""" enum ChangeRequestStatus { """Initiated""" INITIATED """Requested""" REQUESTED """Pending Validation""" PENDING_VALIDATION """Pending""" PENDING """Rejected""" REJECTED """Objected""" OBJECTED """Completed""" COMPLETED """Cancelled""" CANCELLED } """The set of channels that messages can be sent through.""" enum Channel { EMAIL SMS POST ANDROID_PUSH_NOTIFICATION IOS_PUSH_NOTIFICATION } enum CheckResultStatus { PASSED WARNING FAILED } enum CollectDepositStatusChoices { APPROVED CLEARED CANCELLED HELD_FOR_REVIEW FAILED PENDING REQUESTED SCHEDULED NONE } """An enumeration.""" enum CollectionCampaignType { DEBT_COLLECTION_AGENCY CREDIT_DEFAULT_LISTING DEBT_SALE LEGAL } enum CollectionMethod { CARD DIRECT_DEBIT } """Associated item type choices.""" enum CollectionProcessAssociatedItemType { TRANSACTIONAL_MESSAGING_TRIGGER CONTRACT_TERMINATION LEAVE_SUPPLIER_PROCESS TRANSACTIONAL_MESSAGING_PUBLISHING_ERROR } """Type of events that can occur in a collection process.""" enum CollectionProcessEventTypeEnum { REACTIVATION_PENDING REACTIVATION_COMPLETED TERMINATED_WITHOUT_REACTIVATION } """Options for Collection Process Record Completion types. `ENDED`: ended`WITHDRAWN`: withdrawn`CANCELLED`: cancelled`NEVER_ACTIONED`: never_actioned""" enum CollectionProcessRecordCompletionTypeChoices { ENDED WITHDRAWN CANCELLED NEVER_ACTIONED } """An enumeration.""" enum CollectionProcessRecordStatusTypes { PENDING ACTIVE COMPLETE } """Collection process step status choices.""" enum CollectionProcessStepStatus { COMPLETED SKIPPED PENDING } """An enumeration.""" enum CollectionProcessTypes { ACCOUNT BILLING_DOCUMENT LEDGER } """The method the account has specified they prefer we contact them""" enum CommsDeliveryPreference { EMAIL POSTAL_MAIL } """Communication delivery preference for family issues input.""" enum CommsDeliveryPreferenceEnum { EMAIL POST } """Preferred communication method.""" enum CommunicationMethods { LANDLINE MOBILE EMAIL POST } """Source of the complaint.""" enum ComplaintSourceChoices { TELEPHONE ONLINE PERSON POST SOCIAL_MEDIA CUSTOMER_SURVEY } """An enumeration.""" enum ConcessionCardType { CENTRELINK_PENSIONER CENTRELINK_HEALTH_CARE VETERANS_AFFAIRS_PENSIONER VETERANS_AFFAIRS_DVA_GOLD VETERANS_AFFAIRS_DVA_GOLD_WW VETERANS_AFFAIRS_DVA_GOLD_TPI VETERANS_AFFAIRS_DVA_GOLD_EDA QUEENSLAND_SENIORS_CARD ASYLUM_SEEKER OTHER SA_GENERIC REPATRIATION_HEALTH_CARE_CARD ACT_SERVICES_ACCESS_CARD_IMMI_CARD } """An enumeration.""" enum ConnectionPeriodStatus { """Connected""" CONNECTED """Disconnected""" DISCONNECTED } """The possible sources of a consent event.""" enum ConsentEventSource { CONSUMER_SITE SUPPORT_SITE API_SITE THIRD_PARTY_VENDOR ONBOARDING MIGRATION DATA_IMPORT COMMAND_JOB } """The possible values for a consent.""" enum ConsentValue { ACCEPTED REJECTED UNKNOWN PENDING } """An enumeration.""" enum ConsumptionGranularity { QUARTER_HOURLY HALF_HOURLY DAILY MONTHLY } """An enumeration.""" enum ConsumptionGroupings { QUARTER_HOUR HALF_HOUR HOUR DAY WEEK MONTH QUARTER } """An enumeration.""" enum ConsumptionUnit { kWh MJ L Smc cubicMetres } """An enumeration.""" enum ContractActivityTypeOptions { ALL_ACTIVITY_TYPES CONTRACT_TERMINATION_STARTED CONTRACT_VARIATION_STARTED } """The status of the contract journey.""" enum ContractJourneyStatus { IN_PROGRESS STALLED COMPLETED CANCELLED ERRORED } """The type of the contract journey.""" enum ContractJourneyType { CONTRACT_CREATION CONTRACT_TERMINATION CONTRACT_VARIATION } """The status of the contract.""" enum ContractStatus { REVOKED ACTIVE EXPIRED RESCINDED TERMINATED INACTIVE JOURNEY_IN_PROGRESS PENDING } """The available reasons for closing a conversation.""" enum ConversationClosedReasonChoices { AGENT_CLOSED CUSTOMER_CLOSED STALE INACTIVE } """The customer asset types that can be created.""" enum CustomerAssetTypeEnum { EV EVSE HEAT_PUMP INVERTER SMART_METER STORAGE_HEATER THERMOSTAT } """Source of the customer feedback.""" enum CustomerFeedbackSourceChoices { FEEDBACK_SOURCE_PHONE_CALL_FOLLOW_UP FEEDBACK_SOURCE_EMAIL_FOLLOW_UP FEEDBACK_SOURCE_TRUSTPILOT FEEDBACK_SOURCE_MANUAL FEEDBACK_SOURCE_LOGIN_FOLLOW_UP FEEDBACK_SOURCE_CONSUMER_SITE } """Salutation options.""" enum CustomerSalutation { EMPTY MISS MR MRS MS DR PROF REV FR LADY SIR SR } """The verification types available.""" enum CustomerVerificationType { """Email.""" EMAIL """SMS.""" SMS """Manual.""" MANUAL """Other.""" OTHER } """The type of day to consider for bill due dates.""" enum DayType { WORKING CALENDAR } """An enumeration.""" enum DebtCollectionProceedingStopReason { """Bankrupt""" BANKRUPT """Deceased""" DECEASED """Gone away""" GONE_AWAY """In prison""" IN_PRISON """Negative trace""" NEGATIVE_TRACE """Paid in full""" PAID_IN_FULL """Process exhausted""" PROCESS_EXHAUSTED """Process exhausted - no contact""" PROCESS_EXHAUSTED_NO_CONTACT """Process exhausted - contact""" PROCESS_EXHAUSTED_CONTACT """Reduced settlement""" REDUCED_SETTLEMENT """Vulnerable""" VULNERABLE """Withdrawn""" WITHDRAWN """Write off""" WRITE_OFF """Payment arrangement""" PAYMENT_ARRANGEMENT """Payment plan agreed""" PAYMENT_PLAN_AGREED """Part payment""" PART_PAYMENT """PPM arrangement""" PPM_ARRANGEMENT """PPM requested""" PPM_REQUESTED """Arrears to client""" ARREARS_TO_CLIENT """High level complaint""" HIGH_LEVEL_COMPLAINT """Insolvencies dealing""" INSOLVENCIES_DEALING """Partial settlement""" PARTIAL_SETTLEMENT """PPM fitted""" PPM_FITTED """Refused to deal""" REFUSED_TO_DEAL """Live to final""" LIVE_TO_FINAL """COT / COS""" COT_COS """COS""" COS """COT proof seen""" COT_PROOF_SEEN """COT no proof""" COT_NO_PROOF """Enrolled in Error""" ENROLLED_IN_ERROR """Low balance""" LOW_BALANCE """Expired""" EXP """Unable to locate property""" UNABLE_TO_LOCATE_PROPERTY """Confirmed empty""" CONFIRMED_EMPTY """Demolished""" DEMOLISHED """Unable to trace""" UNABLE_TO_TRACE """Query""" QUERY } enum DeletePushNotificationBindingOutput { SUCCESSFUL FAILED } """An enumeration.""" enum DirectDebitInstructionStatus { """The instruction is active and can be used to take payments.""" ACTIVE """The instruction has not yet been set up.""" PROVISIONAL """The instruction could not be set up with the vendor.""" FAILED } """Origin of the change request, either inbound from external parties or outbound from kraken itself.""" enum DirectionChoices { INBOUND OUTBOUND } """Enum representing document accessibility preferences for an account.""" enum DocumentAccessibilityChoices { LARGE_PRINT BRAILLE AUDIO } """An enumeration.""" enum ElectricityAccumulationMeterReadingDirection { I E } """An enumeration.""" enum EmailFormats { TEXT HTML } """An enumeration.""" enum EmbeddedElectricityReadMethod { CHECK CALCULATED SCADA LIKE_DAY AVE_LIKE_DAY AGREED_REMOTE LINEAR_REMOTE ALTERNATIVE ZERO CHURN_CORRECTION PREVIOUS_YEAR_MRIM PREVIOUS_READ_MRIM REVISION_MRIM LINEAR_MRIM AGREED_MRIM AGREED_PRIOR_TO_FIRST_READ CUSTOMER_CLASS_MRIM ZERO_MRIM PREVIOUS_YEAR_BASIC PREVIOUS_READ_BASIC CUSTOMER_CLASS_BASIC AGREED_BASIC ADL REVISION_BASIC CUSTOMER_READ ZERO_BASIC RECALCULATION REVISED_TABLE REVISED_ALGORITHM AGREED_CALCULATED EXISTING_TABLE KRAKEN_INTERPOLATION KRAKEN_INTERPOLATION_PREVIOUS_YEAR KRAKEN_EXTRAPOLATION KRAKEN_ADL } """An enumeration.""" enum EmbeddedElectricityReadQuality { A E F N S V } """An enumeration.""" enum EmbeddedElectricityReadReason { FREE_TEXT_DESCRIPTION METER_EQUIPMENT_CHANGED EXTREME_WEATHER_CONDITIONS QUARANTINED_PREMISES DANGEROUS_DOG BLANK_SCREEN DEENERGISED_PREMISES UNABLE_TO_LOCATE_METER VACANT_PREMISES UNDER_INVESTIGATION UNABLE_TO_OPEN IN_WRONG_ROUTE LOCKED_PREMISES LOCKED_GATE LOCKED_METER_BOX OVERGROWN_VEGETATION NOXIOUS_WEEDS UNSAFE_LOCATION READ_LESS_THAN_PREVIOUS CONSUMER_WANTED DAMAGED_EQUIPMENT MAIN_SWITCH_OFF METER_SEALS_MISSING READER_ERROR SUBSTITUTED_DATA UNABLE_TO_LOCATE_PREMISES NEGATIVE_CONSUMPTION ROLR CT_VT_FAULT RELAY_DAMAGED METER_STOP_SWITCH_ON NOT_ALL_METERS_READ REENERGISED_WITHOUT_READINGS DEENERGISED_WITHOUT_READINGS METER_NOT_IN_HANDHELD TIMESWITCH_FAULTY LADDER_REQUIRED METER_UNDER_CHURN UNMARRIED_LOCK REVERSE_ENERGY_OBSERVED UNRESTRAINED_LIVESTOCK FAULT_METER_DISPLAY CHANNEL_ADDED_REMOVED POWER_OUTAGE METER_TESTING READINGS_FAILED_TO_VALIDATE EXTREME_WEATHER_HOT REFUSED_ACCESS DOG_ON_PREMISES WET_PAINT WRONG_TARIFF INSTALLATION_DEMOLISHED ACCESS_BLOCKED PESTS_IN_METER_BOX METER_BOX_DAMAGED DIALS_OBSCURED METER_OK_SUPPLY_FAILURE ILLEGAL_CONNECTION EQUIPMENT_TAMPERED NSRD_WINDOW_EXPIRED KEY_REQUIRED WRONG_KEY_PROVIDED TRANSFER ZERO_CONSUMPTION READING_EXCEEDS_SUBSTITUTE PROBE_REPORTS_TAMPERING PROBE_READ_ERROR RECALCULATED_BASED_ON_ACTUAL LOW_CONSUMPTION HIGH_CONSUMPTION CUSTOMER_READ COMMUNICATIONS_FAULT ESTIMATION_FORECAST NULL_DATA POWER_OUTAGE_ALARM SHORT_INTERVAL_ALARM LONG_INTERVAL_ALARM CRC_ERROR RAM_CHECKSUM_ERROR ROM_CHECKSUM_ERROR DATA_MISSING_ALARM CLOCK_ERROR_ALARM RESET_OCCURRED WATCHDOG_TIMEOUT_ALARM TIME_RESET_OCCURRED TEST_MODE LOAD_CONTROL ADDED_INTERVAL_DATA_CORRECTION REPLACED_INTERVAL_DATA_CORRECTION ESTIMATED_INTERVAL_DATA_CORRECTION PULSE_OVERFLOW_ALARM DATA_OUT_OF_LIMITS EXCLUDED_DATA PARITY_ERROR ENERGY_TYPE_REGISTER_CHANGED INCORRECT_METER_MULTIPLIER TEMPORARY_CONNECTION_POINT_UNMETERED CUSTOMER_BYPASS NETWORK_BYPASS TRANSPOSED_CHANNEL TRANSPOSED_CHANNEL_UOM_CORRECTION TRANSPOSED_CHANNEL_REVERSE_POLARITY TRANSPOSED_METER NETWORK_BYPASS_EXTREME_WEATHER DEFINED_LOAD_METHOD } """An enumeration.""" enum EmbeddedElectricityServiceOrderDeEnergisationReasonChoices { CUSTOMER_REQUESTED MOVE_OUT NON_PAYMENT_D_N_P UNAUTHORISED_USAGE_D_N_I ILLEGAL_USAGE NO_ACCESS SAFETY DEFECT SITE_WORKS BREACH_OF_CONTRACT OTHER } """An enumeration.""" enum EmbeddedElectricityServiceOrderSubTypeChoices { AFTER_DISCONNECTION_FOR_NON_PAYMENT CHECK_READ FINAL_READ LOCAL_METER_DISCONNECTION RECIPIENT_DISCRETION REMOTE PHYSICAL_VISIT } """An enumeration.""" enum EmbeddedElectricityServiceOrderTypeChoices { RE_ENERGISATION DE_ENERGISATION SPECIAL_READ MISCELLANEOUS } """An enumeration.""" enum EmbeddedWaterServiceOrderSubTypeChoices { SCHEDULED FINAL } """An enumeration.""" enum EmbeddedWaterServiceOrderTypeChoices { SPECIAL_READ } """An enumeration.""" enum EnergizationStatus { A D X G N } enum EstimatedReadingsStatus { BASED_ON_ESTIMATED_READINGS BASED_ON_ACTUAL_READINGS NOT_APPLICABLE NOT_SUPPORTED } """An enumeration.""" enum EventTypeChoices { ACCOUNT_CREATED ACCOUNT_UPDATED ACCOUNT_USER_CREATED ACCOUNT_USER_UPDATED ACCOUNT_USER_REMOVED FINAL_BILL } """An enumeration.""" enum ExpiringTokenScope { """Scope that enables account user to submit meter readings.""" SUBMIT_METER_READINGS """Scope that enables account user to submit customer feedback.""" SUBMIT_CUSTOMER_FEEDBACK """Scope that enables account user to book smart meter appointments.""" BOOK_SMART_METER_APPOINTMENTS """Scope that enables account user to update their smart meter interest.""" UPDATE_SMART_METER_INTEREST """Scope that enables account user to update their direct debit details.""" UPDATE_DIRECT_DEBIT """Edit Customer Marketing Preference""" EDIT_CUSTOMER_MARKETING_PREFERENCE """Scope that enables account user to join campaigns.""" JOIN_CAMPAIGNS """Scope that enables account user to join campaign events.""" JOIN_CAMPAIGN_EVENTS """Scope that enables account user to visit campaign dashboard.""" VIEW_CAMPAIGN_DASHBOARDS """Scope that enables account user to visit detailed property usage pages.""" VIEW_DETAILED_USAGE """Scope that enables account user to redeem loyalty points""" REDEEM_LOYALTY_POINTS """Scope that enables account user to generate a renewal quote and renew agreements.""" MANAGE_ACCOUNT_RENEWALS """Scope that enables account user to checkout a quote (validate terms & conds and provide a payment detail).""" CHECKOUT_QUOTE """Scope that enables account user to update their blackhole email address.""" UPDATE_BLACKHOLE_EMAIL """Scope that enables account user to update their blackhole email address without enabling access to account number.""" UPDATE_BLACKHOLE_EMAIL_NO_ACCOUNT_NUMBER """Update Sensitive Customer Information""" UPDATE_SENSITIVE_CUSTOMER_INFORMATION """Scope that enables account user to accept goods quotes and process goods purchases.""" MANAGE_GOODS_PURCHASES """Set Goods Purchase Sale Item Prices""" SET_GOODS_PURCHASE_SALE_ITEM_PRICES """Scope that enables account user to report a property move-out.""" REPORT_MOVE_OUT """Scope that enables account user to accept the terms and conditions for a product.""" ACCEPT_TERMS_AND_CONDITIONS """Scope that enables account user to do a self-serve product switch through the Dashboard.""" MANAGE_PRODUCT_SWITCH """Scope that enables account user to do a self-serve product switch with quotes.""" MANAGE_PRODUCT_SWITCH_WITH_QUOTES """Scope that enables account user to manage security deposit payments for business accounts.""" MANAGE_BUSINESS_SECURITY_DEPOSIT """Scope that enables user to send a loss objection for a change of supplier process.""" SEND_LOSS_OBJECTION_FOR_CHANGE_OF_SUPPLIER """Scope that enables the user to update information about themselves and their account.""" UPDATE_ACCOUNT_DETAILS """Scope that enables the user to cancel enrollment to a supplier.""" CANCEL_ENROLLMENT """Scope that grants access to view the account number.""" VIEW_ACCOUNT_NUMBER """Scope that grants ability to accept fit schedule.""" ACCEPT_FIT_SCHEDULE """Scope that grants access to amend payments.""" AMEND_PAYMENTS """Scope that grants ability to accept fit terms.""" ACCEPT_FIT_TERMS """Scope that grants ability to verify the customer details.""" VERIFY_CUSTOMER_DETAILS """Scope that enables user to review and accept a quote sent via an email link.""" ACCEPT_QUOTE """Scope that grants ability to submit fit readings for a meter.""" SUBMIT_FIT_METER_READINGS """Scope grants ability to access Change My Tariff journey without login""" ACCESS_CHANGE_MY_TARIFF_EXPIRING_LINK """Scope that enables account user to submit missing meter details.""" SUBMIT_MISSING_METER_DETAILS """Scope that enables the user to finalize their account setup.""" FINALIZE_ACCOUNT_SETUP """Scope that enables account user to escalate an Ink conversation to a team leader.""" ESCALATE_INK_CONVERSATION """Scope that enables account user to view and update low carbon tech orders.""" MANAGE_LCT_ORDERS } enum ExportPaymentMethodEnum { CHEQUE DIRECT_DEBIT } """Enum of allowable event type categories for external account events.""" enum ExternalAccountEventCategory { COMMUNICATIONS WEB MOBILE MESSAGING DEBT SALES SECURITY WORKFLOW } """ Enum of allowable content types for external account events. The content type field is used to determine how to display the content in the account event description. """ enum ExternalAccountEventContentType { PLAINTEXT LINK HTML S3 } """Enum of allowable event type subcategories for external account events.""" enum ExternalAccountEventSubCategory { TELEPHONE EMAIL SMS PRINT PUSH_NOTIFICATION SOCIAL_MEDIA FEEDBACK WHATSAPP CLICK_TO_CALL DUNNING THIRD_PARTY INTERNAL LIVE_CHAT PASSWORD_RESET_EMAIL FORCE_LOGOUT DENY_ACCESS UPDATED CREATED } """Valid field types for an extra detail on a quote configuration.""" enum ExtraDetailFieldType { STRING INTEGER FLOAT DECIMAL DATE DATETIME BOOLEAN } """ Stable GraphQL API enum for payment failure reasons. These values are decoupled from the domain FailureReason enum to maintain API stability. Note: KRAKEN_ERROR is intentionally excluded as it's internal-only. """ enum FailureReason { PAYMENT_INSTRUCTION_NOT_USABLE PAYER_DECEASED INSUFFICIENT_FUNDS ACTION_REQUIRED CUSTOMER_OBJECTION INSTITUTIONAL_OBJECTION INVALID_AMOUNT SUSPICIOUS INSUFFICIENT_NOTICE PAST_DATE BAD_TIMING VENDOR_SYSTEM_MALFUNCTION UNKNOWN } """The type of the field.""" enum FieldTypeChoices { STR INT FLOAT DATE DATETIME BOOL CHOICE MULTIPLE_CHOICE } """ Possible values for "flat or unit type" in an Australian address. Values allowed by the Australian Standard but not by aseXML are omitted. """ enum FlatOrUnitType { ANTENNA APARTMENT ATM BARBECUE BLOCK BOATSHED BUILDING BUNGALOW CAGE CARPARK CARSPACE CLUB COOLROOM COTTAGE DUPLEX FACTORY FLAT GARAGE HALL HOUSE KIOSK LEASE LOBBY LOFT LOT MAISONETTE MARINE_BERTH OFFICE PENTHOUSE REAR RESERVE ROOM SECTION SHED SHOP SHOWROOM SIGN SITE STALL STORE STRATA_UNIT STUDIO SUBSTATION SUITE TENANCY TOWER TOWNHOUSE UNIT VAULT VILLA WARD WAREHOUSE WORKSHOP } """ Possible values for an Australian "floor or level type". Drawn from the AS4590 standard. """ enum FloorOrLevelType { BASEMENT FLOOR GROUND_FLOOR LEVEL LOWER_GROUND MEZZANINE LOWER_LEVEL OBSERVATION_DECK PARKING PENTHOUSE PLATFORM PODIUM ROOFTOP SUB_BASEMENT UPPER_GROUND_FLOOR LOBBY } """An enumeration.""" enum FormType { """Covid-19 Financial Energy Assessment""" COVID_19_FINANCIAL_ENERGY_ASSESSMENT """Covid-19 Gas Prices Financial Energy Assessment""" COVID_19_GAS_PRICES_FINANCIAL_ENERGY_ASSESSMENT } """The type of the fulfilment source.""" enum FulfilmentSourceType { UNKNOWN CREDIT PAYMENT CHARGE } """The status of the funnel.""" enum FunnelStatusChoices { DRAFT ACTIVE DEPRECATED } """The type of the funnels to get the schema for.""" enum FunnelTypeChoices { LEAD OPPORTUNITY } """An enumeration.""" enum GasEnergizationStatus { Registered Commissioned Decommissioned Deregistered Unclaimed } """An enumeration.""" enum GasMeterInstallationType { """Master Meter""" MASTER_METER """Sub Meter""" SUB_METER """Ordinary""" ORDINARY } """An enumeration.""" enum GasMeterMeasurementUnit { """Metric""" METRIC """Imperial""" IMPERIAL } """An enumeration.""" enum GasMeterReadFrequency { """Bi Monthly""" BI_MONTHLY """Daily""" DAILY """Monthly""" MONTHLY """Quarterly""" QUARTERLY } """An enumeration.""" enum GasMeterStatus { """Turned On""" TURNED_ON """Turned Off""" TURNED_OFF """Plugged""" PLUGGED """No Meter""" NO_METER """Trailer Ac""" TRAILER_AC """No Reg""" NO_REG } """An enumeration.""" enum HardshipAgreementExitReason { """Initial payment plan not established""" INITIAL_PAYMENT_PLAN_NOT_ESTABLISHED """Customer request""" CUSTOMER_REQUEST """Payment plan broken for non-payment""" PAYMENT_PLAN_BROKEN_FOR_NON_PAYMENT """Payment plan completed successfully""" PAYMENT_PLAN_COMPLETED_SUCCESSFULLY """Further payment plan not established""" FURTHER_PAYMENT_PLAN_NOT_ESTABLISHED """Account finalised""" ACCOUNT_FINALISED """Raised in Error""" RAISED_IN_ERROR """No Engagement""" NO_ENGAGEMENT """Credit or nil balance""" CREDIT_OR_NIL_BALANCE """Other""" OTHER } """An enumeration.""" enum HardshipAgreementHardshipEntryReason { """Customer self-identified as being in hardship""" SELF_IDENTIFIED """Financial counsellor or external agent referral""" EXTERNAL_REFERENCE """Retailer referral""" RETAILER_REFERRAL } """An enumeration.""" enum HardshipAgreementHardshipType { """Death in the family""" DEATH_IN_FAMILY """Household illness""" HOUSEHOLD_ILLNESS """Family violence""" FAMILY_VIOLENCE """Unemployment""" UNEMPLOYMENT """Reduced income""" REDUCED_INCOME """Other""" OTHER } """How the customer entered the hardship program.""" enum HardshipEntryReasonEnum { SELF_IDENTIFIED EXTERNAL_REFERENCE RETAILER_REFERRAL } """The reason for exiting the hardship agreement.""" enum HardshipExitReasonEnum { INITIAL_PAYMENT_PLAN_NOT_ESTABLISHED CUSTOMER_REQUEST PAYMENT_PLAN_BROKEN_FOR_NON_PAYMENT PAYMENT_PLAN_COMPLETED_SUCCESSFULLY FURTHER_PAYMENT_PLAN_NOT_ESTABLISHED ACCOUNT_FINALISED RAISED_IN_ERROR NO_ENGAGEMENT CREDIT_OR_NIL_BALANCE OTHER } """The type of hardship the account holder is experiencing.""" enum HardshipTypeEnum { DEATH_IN_FAMILY HOUSEHOLD_ILLNESS FAMILY_VIOLENCE UNEMPLOYMENT REDUCED_INCOME OTHER } """An enumeration.""" enum HazardType { """Asbestos Board""" ASBESTOS_BOARD """Asbestos Fuse""" ASBESTOS_FUSE """Customer Caution""" CUSTOMER_CAUTION """Dog""" DOG """Electric Fence""" ELECTRIC_FENCE """Electrical Safety Issue""" ELECTRICAL_SAFETY_ISSUE """Customer Reports No Hazard""" CUSTOMER_REPORTS_NO_HAZARD """Not Known""" NOT_KNOWN } """An enumeration.""" enum InkCommunicationChannel { EMAIL SMS POST GENERIC_API LIVE_CHAT } enum InkConversationStatus { OPEN OPEN_NEW OPEN_CUSTOMER_REPLIED OPEN_REMINDED SNOOZED CLOSED } enum InkMessageDeliveryStatus { PENDING SENT DELIVERED FAILED OUTSIDE_REPLY_WINDOW READ } enum InkMessageDirection { INBOUND OUTBOUND } """An enumeration.""" enum InstallationType { SERVICED_HOT_WATER BULK_HOT_WATER } """The based unit of frequency at which payments are to be taken for instalment schedules.""" enum InstalmentPeriodEnum { WEEKLY MONTHLY YEARLY } """An enumeration.""" enum IntermediaryScheduleType { PAYMENT_HOLIDAY VARIABLE_SCHEDULE } """The frequency at which contributations are made""" enum Interval { MONTHLY QUARTERLY } """The reason a payment method was invalidated.""" enum InvalidationReason { AUTHORIZATION_REVOKED CUSTOMER_OBJECTION EXPIRED INVALID_DETAILS INSTRUCTION_NOT_USABLE PAYER_DECEASED } """An enumeration.""" enum JobEnquiryCodeChoices { ATTACH_LOCKS_OR_PLUGS_TO_METER_FOR_DEBT NEW_CONNECTION_CLUSTER_DEVELOPMENT CRITICAL_SUPPLY_LOSS DISSATISFIED_CUSTOMER DISCONNECT_SERVICE_IN_STREET_FOR_DEBT ESCAPE_BAD ESCAPE_BAD_STREET EMERGENCY_CHANGE_OVER POLICE_AND_OR_FIRE_BRIGADE EMERGENCY ESCAPE_METER ESCAPE_OTHER STREET_EXCAVATIONS ESCAPE_STREET EXPLOSION FIRE_APPLIANCE FATALITIES FIRE_HOUSE FIRE_MAIN FIRE_METER FIRE_SERVICE METER_ALTER_POSITION METER_PRE_PAY_BROKEN METER_CHANGE METER_DAMAGED METER_DEFECTIVE_OPERATION_ORDINARY METER_FIX METER_FIX_FAULT_RECTIFIED METER_HIGH_ACCOUNT_COMPLAINT INTERVAL_METER_REMOVAL METER_REFIX METER_REFIX_AND_RELIGHT_KNOWN_GAS_SUPPLY METER_REMOVE METER_REFIX_AND_RELIGHT METER_RETAKE_AND_TEST METER_STOLEN METER_TURN_ON_CUT_OFF_IN_ERROR METER_TAP_JAMMED METER_TURN_ON OTHER REMOVE_LOCKS_PLUGS_TO_METER_FOR_DEBT RECONNECT_SERVICE_IN_STREET_AFTER_PAYMENT RELOCATE_SERVICE_ONLY_REQUEST BAD_SUPPLY SERVICE_CONNECTION_REQUEST SERVICE_DISCONNECTION_REQUEST NO_GAS PRACTICALLY_NO_GAS UPSTREAM_EQUIPMENT_FAULT UPGRADE_METER_SIZE_REQUEST UPGRADE_SERVICE_REQUEST ATTACH_METER_LOCK_FOR_BREACH_OF_CONTRACT ATTACH_METER_LOCK_FOR_CUSTOMER_REQUEST ATTACH_METER_LOCK_FOR_ILLEGAL_USE ATTACH_METER_LOCK_FOR_MOVE_OUT ATTACH_METER_LOCK_FOR_NON_PAYMENT ATTACH_METER_LOCK_FOR_UNAUTHORISED_USAGE DOWNGRADE_METER DISCONNECT_SERVICE_IN_STREET_FOR_NO_ACCESS DISCONNECT_SERVICE_IN_STREET_FOR_BREACH_OF_CONTRACT DISCONNECT_SERVICE_IN_STREET_FOR_ILLEGAL_USAGE DISCONNECT_SERVICE_IN_STREET_FOR_NON_PAYMENT DISCONNECT_SERVICE_IN_STREET_FOR_UNAUTHORISED_USAGE METER_REMOVE_FOR_BREACH_OF_CONTRACT METER_REMOVE_FOR_CUSTOMER_REQUEST METER_REMOVE_FOR_ILLEGAL_USAGE METER_REMOVE_FOR_NON_PAYMENT METER_REMOVE_FOR_UNAUTHORISED_USAGE PRESSURE_CHANGE_REQUEST INSTALL_TRAILER_AIR_COUPLING INSTALL_TRAILER_AIR_COUPLING_FOR_BREACH_OF_CONTRACT INSTALL_TRAILER_AIR_COUPLING_FOR_ILLEGAL_USAGE INSTALL_TRAILER_AIR_COUPLING_FOR_NON_PAYMENT INSTALL_TRAILER_AIR_COUPLING_FOR_UNAUTHORISED_USAGE REMOVE_TRAILER_AIR_COUPLING } """An enumeration.""" enum JurisdictionChoices { AUSTRALIAN_CAPITAL_TERRITORY NEW_SOUTH_WALES QUEENSLAND SOUTH_AUSTRALIA TASMANIA VICTORIA WESTERN_AUSTRALIA WAGGA_WAGGA_TAMWORTH NORTHERN_TERRITORY ISOLATED } """An enumeration.""" enum KrakenStatus { OFF_SUPPLY ON_SUPPLY GAINING LOSING LOST } """The roles a contact has in relation to their lead.""" enum LeadContactRoles { LEGAL_CONTACT COMMUNICATIONS_CONTACT OTHER_CONTACT ACCOUNT_HOLDER ACCOUNT_REPRESENTATIVE ACCOUNT_REPRESENTATIVE_WITH_AUTHORIZATION } """The type of the lead.""" enum LeadTypeChoices { BUSINESS DOMESTIC } """Indicates the type of a leave supplier process.""" enum LeaveSupplierSubType { MOVE_OUT DEMIGRATION DEBT_DISCONNECTION } """The status of the debt position for a ledger.""" enum LedgerDebtPositionStatus { OK UNAVAILABLE } """An enumeration.""" enum LifeSupportEquipment { """Oxygen Concentrator""" OXYGEN_CONCENTRATOR """Intermittent Peritoneal Dialysis Machine""" INTERMITTENT_PERITONEAL_DIALYSIS_MACHINE """Kidney Dialysis Machine""" KIDNEY_DIALYSIS_MACHINE """Chronic Positive Airways Pressure Respirator""" CHRONIC_POSITIVE_AIRWAYS_PRESSURE_RESPIRATOR """Crigler Najjar Syndrome Phototherapy Equipment""" CRIGLER_NAJJAR_SYNDROME_PHOTOTHERAPY_EQUIPMENT """Ventilator For Life Support""" VENTILATOR_FOR_LIFE_SUPPORT """Other""" OTHER } """An enumeration.""" enum LifeSupportPreferredContactMethod { """Postal Address""" POSTAL_ADDRESS """Site Address""" SITE_ADDRESS """Email Address""" EMAIL_ADDRESS """Phone""" PHONE } """An enumeration.""" enum LifeSupportStatus { """Registered - No Medical Confirmation""" REGISTERED_NO_MEDICAL_CONFIRMATION """Registered - Medical Confirmation""" REGISTERED_MEDICAL_CONFIRMATION """Deregistered - No Medical Confirmation""" DEREGISTERED_NO_MEDICAL_CONFIRMATION """Deregistered - Customer Advice""" DEREGISTERED_CUSTOMER_ADVICE """Deregistered - No Customer Response""" DEREGISTERED_NO_CUSTOMER_RESPONSE """None""" NONE } enum LifecycleProcessesSortOrder { ASC DESC } """The status of the lifecycle process.""" enum LifecycleSupplyPointProcessStatus { PENDING IN_PROGRESS COMPLETED PARTIALLY_COMPLETED NEEDS_ATTENTION STALLED INVALID FAILED ERRORED CANCELLATION_IN_PROGRESS CANCELLED PARTIALLY_CANCELLED CANCELLATION_STALLED CANCELLATION_ERRORED CANCELLATION_FAILED REVERSAL_IN_PROGRESS REVERSE_IN_PROGRESS REVERSED PARTIALLY_REVERSED REVERSAL_STALLED REVERSAL_ERRORED REVERSAL_FAILED UPDATE_IN_PROGRESS UPDATE_FAILED UPDATE_ERRORED UPDATE_STALLED } """An enumeration.""" enum LineItemCurrency { """Australian cents""" AUD_CENTS """Canadian cents""" CAD_CENTS """Danish øre""" DKK_ORE """Euro cents""" EURO_CENTS """Japanese yen""" JPN_YEN """New Zealand cents""" NZD_CENTS """Saudi halalas""" SAR_HALALAS """UK pence""" GBP_PENCE """USA cents""" USA_CENTS } enum LineLinkErrorType { NO_MATCHING_LINE_LINK ALREADY_LINKED } """An enumeration.""" enum LinkTrainingStatus { """Not applicable""" NOT_APPLICABLE """In training""" IN_TRAINING """Qualified""" QUALIFIED } """Types of objects that can have metadata associated with them.""" enum LinkedObjectType { ACCOUNT ACCOUNT_USER PROPERTY ACCOUNT_PROPERTY_EFFECTIVE_PERIOD } """The reason code associated with the loyalty points entry.""" enum LoyaltyPointAwardEntryReasonCode { POINTS_AWARDED_FOR_ACCOUNT_ACTION } """The reason code associated with the loyalty points entry.""" enum LoyaltyPointDeductionEntryReasonCode { POINTS_DEDUCTED_FOR_ACCOUNT_ACTION } """An enumeration.""" enum MDHXProcessType { """Mirn Discovery""" MIRN_DISCOVERY """Customer Transfer""" CUSTOMER_TRANSFER """Account Creation Notification""" ACCOUNT_CREATION_NOTIFICATION """Customer Details Notification""" CUSTOMER_DETAILS_NOTIFICATION """Customer Details Request""" CUSTOMER_DETAILS_REQUEST """Life Support Request""" LIFE_SUPPORT_REQUEST """Life Support Notification""" LIFE_SUPPORT_NOTIFICATION """Amend Site Access Details""" AMEND_SITE_ACCESS_DETAILS """Amend Site Address Details""" AMEND_SITE_ADDRESS_DETAILS """Missing Meter Data Notification""" MISSING_METER_DATA_NOTIFICATION """Meter Data Verify Request""" METER_DATA_VERIFY_REQUEST """Meter Read Input Notification""" METER_READ_INPUT_NOTIFICATION """Meter Data Notification""" METER_DATA_NOTIFICATION """Time Expired Meters""" TIME_EXPIRED_METERS """Mains Service Renewal""" MAINS_SERVICE_RENEWAL """Special Read""" SPECIAL_READ """Service Order""" SERVICE_ORDER """Standing Data Update Notification""" STANDING_DATA_UPDATE_NOTIFICATION } """An enumeration.""" enum MDHXStatusReason { """Request Received""" REQUEST_RECEIVED """Request Accepted""" REQUEST_ACCEPTED """Failed""" FAILED """Completed""" COMPLETED """Discovery Request Sent""" DISCOVERY_REQUEST_SENT """Multiple Mirns Found""" MULTIPLE_MIRNS_FOUND """Partial Standing Data Received""" PARTIAL_STANDING_DATA_RECEIVED """Standing Data Request Sent""" STANDING_DATA_REQUEST_SENT """Pre Registration""" PRE_REGISTRATION """Initiated""" INITIATED """Pending Validation""" PENDING_VALIDATION """Requested""" REQUESTED """Pending""" PENDING """Cancelled""" CANCELLED """Rejected""" REJECTED """Objected""" OBJECTED """Read Failure""" READ_FAILURE """Withdrawal Raised""" WITHDRAWAL_RAISED """ACN Received""" ACN_RECEIVED """CDN Request Sent""" CDN_REQUEST_SENT """Life Support Notification Sent""" LIFE_SUPPORT_NOTIFICATION_SENT """Life Support Notification Received""" LIFE_SUPPORT_NOTIFICATION_RECEIVED """Life Support Notification Received Acknowledgement Sent""" LIFE_SUPPORT_NOTIFICATION_RECEIVED_ACKNOWLEDGEMENT_SENT """Customer Details Request Received""" CUSTOMER_DETAILS_REQUEST_RECEIVED """Customer Details Request Notification Sent""" CUSTOMER_DETAILS_REQUEST_NOTIFICATION_SENT """Life Support Request Sent""" LIFE_SUPPORT_REQUEST_SENT """Life Support Request Notification Received""" LIFE_SUPPORT_REQUEST_NOTIFICATION_RECEIVED """Life Support Request Notification Received Acknowledgement Sent""" LIFE_SUPPORT_REQUEST_NOTIFICATION_RECEIVED_ACKNOWLEDGEMENT_SENT """Life Support Request Received""" LIFE_SUPPORT_REQUEST_RECEIVED """Life Support Request Received Acknowledgement Sent""" LIFE_SUPPORT_REQUEST_RECEIVED_ACKNOWLEDGEMENT_SENT """Life Support Request Notification Sent""" LIFE_SUPPORT_REQUEST_NOTIFICATION_SENT """Site Access Details Request Sent""" SITE_ACCESS_DETAILS_REQUEST_SENT """Site Access Details Received""" SITE_ACCESS_DETAILS_RECEIVED """Site Address Details Request Sent""" SITE_ADDRESS_DETAILS_REQUEST_SENT """Site Address Details Received""" SITE_ADDRESS_DETAILS_RECEIVED """Missing Meter Data Notification Sent""" MISSING_METER_DATA_NOTIFICATION_SENT """Meter Data Verify Request Sent""" METER_DATA_VERIFY_REQUEST_SENT """Meter Data Verify Response Received""" METER_DATA_VERIFY_RESPONSE_RECEIVED """Meter Read Input Sent""" METER_READ_INPUT_SENT """Meter Data Notification Received""" METER_DATA_NOTIFICATION_RECEIVED """Meter Data Response Sent""" METER_DATA_RESPONSE_SENT """Time Expired Meters Received""" TIME_EXPIRED_METERS_RECEIVED """Mains Service Renewal Received""" MAINS_SERVICE_RENEWAL_RECEIVED """Special Read Request Sent""" SPECIAL_READ_REQUEST_SENT """Initial Special Read Response Received""" INITIAL_SPECIAL_READ_RESPONSE_RECEIVED """Closure Special Read Response Received""" CLOSURE_SPECIAL_READ_RESPONSE_RECEIVED """Unsolicited Special Read Response Received""" UNSOLICITED_SPECIAL_READ_RESPONSE_RECEIVED """Cancellation Special Read Sent""" CANCELLATION_SPECIAL_READ_SENT """Failed Special Read Response Received""" FAILED_SPECIAL_READ_RESPONSE_RECEIVED """Cancellation Failed Special Read Response Received""" CANCELLATION_FAILED_SPECIAL_READ_RESPONSE_RECEIVED """Service Order Request Sent""" SERVICE_ORDER_REQUEST_SENT """Initial Service Order Response Received""" INITIAL_SERVICE_ORDER_RESPONSE_RECEIVED """Closure Service Order Response Received""" CLOSURE_SERVICE_ORDER_RESPONSE_RECEIVED """Unsolicited Service Order Response Received""" UNSOLICITED_SERVICE_ORDER_RESPONSE_RECEIVED """Cancellation Service Order Sent""" CANCELLATION_SERVICE_ORDER_SENT """Cancellation Failed Service Order Response Received""" CANCELLATION_FAILED_SERVICE_ORDER_RESPONSE_RECEIVED """Failed Service Order Response Received""" FAILED_SERVICE_ORDER_RESPONSE_RECEIVED """Standing Data Update Notification Received""" STANDING_DATA_UPDATE_NOTIFICATION_RECEIVED } """MFA enrolment method choices.""" enum MFAMethodChoices { """Email.""" EMAIL """Totp.""" TOTP """Sms.""" SMS } """An enumeration.""" enum MarketName { AUS_ELECTRICITY AUS_GAS AUS_EMBEDDED_WATER AUS_EMBEDDED_UNMETERED_GAS AUS_EMBEDDED_UNMETERED_ELECTRICITY } """An enumeration.""" enum MaximumRefundReasonChoices { """Maximum refund is equal to the current balance minus the account recommended balance.""" MAX_AVAILABLE_AMOUNT """Maximum refund is equal to the total amount the customer has paid using the current account Direct Debit instruction.""" TOTAL_AMOUNT_PAID_VIA_ACTIVE_DDI """Maximum refund is equal to the maximum refund amount allowed to be requested via the dashboard.""" MAX_ALLOWED_TO_REQUEST_VIA_DASHBOARD } """An enumeration.""" enum MessageChannel { """Email""" EMAIL """SMS""" SMS """Print""" PRINT """Intercom""" INTERCOM """Junifer""" JUNIFER """Push Notification""" PUSH_NOTIFICATION } """The type of message event.""" enum MessageEventType { DELIVERED DELIVERY_FAILED DEFERRED OPENED CLICKED SPAM_REPORT } """The current status of the meter data issue flow.""" enum MeterDataIssueFlowStatus { PROCESSING ERRORED CANCELLED COMPLETED } """The status of a meter data issue.""" enum MeterDataIssueStatus { OPEN ACTIONED IN_REVIEW RESOLVED IGNORED } """Available quality types.""" enum MeterDataQualities { ACTUAL ESTIMATE CALCULATED ZEROED MIXED } """An enumeration.""" enum MeterInstallationType { """Basic""" BASIC """Comms1""" COMMS1 """Comms2""" COMMS2 """Comms3""" COMMS3 """Comms4""" COMMS4 """Comms4A""" COMMS4A """Comms4C""" COMMS4C """Comms4D""" COMMS4D """Vicami""" VICAMI """Mrim""" MRIM """Mram""" MRAM } """An enumeration.""" enum MeterInstallationTypeCodeType { BASIC COMMS1 COMMS2 COMMS3 COMMS4 COMMS4A COMMS4C COMMS4D COMMS8 COMMS9 COMMS9CM MRAM MRIM NCONUML PROF SAMPLE UMCP VICAMI UNKNOWN } """An enumeration.""" enum MeterLocation { ACCESS_HATCH BACK_GATE BACK_OF_HOUSE BACK_VERANDAH BACK_WALL BACK_YARD BASEMENT BATHROOM CEILING_SPACE CELLAR CUPBOARD DINING_ROOM FACTORY FIREHOUSE_REEL_CUPBOARD FRONT_DOOR FRONT_FENCE FRONT_HOUSE FRONT_LEFT_SIDE FRONT_RIGHT_SIDE FRONT_VERANDAH FRONT_WALL FRONT_WALL_SHOP GARAGE GROUP_OF_METERS HALLWAY_CUPBOARD KITCHEN KITCHEN_CUPBOARD LAUNDRY_CUPBOARD LAUNDRY_HATCH LEFT_SIDE OTHER OVER_BACK_DOOR PANTRY PASSAGE PORCH REFUSE_ROOM RIGHT_SIDE SEE_ACCESS_DETAILS SHED SHOP STORE_ROOM TOILET UNDER_BACK_HOUSE UNDER_COUNTER UNDER_FRONT_HOUSE UNDER_LEFT_HOUSE UNDER_RIGHT_HOUSE UNDER_SINK UNDER_STAIRS UNKNOWN UPSTAIRS WASH_HOUSE } """An enumeration.""" enum MeterMeasurementUnit { DECILITRES DECALITRES KILOLITRES GALLONS } """An enumeration.""" enum MeterPointCustomerClassification { """Business""" BUSINESS """Residential""" RESIDENTIAL } """An enumeration.""" enum MeterPointCustomerClassificationThreshold { """Low""" LOW """Medium""" MEDIUM """High""" HIGH } """An enumeration.""" enum MeterPointIdentifierType { NMI MIRN EMBEDDED_GAS_METER_POINT_ID WATER_METER_POINT_ID } """An enumeration.""" enum MeterPointJurisdictionCode { """All Jurisdictions""" ALL """National Electricity Market""" NEM """Australian Capital Territory""" ACT """New South Wales""" NSW """Queensland""" QLD """South Australia""" SA """Tasmania""" TAS """Victoria""" VIC """Western Australia""" WA """Wagga Wagga Tamworth""" WWT """Northern Territory""" NT """Isolated""" ISO } """An enumeration.""" enum MeterPointKrakenStatus { """Off Supply""" OFF_SUPPLY """On Supply""" ON_SUPPLY """Gaining""" GAINING """Losing""" LOSING """Lost""" LOST } """An enumeration.""" enum MeterPointLnspId { """Evoenergy (ACTEWP)""" ACTEWP """Aurora Energy (AURORAP)""" AURORAP """CitiPower (CITIPP)""" CITIPP """CitiPower (CITIPWMP)""" CITIPWMP """Essential Energy (CNRGYP)""" CNRGYP """CitiPower (CPNETMDP)""" CPNETMDP """AusNet Services (DMSMP)""" DMSMP """AusNet Services (EASTERN)""" EASTERN """Energex (ENERGEXP)""" ENERGEXP """Ausgrid (ENERGYAP)""" ENERGYAP """Ergon Energy (ERGONETP)""" ERGONETP """Endeavour Energy (INTEGP)""" INTEGP """Jemena (JENMDP)""" JENMDP """Powercor (POWCP)""" POWCP """Powercor (POWERCMP)""" POWERCMP """Powercor (POWERMDP)""" POWERMDP """Jemena (SOLARISP)""" SOLARISP """Jemena (SOLARMP)""" SOLARMP """AusNet Services (SPANMDP)""" SPANMDP """United Energy (UEDMDP)""" UEDMDP """SA Power Networks (UMPLP)""" UMPLP """United Energy (UNITED)""" UNITED """United Energy (UNITEDDP)""" UNITEDDP """United Energy (UNITEDMP)""" UNITEDMP """WPNTWK (WPNTWK)""" WPNTWK } """An enumeration.""" enum MeterPointNmiClassification { """Small""" SMALL """Large""" LARGE """External Profile Shape""" EPROFILE """Sample""" SAMPLE """Generator""" GENERATR """Interconnector""" INTERCON """Wholesale TNI""" WHOLESAL """Non-contestable Unmetered Load""" NCONUML """Bulk Supply Point""" BULK """Distribution Generator""" DGENRATR """Distribution IRS""" DIRS """Distribution Wholesale""" DWHOLSAL """Small Generating/Bidirectional Units""" NREG """Transmission IRS""" TIRS """Cross Boundary""" XBOUNDRY } """An enumeration.""" enum MeterPointSharedIsolationPointFlag { """Yes""" Y """No""" N """Isolated""" I """Unknown""" U } """An enumeration.""" enum MeterReadTypeFrequency { """Monthly""" A_1 """Bi Monthly""" A_2 """Quarterly""" A_3 """Daily Or Weekly""" D } """An enumeration.""" enum MeterReadTypeMethod { """Manual""" M """Remote""" R } """An enumeration.""" enum MeterReadTypeMode { """Telephone""" T """Wireless""" W """Powerline""" P """Infra Red""" I """Galvanic""" G """Visual""" V } """An enumeration.""" enum MeterStatus { C R D } """An enumeration.""" enum MethodSent { """Faxed""" FAXED """Email""" EMAIL """Online""" ONLINE """OnSite""" ON_SITE } enum MoveTypeEnum { """Moving into to a new property.""" MOVE_IN """Switching retailer but staying in the same property.""" IN_SITU } enum NoticePriority { HIGH NORMAL } """An enumeration.""" enum NotifiableApplicationExternalProvider { """AWS Pinpoint""" PINPOINT """Firebase Cloud Messaging""" FCM } """An enumeration.""" enum NotifiableApplicationService { """Android (GCM)""" GCM """iOS (APNs)""" APNS """iOS Sandbox (APNs Sandbox)""" APNS_SANDBOX } """An enumeration.""" enum Notification { SHARING_REQUESTED SHARING_DISABLED SHARING_REQUEST_ACTION_ONE SHARING_REQUEST_COMPLETE SECONDARY_USER_INSTRUCTION_ACTION ARRANGEMENT_CREATED ARRANGEMENT_AMENDED ARRANGEMENT_EXPIRED ARRANGEMENT_REVOKED } """An enumeration.""" enum NotificationResult { APPROVED DENIED EXPIRED ADDED REMOVED } enum OnSiteJobsAgent { GENERIC_AGENT TTE_FACILITA SMS AES OES PROVIDOR MDS EON_METERING LOWRI_BECK METERPLUS ENTERPRISE_MANAGED MIDS_ELEC N_POWERGRID ELEC_NW NATIONAL_GRID SGN ENERGY_ASSETS SIEMENS LONDON SWEB ECM OESL EDF_FIELD ESSENTIAL_FIELD ESSENTIAL_WATER_FIELD IFS SAP } enum OnSiteJobsAssetFuelType { ELECTRICITY GAS } enum OnSiteJobsAssetKind { METER HEAT_PUMP WATER_HEATER LIGHT POLE } enum OnSiteJobsAssetStatus { EXISTING INSTALLED } """Reporter category.""" enum OnSiteJobsReporterCategory { CUSTOMER UNKNOWN } enum OnSiteJobsRequestActionTriggerStage { POST_REQUEST_COMPLETION } """Request status.""" enum OnSiteJobsRequestStatus { APPROVAL_REJECTED HELD APPROVAL_PENDING APPROVAL_ON_HOLD BOOKED APPOINTMENT_FAILED PENDING CANCELLED COMPLETED IN_PROGRESS } """The category of the opportunity attachment.""" enum OpportunityAttachmentCategory { LEAD_FILE SIGNED_CONTRACT UNSIGNED_CONTRACT MANAGER_APPROVAL_EMAIL } """The possible outcome of the opportunity.""" enum OpportunityOutcome { WON LOST } enum OptionsLanguagePreferenceChoices { ENGLISH } """The status of the order.""" enum OrderStatus { PENDING COMPLETED CANCELLED ERRORED } """The type of target the intent's payment should be associated with.""" enum PaymentActionIntentTargetType { ledger requested_payment } enum PaymentDayDirectionType { """The payment day is calculated forward.""" OF_MONTH """The payment day is calculated backwards from the last day of the month.""" BEFORE_END_OF_MONTH } """Available options for extending the payment.""" enum PaymentExtensionOption { PAY_IN_FULL WEEKLY FORTNIGHTLY } """An enumeration.""" enum PaymentFrequency { WEEKLY MONTHLY } """An enumeration.""" enum PaymentFrequencyOptions { """Weekly""" Weekly """Monthly""" Monthly """Planned""" Planned } """Available options for the type of entity a payment instruction owner may be.""" enum PaymentInstructionOwnerTypeChoices { ACCOUNT_USER BUSINESS } """An enumeration.""" enum PaymentInstructionStatus { """The instruction is active and can be used to take payments.""" ACTIVE """The instruction has not yet been set up.""" PROVISIONAL """The instruction could not be set up with the vendor.""" FAILED } enum PaymentIntentCompletionStatus { CLEARED PENDING } """The method chosen to make payments for the account.""" enum PaymentMethod { MANUAL VARIABLE_CARD } """The type of target the intent's payment method should be associated with.""" enum PaymentMethodActionIntentTargetType { ledger } """An enumeration.""" enum PaymentMethodCDREnum { DIRECT_DEBIT CARD TRANSFER BPAY CASH CHEQUE OTHER } """An enumeration.""" enum PaymentPlanEligibilityStatuses { """Account Is On Hardship Agreement.""" ACCOUNT_IS_ON_HARDSHIP_AGREEMENT """Account Has Negative Balance.""" ACCOUNT_HAS_NEGATIVE_BALANCE """Account Has Fixed Debt Repayment Schedule.""" ACCOUNT_HAS_FIXED_DEBT_REPAYMENT_SCHEDULE """Account Can Have Payment Plan.""" ACCOUNT_CAN_HAVE_PAYMENT_PLAN } enum PaymentReasonOptions { BALANCE_THRESHOLD_CROSSED BILL_ISSUED PAYMENT_PLAN REGULAR_SCHEDULE } """An enumeration.""" enum PaymentScheduleChoices { Weekly Monthly } """An enumeration.""" enum PaymentScheduleReasonOptions { """The default value for usual account payments.""" GENERAL_ACCOUNT_PAYMENT """A payment schedule created to take a payment around the supply start date of a meterpoint to help prevent accounts accruing debt.""" SSD_PAYMENT """A payment schedule created to take the final payment when an account is closed.""" FINAL_PAYMENT """A payment schedule created to take payments to pay back a debt. These schedules typically expire once the debt has been re-payed.""" DEBT_REPAYMENT_PLAN } """Possible payment instruction types.""" enum PaymentType { BPAY CARD CUSTOM DIRECT_DEBIT GMO_REFUND PAYMENT_SLIP } """An enumeration.""" enum PeriodLength { MONTHLY QUARTERLY } """An enumeration.""" enum PlantFuelType { NATURAL_GAS LIQUID_PETROLEUM ELECTRICITY } """ The temperature of the water when it passes through the meter. 50C plants imply the water is blended prior to the meter whereas 65C are blended at the shower head (post meter) by the customer. Theoretically a meter that has consumed 10 Litres of 50C water has used less energy than a meter that has consumed 10 Litres of 65C water. This is normally reflected in pricing. """ enum PlantTemperature { FIFTY_DEGREES_CELCIUS SIXTY_FIVE_DEGREES_CELCIUS } """ Postal delivery types defined in aseXML schema ClientInformation_r36.xsd Valid for aseXML revisions from r36-r41 (possibly future revisions too) From the schema: Purpose - Define postal delivery types as per Australian Standard AS4590:2006 Detail - There are several additions in this list over and above what is in AS4590:2006. The extra types have been derived from the Australia Post AMAS standard. -- Version 5.0 additions -- Element AustralianPostalDeliveryType has been restricted to 11 characters """ enum PostalDeliveryType { CARE_PO CMA CMB CPA GPO_BOX LOCKED_BAG MS PO_BOX PRIVATE_BAG RSD RMB RMS } """ Choices class for the pre-signed expiring tokens. These choices must have a certain format: {ACTION-VERB}_{DEFINING-NOUN} They should start with an action verb. It should be a single word. The action verb enables the account user to do the thing (defining noun) that comes after the action verb. Together they represent a task. The defining noun could be longer than a single word. Preferably, it should be kept short and simple as much as possible. """ enum PreSignedTokenScope { """Scope that enables account user to submit meter readings.""" SUBMIT_METER_READINGS """Scope that enables account user to submit customer feedback.""" SUBMIT_CUSTOMER_FEEDBACK """Scope that enables account user to book smart meter appointments.""" BOOK_SMART_METER_APPOINTMENTS """Scope that enables account user to update their smart meter interest.""" UPDATE_SMART_METER_INTEREST """Scope that enables account user to update their direct debit details.""" UPDATE_DIRECT_DEBIT """Edit Customer Marketing Preference""" EDIT_CUSTOMER_MARKETING_PREFERENCE """Scope that enables account user to join campaigns.""" JOIN_CAMPAIGNS """Scope that enables account user to join campaign events.""" JOIN_CAMPAIGN_EVENTS """Scope that enables account user to visit campaign dashboard.""" VIEW_CAMPAIGN_DASHBOARDS """Scope that enables account user to visit detailed property usage pages.""" VIEW_DETAILED_USAGE """Scope that enables account user to redeem loyalty points""" REDEEM_LOYALTY_POINTS """Scope that enables account user to generate a renewal quote and renew agreements.""" MANAGE_ACCOUNT_RENEWALS """Scope that enables account user to checkout a quote (validate terms & conds and provide a payment detail).""" CHECKOUT_QUOTE """Scope that enables account user to update their blackhole email address.""" UPDATE_BLACKHOLE_EMAIL """Scope that enables account user to update their blackhole email address without enabling access to account number.""" UPDATE_BLACKHOLE_EMAIL_NO_ACCOUNT_NUMBER """Update Sensitive Customer Information""" UPDATE_SENSITIVE_CUSTOMER_INFORMATION """Scope that enables account user to accept goods quotes and process goods purchases.""" MANAGE_GOODS_PURCHASES """Set Goods Purchase Sale Item Prices""" SET_GOODS_PURCHASE_SALE_ITEM_PRICES """Scope that enables account user to report a property move-out.""" REPORT_MOVE_OUT """Scope that enables account user to accept the terms and conditions for a product.""" ACCEPT_TERMS_AND_CONDITIONS """Scope that enables account user to do a self-serve product switch through the Dashboard.""" MANAGE_PRODUCT_SWITCH """Scope that enables account user to do a self-serve product switch with quotes.""" MANAGE_PRODUCT_SWITCH_WITH_QUOTES """Scope that enables account user to manage security deposit payments for business accounts.""" MANAGE_BUSINESS_SECURITY_DEPOSIT """Scope that enables user to send a loss objection for a change of supplier process.""" SEND_LOSS_OBJECTION_FOR_CHANGE_OF_SUPPLIER """Scope that enables the user to update information about themselves and their account.""" UPDATE_ACCOUNT_DETAILS """Scope that enables the user to cancel enrollment to a supplier.""" CANCEL_ENROLLMENT """Scope that grants access to view the account number.""" VIEW_ACCOUNT_NUMBER """Scope that grants ability to accept fit schedule.""" ACCEPT_FIT_SCHEDULE """Scope that grants access to amend payments.""" AMEND_PAYMENTS """Scope that grants ability to accept fit terms.""" ACCEPT_FIT_TERMS """Scope that grants ability to verify the customer details.""" VERIFY_CUSTOMER_DETAILS """Scope that enables user to review and accept a quote sent via an email link.""" ACCEPT_QUOTE """Scope that grants ability to submit fit readings for a meter.""" SUBMIT_FIT_METER_READINGS """Scope grants ability to access Change My Tariff journey without login""" ACCESS_CHANGE_MY_TARIFF_EXPIRING_LINK """Scope that enables account user to submit missing meter details.""" SUBMIT_MISSING_METER_DETAILS """Scope that enables the user to finalize their account setup.""" FINALIZE_ACCOUNT_SETUP """Scope that enables account user to escalate an Ink conversation to a team leader.""" ESCALATE_INK_CONVERSATION """Scope that enables account user to view and update low carbon tech orders.""" MANAGE_LCT_ORDERS } """An enumeration.""" enum PrintBatchStatus { OPEN CLOSED PROCESSED } """An enumeration.""" enum ProductAvailability { EVERYONE RESTRICTED } """An enumeration.""" enum ProductReferencePricingZone { """Jemena""" AGLNSW """Tamworth""" TAMWORTH """Allgas Energy""" APTALLGAS """Evoenergy""" ACTEWAGL """AGN Bombala and Cooma""" COOMABOMBA """AGN Albury""" ALBURY """AGN Murray Valley (NSW)""" MURYVALLEY """AGN Temora Culciarn Holbrook""" TEMORA_HHOLCWALLA """AGN Wagga Wagga""" WAGGAURANQ """AGN Adelong, Gundagai and Tumut""" TUMUTGUNDA """AGN Central""" TRUEAST_OESTHEAST """AusNet Services Central""" AGLNORTH_TRUCENTRAL """Multinet""" OEMETRO_AGLSOUTH """AusNet Services Adjoining Central""" TRURCBARWN """AusNet Services West""" TRUWEST """AusNet Services Adjoining West""" TRURULWEST """AGN - Mildura""" MILDURA """AGN North""" OENORTH """AGN - Murray Vic""" OEMURVLYV """AGN - Cardinia""" OEWGPLAND """AGN - Bairnsdale""" OEBRNSDALE """AGN - Brisbane""" BRISNORTH """AGN - Wide Bay""" WIDEBAY """AGN - Northern""" QLDNORTH """AGN - SA""" AGNSA """ATCO Australia""" MIDWSOUTHW """AGN - NT""" ALICESPNGS """Multinet Yarra Valley""" OEYRVALLEY } """An enumeration.""" enum QualityFlag { A E F N S V } """Valid statuses for a quote configuration.""" enum QuoteConfigurationStatus { DRAFT RATES_REQUESTED RATES_REQUEST_FAILED IN_REVIEW READY SENT EXPIRED ACCEPTED REJECTED } """Type of rate request error.""" enum RateRequestedErrorType { SYSTEM_ERROR BUSINESS_ERROR } """An enumeration.""" enum ReadTypeFrequency { """Monthly""" MONTHLY """Bi Monthly""" BI_MONTHLY """Quarterly""" QUARTERLY """Daily Or Weekly""" DAILY_OR_WEEKLY } """An enumeration.""" enum ReadTypeMethod { M R } """An enumeration.""" enum ReadTypeMode { T W P I G V } """An enumeration.""" enum ReadingDirectionType { """Reading is based on the customer's usage of the utility.""" CONSUMPTION """ Reading is based on the utility generated by the customer. For example: This will return solar readings if a customer has solar panels installed at their location. """ GENERATION } """An enumeration.""" enum ReadingEventType { ADDED_FROM_DATA_IMPORT INITIAL CUSTOMER_OWN_READ ADDED_BY_ENERGY_SPECIALIST ADDED_BY_MESSAGE_FILE READING_FROM_AMPHIO QUARANTINE_APPLIED QUARANTINE_REVOKED KRAKEN_INTERPOLATION KRAKEN_INTERPOLATION_PREVIOUS_YEAR KRAKEN_EXTRAPOLATION KRAKEN_ADL } """An enumeration.""" enum ReadingFrequencyType { """Interval Readings as provided, may be variable in length.""" RAW_INTERVAL """Readings taken in every 5 minute intervals.""" FIVE_MIN_INTERVAL """Readings taken in every 15 minute intervals.""" FIFTEEN_MIN_INTERVAL """Readings taken in every 30 minute intervals.""" THIRTY_MIN_INTERVAL """Readings taken in every 1 hour intervals.""" HOUR_INTERVAL DAY_INTERVAL """Readings taken in every 1 week intervals.""" WEEK_INTERVAL """Readings taken in every 1 month intervals.""" MONTH_INTERVAL """Readings taken in every 3 months intervals.""" QUARTER_INTERVAL """Readings taken on a day to day basis.""" DAILY """Readings taken at a point in time.""" POINT_IN_TIME """Readings taken at a point in time and intervalized.""" INTERVALIZED } """An enumeration.""" enum ReadingGasMeterUnits { """Metric""" M """Imperial""" I } """An enumeration.""" enum ReadingQuality { ACTUAL ESTIMATED SKIPPED CUSTOMER } """An enumeration.""" enum ReadingQualityType { ACTUAL ESTIMATE COMBINED } """An enumeration.""" enum ReadingReasonForRead { """Special Final Read""" SRF """Special Reference Read""" SRR """Special Account Investigation""" SRA """Special Disconnection""" SRD """Special Transfer Read""" SRT """Schedule Cycle Read""" SCH """Meter Installation Read""" INI """Meter Removed Read""" REM """Other Service Order""" OSO """Meter Data Verify""" MDV } """The type of statistic for the reading interval.""" enum ReadingStatisticTypeEnum { """The calculated cost of standing charges for the interval.""" STANDING_CHARGE_COST """The calculated cost of consumption for the interval.""" CONSUMPTION_COST """The calculated cost of capacity charges for the interval.""" CAPACITY_CHARGE_COST """The breakdown of consumption into time of use buckets.""" CONSUMPTION_BREAKDOWN """The calculated monetary value of generation for the interval""" GENERATION_VALUE """The apportion cost of a time of use bucket for the interval.""" TOU_BUCKET_COST """The estimated carbon cost of the interval.""" CARBON_COST """Information related to a gas reading eg. conversion_factor, volume etc.""" GAS_READING_INFORMATION """The calculated power factor for the interval.""" POWER_FACTOR_STATISTIC """The calculated co2 emission for the interval.""" CO2_EMISSION_STATISTIC } """An enumeration.""" enum ReadingTypeOfRead { """Actual""" A """Estimated""" E """Substituted""" S """Customer Own Read""" C """Deemed Read""" D """Unknown""" U } """Available reading types.""" enum ReadingTypes { """Readings indicating total consumption or generation of a utility between two points in time.""" INTERVAL """Readings indicating total utility consumption since the meter was installed or reset.""" ACCUMULATION """Readings indicating the maximum rate of utility transfer.""" PEAK } """An enumeration.""" enum ReadingsGranularity { DAILY MONTHLY } """An enumeration.""" enum ReferralSchemeAccountTypeOptions { DOMESTIC BUSINESS } """Referral scheme type choices.""" enum ReferralSchemeTypeChoices { """Referral Reward.""" REFERRAL_REWARD """Signup Reward.""" SIGNUP_REWARD """Partner Reward.""" PARTNER_REWARD """Promo Reward.""" PROMO_REWARD """Legacy Referral.""" LEGACY_REFERRAL } """Status of a referral.""" enum ReferralStatus { PENDING PAID CANCELLED } """Referral status choices.""" enum ReferralStatusChoices { """Pending.""" Pending """Paid.""" Paid """Cancelled.""" Cancelled } """An enumeration.""" enum RegisterStatus { C R } """An enumeration.""" enum RegisterUnitOfMeasure { """MWh""" MWH """kWh""" KWH """Wh""" WH """MVArh""" MVARH """kVArh""" KVARH """VArh""" VARH """MVAr""" MVAR """kVAr""" KVAR """VAr""" VAR """MW""" MW """kW""" KW """W""" W """MVAh""" MVAH """kVAh""" KVAH """VAh""" VAH """MVA""" MVA """kVA""" KVA """VA""" VA """kV""" KV """V""" V """kA""" KA """A""" A """pf""" PF } """Methods by which repayments can be sent to the customer.""" enum RepaymentMethod { BANK_TRANSFER CHEQUE CARD } """The reason for the repayment.""" enum RepaymentReason { BILLING_ADJUSTMENT CANCELED_BILL CHARGEBACK COMPLAINT_COMPENSATION DEPOSIT_RETURN DOMESTIC_EXPORT_ONLY_REPAYMENT ETF_CREDIT ET_ACCOUNT_REFUND FAILED_PAYMENT FAST_TRACK FEED_IN_TARIFF_PAYMENT FINAL_BALANCE_SETTLEMENT FULL_CREDIT_REFUND FULL_PREPAYMENT_REFUND GENERATOR_ACCOUNT_REFUND GSOS_PAYMENT INDEMNITY_CLAIM LATE_FAILED_PAYMENT MISTAKEN_PAYMENT_TAKEN PARTIAL_CREDIT_REFUND PARTIAL_PREPAYMENT_REFUND PAYMENT_CORRECTION SEG_PAYMENT } """Possible status' for a repayment (or refund) request""" enum RepaymentRequestStatus { REQUESTED ACCEPTED CANCELLED REJECTED } """An enumeration.""" enum RequestReason { CONFIRM_LIFE_SUPPORT DATA_QUALITY_ISSUE MISSING_CUSTOMER_DETAILS NEW_CONNECTION_NO_CDN_RECEIVED NO_RESPONSE_TO_REJECTED_CDN OTHER REC_CONFIRM_NO_SENSITIVE_LOAD RETURNED_MAIL TRANSFER_COMPLETE_NO_CDN_RECEIVED } """Request status.""" enum RequestStatus { APPROVAL_PENDING APPROVAL_ON_HOLD APPROVAL_REJECTED HELD PENDING BOOKED IN_PROGRESS APPOINTMENT_FAILED CANCELLED COMPLETED } """An enumeration.""" enum RequestableRepaymentMethod { BANK_TRANSFER CHEQUE } """When is the payment extension requested""" enum RequestedAt { AFTER_DUE_DATE BEFORE_DUE_DATE } """Status of an agreement rollover.""" enum RolloverStatus { PENDING REJECTED ENQUEUED ERROR NEEDS_ATTENTION PENDING_VALIDATION VALIDATING DONE REVOKED } """An enumeration.""" enum SalesChannelChoices { DIRECT PRICE_COMPARISON TELESALES DIGI_TELESALES EVENTS FIELD_SALES AGGREGATOR PARTNERSHIPS NEW_TENANT MOVE_IN WORKPLACE_POP_UP BROKER PARENT_POWER PEOPLE_POWER GIFT_OF_KIT HIGH_REFERRER SUPPLIER_OF_LAST_RESORT ACQUISITION WORKS_WITH_OCTOPUS LANDLORD DEBT_COLLECTION_AGENCY } """The based unit of frequency at which payments are to be taken.""" enum ScheduleFrequencyEnum { WEEKLY MONTHLY } enum ScheduleTrigger { PLAN REGULAR REGULAR_PLAN BALANCE BILL } """An enumeration.""" enum ScheduleType { BACS_TRANSFER CARD_PAYMENT DIRECT_DEBIT PAYMENT_SLIP } enum ScheduleTypeInputChoices { BACS_TRANSFER DIRECT_DEBIT CARD_PAYMENT } """An enumeration.""" enum ServiceOrderDeEnergisationReasonChoices { CUSTOMER_REQUESTED MOVE_OUT NON_PAYMENT_D_N_P UNAUTHORISED_USAGE_D_N_I ILLEGAL_USAGE NO_ACCESS SAFETY DEFECT SITE_WORKS BREACH_OF_CONTRACT OTHER } """An enumeration.""" enum ServiceOrderStatus { """Pending""" PENDING """Requested""" REQUESTED """Accepted""" ACCEPTED """Rejected""" REJECTED """Completed""" COMPLETED """Partially Completed""" PARTIALLY_COMPLETED """Not Completed""" NOT_COMPLETED """Disputed""" DISPUTED """Cancelled""" CANCELLED """No Access""" NO_ACCESS } """An enumeration.""" enum ServiceOrderSubTypeChoices { AFTER_DISCONNECTION_FOR_NON_PAYMENT ALLOCATE_NMI BLANK_NOT_PROVIDED CHANGE_TIMESWITCH_SETTINGS CHECK_READ COMMISSION_METER DISCONNECT_AT_PILLAR_BOX_PIT_OR_POLE_TOP ESTABLISH_PERMANENT_SUPPLY ESTABLISH_TEMPORARY_IN_PERMANENT ESTABLISH_TEMPORARY_SUPPLY EXCHANGE_METER FINAL_READ INSTALL_CONTROLLED_LOAD INSTALL_METER INSTALL_METER_ISOLATION_DEVICE LOCAL_METER_DISCONNECTION METER_INVESTIGATION_INSPECT METER_INVESTIGATION_TEST METER_RECONFIGURATION MOVE_IN MOVE_METER NEW_READING_REQUIRED PHYSICAL_VISIT RECIPIENT_DISCRETION REMOTE REMOVE_FUSE REMOVE_METER RESEAL_DEVICE RETROSPECTIVE_MOVE_IN SUPPLY_ABOLISHMENT SUPPLY_ALTERATION TARIFF_CHANGE TEMPORARY_ISOLATION TEMPORARY_ISOLATION_GROUP_SUPPLY TEMPORARY_ISOLATION_ONE_IN_ALL_IN TEMPORARY_ISOLATION_SCOPING_REQUEST } """An enumeration.""" enum ServiceOrderTypeChoices { SUPPLY_SERVICE_WORKS RE_ENERGISATION DE_ENERGISATION SPECIAL_READ METERING_SERVICE_WORKS MISCELLANEOUS UPDATE_STANDING_DATA } """An enumeration.""" enum SolarType { """Premium Feed-in Tariff""" PFIT """Feed-in Tariff""" FIT """None""" NONE } """An enumeration.""" enum Songs { """.""" NO_SONG_PREFERRED } """An enumeration.""" enum SpecialReadReasonCodeChoices { FINAL_READ CHECK_READ ACCOUNT_INVESTIGATION CHANGE_OF_RETAILER } """ .. note:: Various versions of the Australian Standard have included a ninth option. AS4590:1999 includes the Australian Antarctic Territory (which has no postal service and no permanent residents), and AS4590.1:2017 includes "Other". We omit these, because every non-self-governing territory "belongs" to one of these eight values as far as Australia Post is concerned. """ enum State { ACT NSW NT QLD SA TAS VIC WA } enum StateChoices { AUSTRALIAN_CAPITAL_TERRITORY NORTHERN_TERRITORY NEW_SOUTH_WALES QUEENSLAND SOUTH_AUSTRALIA TASMANIA VICTORIA WESTERN_AUSTRALIA } """Tracking of charge reversals after statement closure (ALL, SOME, NONE, or NOT_CLOSED).""" enum StatementReversalsAfterClose { """All charges have been reversed after the statement was closed.""" ALL """Some charges have been reversed after the statement was closed.""" SOME """No reversals after the statement was closed.""" NONE """The statement has not been closed yet.""" NOT_CLOSED } """The status of a workflow.""" enum Status { SKIPPED COMPLETED PENDING IN_PROGRESS STALLED CANCELLED FAILED ERRORED } """The available types of storyline analyzers.""" enum StorylineAnalyzerTypeChoices { DIAGNOSTIC_QUESTIONS REFUND_ELIGIBILITY } """The available types of storyline entries.""" enum StorylineEntryTypes { INBOUND_MESSAGE OUTBOUND_MESSAGE INBOUND_CTI_CALL OUTBOUND_CTI_CALL INBOUND_VOICE_CALL OUTBOUND_VOICE_CALL CONVERSATION_NOTE_SUMMARY COMPLAINT_SUMMARY TRANSACTIONAL_MESSAGE APPOINTMENT METER_READING STATEMENT REFUND PAYMENT REPAYMENT AGREEMENT OTHER MESSAGE_SUMMARY CTI_CALL_SUMMARY VOICE_CALL_SUMMARY } """An enumeration.""" enum StreetSuffix { CENTRAL DEVIATION EAST EXTENSION INNER LOWER MALL NORTH NORTH_EAST NORTH_WEST OFF ON OUTER OVERPASS SOUTH SOUTH_EAST SOUTH_WEST UPPER WEST } """ Possible street types for an Australian address. .. note:: This list includes all values that are in AS4590:1999, AS4590:2006, AS4590.1:2017, plus many that appear in no Australian Standard but are used in aseXML. In cases where two versions of the standard give different abbreviations, the one aseXML uses (usually the one from the older standard) is used here. This does mean that if e.g. a bulk mail provider expects strict conformance to the latest version of the standard, some translation might be required. """ enum StreetType { ACCESS ACRE ALLEY ALLEYWAY AMBLE ANCHORAGE ANNEX APPROACH ARCADE ARTERIAL ARTERY AVENUE BANAN BANK BASIN BAY BEACH BEND BLOCK BOARDWALK BOULEVARD BOULEVARDE BOWL BRACE BRAE BRANCH BREAK BRETT BRIDGE BROADWAY BROW BYPASS BYWAY CAUSEWAY CENTRE CENTREWAY CHASE CIRCLE CIRCLET CIRCUIT CIRCUS CLOSE CLUSTER COLONNADE COMMON CONCORD CONCOURSE CONNECTION COPSE CORNER CORSO COURSE COURT COURTYARD COVE CRESCENT CREST CRIEF CROOK CROSS CROSSING CROSSROAD CROSSWAY CRUISEWAY CUL_DE_SAC CUT CUTTING DALE DASH DELL DENE DEVIATION DIP DISTRIBUTOR DIVIDE DOCK DOMAIN DOWN DOWNS DRIVE DRIVEWAY EASEMENT EDGE ELBOW END ENTRANCE ESPLANADE ESTATE EXPRESSWAY EXTENSION FAIRWAY FIRE_TRACK FIREBREAK FIRELINE FIRETRAIL FLAT FLATS FOLLOW FOOTWAY FORD FORESHORE FORK FORMATION FREEWAY FRONT FRONTAGE GAP GARDEN GARDENS GATE GATES GATEWAY GLADE GLEN GRANGE GREEN GROUND GROVE GULLY HARBOUR HAVEN HEATH HEIGHTS HIGHROAD HIGHWAY HILL HOLLOW HUB INLET INTERCHANGE INTERSECTION ISLAND JUNCTION KEY KEYS KNOLL LADDER LANDING LANE LANEWAY LEAD LEADER LEES LINE LINK LITTLE LOOKOUT LOOP LOWER LYNNE MALL MANOR MART MEAD MEANDER MEW MEWS MILE MOTORWAY MOUNT NOOK NORTH NULL OUTLET OUTLOOK OVAL PALMS PARADE PARADISE PARK PARKLANDS PARKWAY PART PASS PASSAGE PATH PATHWAY PENINSULA PIAZZA PLACE PLATEAU PLAZA POCKET POINT PORT PRECINCT PROMENADE PURSUIT QUAD QUADRANGLE QUADRANT QUAY QUAYS RAMBLE RAMP RANGE REACH REEF RESERVE REST RETREAT RETURN RIDE RIDGE RIDGEWAY RIGHT_OF_WAY RING RISE RISING RIVER RIVERWAY RIVIERA ROAD ROADS ROADSIDE ROADWAY RONDE ROSEBOWL ROTARY ROUND ROUTE ROW ROWE RUE RUN SERVICE_WAY SHUNT SIDING SKYLINE SLOPE SOUND SOUTH SPUR SQUARE STAIRS STATE_HIGHWAY STEPS STRAIGHT STRAIT STRAND STREET STRIP SUBWAY TARN TERRACE THOROUGHFARE THROUGHWAY TOLLWAY TOP TOR TOWERS TRACK TRAIL TRAILER TRAMWAY TRAVERSE TRIANGLE TRUNKWAY TUNNEL TURN UNDERPASS UPPER VALE VALLEY VIADUCT VIEW VIEWS VILLA VILLAGE VILLAS VISTA VUE WADE WALK WALKWAY WATERS WATERWAY WAY WHARF WOOD WOODS WYND YARD } """An enumeration.""" enum SupplyPointMarketNameEnum { AUS_ELECTRICITY AUS_EMBEDDED_ELECTRICITY AUS_EMBEDDED_WATER AUS_GAS AUS_EMBEDDED_UNMETERED_GAS SIMPLE_SERVICES AUS_EMBEDDED_GAS AUS_SOLAR_PPA AUS_EMBEDDED_UNMETERED_ELECTRICITY } """An enumeration.""" enum SupplyType { """Electricity""" ELECTRICITY """Gas""" GAS """Embedded Electricity""" EMBEDDED_ELECTRICITY } """An enumeration.""" enum TaskStatusEnum { STARTED FAILED FINISHED } """An enumeration.""" enum TaxItemUnitType { """Proportion""" PROPORTION """Currency Per Kwh""" CURRENCY_PER_KWH } """ The style is the typographical hierarchy. These are Typescale Categories from the Mobile Design System (Figma). """ enum TextStyleV1 { TITLE1 TITLE2 TITLE3 TITLE4 TITLE5 TITLE6 BODY1 BODY2 BUTTON_TEXT CALLOUT1 CALLOUT2 CALLOUT3 SMALL1 SMALL2 SMALL3 INPUT_TITLE TABULAR } """Time buckets into which readings are grouped.""" enum TimeGranularities { FIVE_MIN FIFTEEN_MIN THIRTY_MIN HOUR DAY WEEK MONTH QUARTER YEAR } """The market for a tranche target.""" enum TrancheMarketName { AUS_EMBEDDED_UNMETERED_ELECTRICITY AUS_GAS AUS_EMBEDDED_UNMETERED_GAS AUS_EMBEDDED_WATER AUS_EMBEDDED_ELECTRICITY AUS_SOLAR_PPA AUS_EMBEDDED_GAS AUS_ELECTRICITY SIMPLE_SERVICES } """The unit for a tranche rate price (e.g. pence per kWh).""" enum TrancheRateUnit { PER_KWH PER_MWH } """Filter options for transaction types (e.g., energy charges, water charges, imported payments).""" enum TransactionTypeFilter { """For filtering/excluding unissued transactions.""" UNISSUED_TRANSACTIONS """For filtering/excluding energy charge transactions: Gas or Electricity.""" ENERGY_CHARGES """For filtering/excluding water charge transactions.""" WATER_CHARGES """For filtering/excluding imported charge transactions.""" IMPORTED_CHARGES """For filtering/excluding imported credit transactions.""" IMPORTED_CREDITS """For filtering/excluding imported repayment transactions.""" IMPORTED_REPAYMENTS """For filtering/excluding imported payment transactions.""" IMPORTED_PAYMENTS } """The type of transaction.""" enum TransactionTypes { CREDIT PAYMENT REPAYMENT } enum TransactionsOrderBy { POSTED_DATE_ASC POSTED_DATE_DESC } """Set of possible outcomes resulting from the processing of a `Trigger`.""" enum TriggerProcessingStatus { UNPROCESSED PROCESSED PROCESSING_SKIPPED PROCESSING_FAILED } """The type of campaign, e.g. preview or predictive.""" enum TypeOfVoiceCampaign { PREVIEW PREDICTIVE } """An enumeration.""" enum Unit { KILOWATT_HOURS METERS_CUBED } """An enumeration.""" enum UnitOfMeasure { """MWh""" MWH """kWh""" KWH """Wh""" WH """MVArh""" MVARH """kVArh""" KVARH """VArh""" VARH """MVAr""" MVAR """kVAr""" KVAR """VAr""" VAR """MW""" MW """kW""" KW """W""" W """MVAh""" MVAH """kVAh""" KVAH """VAh""" VAH """MVA""" MVA """kVA""" KVA """VA""" VA """kV""" KV """V""" V """kA""" KA """A""" A """pf""" PF } """An enumeration.""" enum UnitType { DAYS_ON_SUPPLY KWH_CONSUMPTION MWH_CONSUMPTION MEGAJOULES_CONSUMPTION GIGAJOULES_CONSUMPTION KVA_CAPACITY_DAYS KVA_KM_DAYS KVAR_DAYS KVARH_CONSUMPTION KW_DEMAND KW_DEMAND_DAYS KVA_DEMAND KVA_DEMAND_DAYS KVA_DEMAND_MONTHS KW_CAPACITY_MONTHS KVA_CAPACITY_MONTHS LITRES_CONSUMPTION CHARGES_INCURRED PARTNER_CHARGES_INCURRED MONTHS_ON_SUPPLY AMPERE_MONTHS YEARS_ON_SUPPLY_PER_DIEM PER_ITEM UNITS_WA CUBIC_METRES_CONSUMPTION STANDARD_CUBIC_METRES_CONSUMPTION CURRENCY_YEAR KL_CONSUMPTION DIMENSIONLESS DISTANCE } """Available units relevant to electricity, gas, and water.""" enum Units { WATT WATT_HOURS KILOWATT KILOWATT_HOURS MEGAWATT_HOURS AMPERE KILOAMPERE VOLT KILOVOLT VOLT_AMPERE VOLT_AMPERE_HOURS VOLT_AMPERE_REACTIVE VOLT_AMPERE_REACTIVE_HOURS KILOVOLT_AMPERE KILOVOLT_AMPERE_HOURS KILOVOLT_AMPERE_REACTIVE KILOVOLT_AMPERE_REACTIVE_HOURS POWER_FACTOR METERS_CUBED FEET_CUBED DECALITERS LITER KILOLITERS US_GALLONS } """An enumeration.""" enum UnmeteredElectricitySupplyPointApplianceType { """Centralised air conditioning""" AIR_CONDITIONING } """An enumeration.""" enum UnmeteredGasSupplyPointApplianceType { """Cooktop""" COOKTOP """Heater""" HEATER """Mantle light""" MANTLE_LIGHT """Barbeque(BBQ)""" BARBEQUE_BBQ } """An enumeration.""" enum UnmeteredGasSupplyPointPricingZone { """Actewagl""" ACTEWAGL """Adelaide""" ADELAIDE """Aglnsw""" AGLNSW """Albury""" ALBURY """Balgraft""" BALGRAFT """Brisbane""" BRISBANE """Brisnorth""" BRISNORTH """Darwin""" DARWIN """Midwsouthw""" MIDWSOUTHW """Muryvalley""" MURYVALLEY """Oemetro""" OEMETRO """Oenorth""" OENORTH """Oestheast""" OESTHEAST """Seqld""" SEQLD """Tweedheads""" TWEEDHEADS } """An enumeration.""" enum UsageReferenceAccountType { """Domestic""" DOMESTIC """Business""" BUSINESS } """An enumeration.""" enum UsageReferencePricingZone { """Jemena""" AGLNSW """Tamworth""" TAMWORTH """Allgas Energy""" APTALLGAS """Evoenergy""" ACTEWAGL """AGN Bombala and Cooma""" COOMABOMBA """AGN Albury""" ALBURY """AGN Murray Valley (NSW)""" MURYVALLEY """AGN Temora Culciarn Holbrook""" TEMORA_HHOLCWALLA """AGN Wagga Wagga""" WAGGAURANQ """AGN Adelong, Gundagai and Tumut""" TUMUTGUNDA """AGN Central""" TRUEAST_OESTHEAST """AusNet Services Central""" AGLNORTH_TRUCENTRAL """Multinet""" OEMETRO_AGLSOUTH """AusNet Services Adjoining Central""" TRURCBARWN """AusNet Services West""" TRUWEST """AusNet Services Adjoining West""" TRURULWEST """AGN - Mildura""" MILDURA """AGN North""" OENORTH """AGN - Murray Vic""" OEMURVLYV """AGN - Cardinia""" OEWGPLAND """AGN - Bairnsdale""" OEBRNSDALE """AGN - Brisbane""" BRISNORTH """AGN - Wide Bay""" WIDEBAY """AGN - Northern""" QLDNORTH """AGN - SA""" AGNSA """ATCO Australia""" MIDWSOUTHW """AGN - NT""" ALICESPNGS """Multinet Yarra Valley""" OEYRVALLEY } """An enumeration.""" enum UsageReferenceState { """Australian Capital Territory""" ACT """New South Wales""" NSW """Northern Territory""" NT """Queensland""" QLD """South Australia""" SA """Tasmania""" TAS """Victoria""" VIC """Western Australia""" WA } """Possible payment vendors.""" enum Vendor { GOCARDLESS GOCARDLESS_BULB GOCARDLESS_AFFECT GOCARDLESS_GEN4U GOCARDLESS_IRESA SMARTDEBIT WORLDPAY ACCESS_PAYSUITE ACCESS_PAYSUITE_EXPORT ACCESS_PAYSUITE_FIT ACCESS_PAYSUITE_SHELL BOTTOMLINE_PTX BOTTOMLINE_PTX_BATCHED BOTTOMLINE_PTX_BATCHED_HD BOTTOMLINE_PTX_BATCHED_HD_NHH BOTTOMLINE_GLOBAL_PAYMENTS_HUB STRIPE STRIPE_CONNECT STRIPE_CONNECT_HD STRIPE_CONNECT_HD_NHH STRIPE_CONNECT_VOICE STRIPE_VOICE WESTPAC WESTPAC_ILINK WESTPAC_ILINK_MERIDIAN WESTPAC_ILINK_POWERSHOP WESTPAC_QUICKSTREAM WESTPAC_QUICKSTREAM_MERIDIAN WESTPAC_QUICKSTREAM_POWERSHOP WESTPAC_QUICKSTREAM_RED_ENERGY WESTPAC_QUICKSTREAM_LUMO_ENERGY GMO GMO_CARD STRIPE_KONBINI TESORO DUMMY COMMBANK BPOINT TG_PAYMENTS TG_PAYMENTS_MYPAY PAGOPA BUCKAROO BUCKAROO_SEPA TOTALENERGIES PAYMENTUS_DIGITAL_WALLET ADYEN ANZ CUSTOM } """The status of verification for associated email.""" enum VerificationRequestStatus { NOT_SENT PENDING COMPLETED } """The Voice vendor managing the call.""" enum VoiceVendor { """Twilio.""" TWILIO } """An enumeration.""" enum WaterMeterReadMethod { REMOTE MANUAL } """An enumeration.""" enum Weekday { MON TUE WED THU FRI SAT SUN PUBLIC_HOLIDAYS } """Why a Work Schedule is open or closed.""" enum WorkScheduleOpenOrClosedReason { CLOSED_DUE_TO_PUBLIC_HOLIDAY CLOSED_DUE_TO_DAY_OF_WEEK CLOSED_BEFORE_OPEN_TIME CLOSED_AFTER_CLOSE_TIME OPEN_INSIDE_WORK_SCHEDULE WORK_SCHEDULE_TIME_ZONE_MISCONFIGURED } enum _BillingDocumentsOrderBy { FINALIZED_AT_ASC FINALIZED_AT_DESC } """An enumeration.""" enum query_type { query mutation } """An enumeration.""" enum source { OPS_READING_UPDATE OPS_READING_CREATE KRAKEN_ESTIMATE READING_FROM_NEM13 READING_FROM_NEM12 READING_UPDATED_BY_NEM13 READING_UPDATED_BY_NEM12 IMPORT_READING_CREATE IMPORT_READING_UPDATE SELF_READING_CREATE SELF_READING_UPDATE READING_FROM_AMPHIO READING_SYNCED_FROM_AMPHIO REGISTER_REMOVAL_ALIGNMENT } input ACHDirectDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The last four digits of the account number.""" lastFourDigits: String! """The 9-digit bank routing number.""" bankRoutingNumber: String! """The name of the bank.""" bankName: String """The unique digital identifier of this bank account.""" fingerprint: String } input ACSSDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The last four digits of the account number.""" lastFourDigits: String! """The 5-digit branch identifier.""" transitNumber: String! """The 3-digit bank identifier.""" institutionNumber: String! """The name of the bank.""" bankName: String """The unique digital identifier of this bank account.""" fingerprint: String } input APIBrownoutInput { """Return brownouts with these statuses.""" statuses: [APIBrownoutStatus] } input APIExceptionQueryInput { """The external identifier to filter for.""" externalIdentifier: String """The resolution status to filter for.""" resolutionStatus: APIExceptionResolutionStatus = null """The resolution type to filter for.""" resolutionType: APIExceptionResolutionType = null """The channel to filter for.""" channel: String """The priority to filter for.""" priority: APIExceptionPriority = null """Tags to filter for.""" tags: [APIExceptionTags] """The category to filter for.""" category: APIExceptionCategories = null """The account number to filter for.""" accountNumber: ID """The user ID to filter for.""" userId: ID """The customer contact to filter for.""" customerContact: String """The supply point identifier to filter for.""" supplyPointIdentifier: ID } input AcceptGoodsQuoteInput { """The account number.""" accountNumber: String! """ID of the accepted quote.""" quoteId: ID! """A JSON object containing client parameters to store on the quote.""" clientParams: JSONString """A JSON object containing market parameters to store on the purchase.""" marketParams: JSONString } input AcceptOfferForQuotingInput { """Identifier of the Offer.""" identifier: ID } input AcceptPaymentPlanInput { """The ID of the payment plan that has been offered to the customer.""" paymentPlanId: ID! """Send comms to the customer with the details of the acceptance.""" sendAcceptanceComms: Boolean! """Optional ID of the Support User who performed this operation. Used for audit purposes.""" supportUserId: ID } input AccountBillingAddressInput { """The account number of the account to update.""" accountNumber: String """Billing address details.""" billingAddress: BillingAddressDetailsInput = null } input AccountLedgerInput { """The account number.""" accountNumber: ID! """The ledger number for the account.""" ledgerNumber: String } """The input type for the account reference.""" input AccountReferenceInput { """The account number.""" accountNumber: String! """The namespace for the reference.""" namespace: String! """The reference value.""" value: String! } input AccountSearchInputType { """The account number eg. A-FF15AE70.""" accountNumber: String """The portfolio number eg. P-A123B456.""" portfolioNumber: String """URN Number.""" urn: String """The Account User ID (not account number).""" user: String """Internal account id (not account number).""" account: String """Bills (Shortcut).""" bill: String """Statements (Alias for bills).""" statements: String """Meter Serial Number.""" meterSerialNumber: String """Location (Supply or Billing, full or partial, address or post code).""" location: String """Account or Billing name.""" billingName: String """Business name.""" businessName: String """Business identifier or number.""" businessNumber: String """Account Reference.""" accountReferences: String """Device ID.""" device: String """NMI of property.""" nmi: String """NMI of embedded electricity meter point.""" embeddedElectricityNmi: String """ID of embedded water meter point.""" embeddedWaterId: String """MIRN of property.""" mirn: String """ID of unmetered gas supply point.""" unmeteredGasId: String """ID of embedded gas meter point.""" embeddedGasId: String """SMI of solar ppa meterpoint.""" solarPpaSmi: String """ID of unmetered elec supply point.""" unmeteredElectricityId: String """Embedded network name.""" embeddedNetworkName: String } input AccountUserAlternativeNumberInputType { """The phone number to be added/deleted.""" phoneNumber: String! """The user for whom to perform the update. Only needed when using Organisation auth.""" userId: String } """Identifies an account user by a detail namespace and value.""" input AccountUserDetailInput { """The namespace of the account user detail.""" namespace: String! """The value of the account user detail.""" value: String! } input AccountUserFromAccountNumberInputType { """The account number to query for.""" accountNumber: String """The email address of the account user.""" emailAddress: String } input AccountUserFuzzySearchWeightMappingType { """The given name of the account user.""" givenName: Float = 0.147 """The family name of the account user.""" familyName: Float = 0.104 """The date of birth of the account user.""" dateOfBirth: Float = 0.153 """The email associated with the account user.""" email: Float = 0.209 """The mobile number of the account user.""" mobile: Float = 0.228 """The landline number of the account user.""" landline: Float = 0.083 } input AccountUserInputType { """ID associated with an accountUser.""" accountUserId: ID """Email associated with an accountUser.""" accountUserEmail: String """Whether to load account campaigns into the result. For big portfolios, this should be turned off to avoid performance degradation. When `false`, the SynAccountType.campaigns will always return an empty array.""" loadAccountCampaigns: Boolean = false """Optional list of brand codes to filter accounts by. Only accounts belonging to portfolios with a matching brand code will be returned. When omitted, accounts across all brands are returned.""" brands: [BrandChoices] """Optional list of account types to filter accounts by. Only accounts matching one of the specified types will be returned. When omitted, accounts of all types are returned.""" accountTypes: [AccountTypeChoices] } input AccountUserSearchInputType { """The given name of the account user.""" givenName: String! """The family name of the account user.""" familyName: String! """The date of birth of the account user.""" dateOfBirth: Date! """The email of the account user.""" email: String! """The mobile number of the account user.""" mobile: String! """The landline number of the account user.""" landline: String! """ Field for saving the confidence score of results, useful when we have multiple account users with similar matching fields. Set between: - Float(0.0) (Match everything) - Float(1.0) (Match nothing) """ threshold: Float = 0.55 """ Allows optional extra weighting on search fields. Boost certain fields between Float(0.0) and Float(1.0) to increase prominence of that field in the total search result calculation. """ searchWeightMappings: AccountUserFuzzySearchWeightMappingType } input AcquisitionDetailsInput { """A list of AUS_ELECTRICITY acquisition details.""" electricityAcquisitionDetails: [ElectricityAcquisitionDetailsInput] """A list of AUS_EMBEDDED_ELECTRICITY acquisition details.""" embeddedElectricityAcquisitionDetails: [MarketAcquisitionDetailsInput] """A list of AUS_EMBEDDED_WATER acquisition details.""" embeddedWaterAcquisitionDetails: [MarketAcquisitionDetailsInput] """A list of AUS_GAS acquisition details.""" gasAcquisitionDetails: [GasAcquisitionDetailsInput] """A list of AUS_EMBEDDED_UNMETERED_GAS acquisition details.""" embeddedUnmeteredGasAcquisitionDetails: [MarketAcquisitionDetailsInput] """A list of AUS_EMBEDDED_UNMETERED_ELECTRICITY acquisition details.""" embeddedUnmeteredElectricityAcquisitionDetails: [MarketAcquisitionDetailsInput] } input ActualizeContractInput { """The unique identifier of the contract to actualize.""" identifier: NonEmptyString! """The date from when the contract actualization is valid.""" validFromDate: IndustryMidnightAlignedDateField! } input AdHocRecipientInput { """Recipient's given name.""" givenName: String! """Recipient's family name.""" familyName: String! """Recipient's title.""" title: String """Recipient's email.""" email: String """Recipient's mobile number.""" mobile: String } input AddBusinessToSegmentInput { """The business ID.""" businessId: ID! """The segment name.""" segmentName: String! } input AddCampaignToAccountInput { """The account number.""" accountNumber: String! """The slug of the campaign we want to assign.""" campaign: String! """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.""" startDate: 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.""" expiryDate: Date } """Input for adding a child property to a parent property in a hierarchy.""" input AddChildToPropertyInput { """The ID of the parent property.""" parentId: ID! """The ID of the child property to add to the parent.""" childId: ID! """The name of the hierarchy.""" hierarchyName: String = "default" } input AddNoteToInkConversationInput { """The relay id of the conversation that will be assigned to the bucket.""" conversationRelayId: ID! """The content of the note.""" content: String! """The time at which the note will appear to have been added (defaults to now).""" addedAt: DateTime """Is the note pinned, to make it clearer to the support user.""" isPinned: Boolean = false } """Input for adding a parent property to a child property in a hierarchy.""" input AddParentToPropertyInput { """The ID of the child property.""" childId: ID! """The ID of the parent property to add to the child.""" parentId: ID! """The name of the hierarchy.""" hierarchyName: String = "default" } input AddPartnerUserToTeamInput { """The number of the partner user to assign.""" partnerUserNumber: String! """The number of the partner team to assign the user to.""" partnerTeamNumber: String! } input AddPortfolioReferenceInput { """The portfolio number to which the reference will be added.""" portfolioNumber: String! """The namespace of the portfolio reference.""" referenceNamespace: String! """The value of the portfolio reference.""" referenceValue: String! } """Input type for adding a new property to an account.""" input AddPropertyInput { """The account number to add the property to.""" accountNumber: String! """The address of the property using the rich address format.""" address: RichAddressInput! } """Input for adding a property to a hierarchy as a root node.""" input AddPropertyToHierarchyInput { """The ID of the property to add to the hierarchy.""" propertyId: ID! """The name of the hierarchy to add the property to.""" hierarchyName: String = "default" } """Required information for creating a referral reward for an organization""" input AddSignupReferralOnAccountInput { """The account number for the referred account.""" accountNumber: String! """The referral scheme code for the organization.""" schemeCode: String! } input AddStorylineToInkConversationInput { """The relay id of the conversation that will be assigned to the bucket.""" conversationRelayId: ID! """The topic of the storyline.""" topic: String """The summary of the storyline.""" summary: String """The time the storyline was generated.""" generatedAt: DateTime! """A list of entries to add to the storyline.""" entries: [InkStorylineEntryInput!]! """The Neuralink request ID.""" neuralinkRequestId: UUID! """A list of knowledge article IDs to associate with the storyline.""" knowledgeArticleIds: [Int!] """Optional analyzer results from Neuralink.""" analyzerResults: [InkStorylineAnalyzerResultInput!] """The Neuralink trigger ID that caused this storyline to be generated.""" triggerId: String } input AddUserToPortfolioInput { """The user number for the user to add to the portfolio.""" userNumber: String! """The role code to assign to the user.""" roleCode: String! """The portfolio number for the portfolio to add the user to.""" portfolioNumber: String! } input AddressEnrolmentsInput { """Enrolment status to query.""" reference: UUID! } """A group of address field values.""" input AddressFieldGroupInput { """The machine identifier of the group (e.g. 'address_fields', 'country_selection').""" name: String! """The fields within this group.""" fields: [AddressFieldInput!]! } """A single address field value submission.""" input AddressFieldInput { """The machine identifier of the field (e.g. 'locality', 'postal_code').""" name: String! """The submitted value for this field. Null means no value provided.""" value: String } input AffiliateDetails { """Affiliate organisation ID associated with the third party sale.""" organisationId: ID """Affiliate organisation's order number associated with the third party sale.""" orderNumber: String """The ID of a previously created affiliate's session associated with the move in.""" sessionId: ID } input AmendPaymentInput { """The account number.""" accountNumber: String! """The ID of the payment to amend.""" paymentId: Int! """The new amount for the amended payment.""" amount: Int! """The new date to collect the payment.""" paymentDate: Date! """Reason for amending the payment.""" reason: String } input AppointmentDetails { preferredTime: AppointmentChoices! appointmentAccess: String! specialInstructions: String! accessDetails: String! hazards: [HazardType] hazardDetails: String safetyCertificateId: ID safetyCertificateMethodSent: MethodSent } input ApproveRepaymentInput { """The account number for the requested repayment.""" accountNumber: ID! """The id of the account repayment to be approved.""" repaymentId: ID! } input ArchivedCallRecordingInput { """The vendor's call leg ID, used to find the call participant and associate the recording with the correct call.""" vendorCallLegId: String! """An S3 virtual-hosted-style URL pointing to the recording file in the S3_ARCHIVE_BUCKET, e.g. https://.s3..amazonaws.com/. The file must already exist in the bucket; it will not be downloaded or copied.""" archivedRecordingFileUri: URI! } input AssessCollectionProcessRecordForPauseInputType { """The collection process number to run pause assessment against.""" number: String! """Whether the assessment should unpause the collection process when applicable.""" allowUnpausing: Boolean } input AssignInkBucketInput { """The relay id of the conversation that will be assigned to the bucket.""" conversationRelayId: ID! """The name of the bucket to assign the conversation to.""" bucketName: String! } input AssignSupplyPointToEstimationGroupInput { """Unique slug identifier for the estimation group.""" estimationGroupCode: String! """Supply point external identifier.""" supplyPointExternalId: String! """Datetime period start to look for supply point.""" supplyPointPeriodStart: DateTime = null } input AssociateArchivedCallRecordingsWithCallsInput { """The list of external call recordings to associate with calls.""" recordings: [ArchivedCallRecordingInput!]! } input AssociateCallWithAccountInput { """The ID of the call.""" callId: ID! """The account number to associate to the call.""" accountNumber: String! } input AssociateItemToCollectionProcessInputType { """The Collection Process Record Number.""" number: String! """Associated item type.""" itemType: CollectionProcessAssociatedItemType! """Unique reference to look up the associated item (ex. UUID or primary key).""" itemReference: String! """The datetime when action that resulted in the associated item happened.""" occurredAt: DateTime """A JSON object of additional details regarding the item.""" extraDetails: JSONString } input AttachAgreementsToContractsInput { """IDs of the agreements to attach.""" agreementIds: [Int!]! """Identifier of the account contract to attach the agreements to.""" accountContractIdentifier: String """Identifier of the business contract to attach the agreements to.""" businessContractIdentifier: String } input AudioRecordingInputType { """UUID of the audio recording.""" id: UUID """Content type of the recording.""" contentType: String! """Duration of the recording in seconds.""" duration: String! """Size of the file in bytes.""" fileSize: Int! """Address line 1.""" addressLine1: String = "" """Address line 2.""" addressLine2: String = "" """Address line 3.""" addressLine3: String = "" """Address line 4.""" addressLine4: String = "" """Address line 5.""" addressLine5: String = "" """Postal code.""" postcode: String = "" """Account number.""" accountNumber: String = null """Timestamp of the recorded location.""" locationAt: DateTime = null """Horizontal accuracy of the location.""" locationHorizontalAccuracy: Int = null """Latitude of the recorded location.""" locationLatitude: Decimal = null """Longitude of the recorded location.""" locationLongitude: Decimal = null """List of outcomes for the session.""" outcomes: [OutcomeInput] = [] """Sales mode of the session.""" salesMode: String = "" """Type of the session.""" type: String = null """Start time of the session.""" startedAt: DateTime! """End time of the session.""" stoppedAt: DateTime! """S3 bucket where the audio file is stored.""" s3Bucket: String! """S3 key for the audio recording.""" s3Key: String! """Subdomain of the affiliate link.""" subdomain: String! """List of uploaded photos.""" photos: [PhotoInput] = [] """List of scan values.""" scans: [String] = [] } input AusBECSDirectDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The last four digits of the account number.""" lastFourDigits: String! """The 6-digit bank-state-branch identifier (format: XXX-XXX).""" bsbNumber: String! """The name of the bank.""" bankName: String """The unique digital identifier of this bank account.""" fingerprint: String } """The input type for awarding Loyalty Points.""" input AwardLoyaltyPointsInput { """The account number.""" accountNumber: String! """The number of Loyalty Points to award.""" points: Int! """The reason code associated with the award.""" reasonCode: LoyaltyPointAwardEntryReasonCode = null """A note about the award.""" note: String """A unique idempotency key for the award operation.""" idempotencyKey: UUID } input BACSDirectDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The last four digits of the account number.""" lastFourDigits: String! """The sort code of the bank account.""" sortCode: String! """The unique digital identifier of this bank account.""" fingerprint: String } input BPAYDetailsInput { """The BPAY biller code.""" billerCode: String! """The BPAY reference number.""" referenceNumber: String! """The name of the account holder.""" accountName: String } """Input for a backend action.""" input BackendScreenEventInput { """The ID of the action to perform.""" eventId: ID! """List of key-value pairs (strings) to pass as parameters to the mutation.""" params: [BackendScreenParamInputType] } """A key-value pair (both Strings) which is passed in parameters to a backend action.""" input BackendScreenParamInputType { key: String! value: String! } """A payment schedule which triggers a payment the balance of a ledger drops below a certain value.""" input BalanceTriggeredScheduleInput { """The ledger balance (in the minor currency unit) which when passed will trigger a payment to be taken.""" balanceThreshold: Int! """The target balance (in the minor currency unit) for the ledger; used to calculate the payment amount. Defaults to zero.""" targetBalance: Int = 0 } input BankDetailsInput { accountHolder: String iban: String accountNumber: String bankCode: String branchCode: String accountType: String } """ Minimum input required to initiate the Initialize Account step prior to sign up. This type should be extended by clients/territories in order to define the input required by the specific client/territory for account preparation. Either the preferred rich_billing_address or the legacy billing_address must be provided. """ input BaseInitializeAccountInput { """The number of the user that owns the account.""" userNumber: String! """The number of the portfolio that the account will be associated with.""" portfolioNumber: String """The type of account to create.""" accountType: AccountTypeChoices = DOMESTIC """The brand of the created account.""" brandCode: String! """The billing name.""" billingName: String! """The billing address in legacy format. Must be provided if rich_billing_address is not provided.""" billingAddress: LifecycleAddressInput = null """The billing address in the preferred RichAddress format. Must be provided if billing_address is not provided.""" richBillingAddress: RichAddressInput = null """Sales information.""" salesInfo: SalesInformationInput! """The preferred supply start date.""" preferredSsd: Date """The date of sale, defaults to today if not provided.""" dateOfSale: Date """The chosen payment day.""" chosenPaymentDay: Int """Information of the supply points that the customer is intending to sign up for supply.""" supplyPointInfoList: [PrepareAccountSupplyPointInput] } """ Minimum input required to initiate the Initialize User step prior to sign up. This type should be extended by clients/territories in order to define the input required by the specific client/territory for user preparation. """ input BaseInitializeUserInput { """The customer's details.""" customerDetails: CustomerDetailsInput! """The number of portfolio this user will be linked to.""" portfolioNumber: String """The user's role for the portfolio.""" role: RoleString = null """The brand of the created portfolio.""" brandCode: String! """The type of account this user is associated with initially.""" accountType: AccountTypeChoices = DOMESTIC """Optional user details to set on the user (e.g. namespace-based values like SSN last 4, PIN).""" details: [DetailsInputType] } """Input type for the BespokeRateConfigurationType.""" input BespokeRateConfigurationInput { """Whether the term is variable.""" isVariable: Boolean """The schedules for the bespoke rate configuration.""" schedules: [BespokeRateScheduleInput] } """Item for the BespokeRateConfiguration term.""" input BespokeRateItemInput { """The price per unit for the bespoke rate item.""" pricePerUnit: Decimal """The rate specification code for the bespoke rate item.""" rateSpecificationCode: String """The rate specification type for the bespoke rate item.""" rateSpecificationType: String = "PRODUCT_RATE" """The variant profile for the bespoke rate item.""" variantProfile: VariantProfileInput } """Schedule for the BespokeRateConfiguration term.""" input BespokeRateScheduleInput { """The items for the bespoke rate schedule.""" items: [BespokeRateItemInput] """The product code for the bespoke rate schedule.""" productCode: String """The datetime the schedule of bespoke rates is valid from.""" validFrom: DateTime """The datetime the schedule of bespoke rates is valid to.""" validTo: DateTime """The external identifier of the supply point that this bespoke rate schedule targets.""" supplyPointIdentifier: String = null } """Input for updating a bespoke rate term within a quote configuration.""" input BespokeRateTermInput { """The unique identifier for the term within the quote configuration.""" identifier: String! """The schedules to update within this term.""" schedules: [UpdateBespokeRateScheduleInput]! } input BillAndPaymentInput { flatOrUnitType: FlatOrUnitType flatOrUnitNumber: String floorOrLevelType: FloorOrLevelType floorOrLevelNumber: String buildingOrPropertyName: String locationDescriptor: String houseNumber1: String houseNumberSuffix1: String lotNumber: String streetName: String streetType: StreetType streetSuffix: StreetSuffix """Suburb/Locality.""" locality: String administrativeArea: StateChoices postalCode: String """Additional house number, use when address contains multiple house numbers.""" houseNumber2: String """Additional house number suffix, use when address contains multiple house number suffixes.""" houseNumberSuffix2: String postalDeliveryType: PostalDeliveryType postalDeliveryNumberPrefix: String postalDeliveryNumberValue: String postalDeliveryNumberSuffix: String """Specify if the postal address is the same as supply address. When "postalSameAsSupply" is set to true, the other address fields don't need to be filled in. However, if this field is set to false or not provided, "administrativeArea" and "locality" become required fields and should be provided.""" postalSameAsSupply: Boolean = true """Correspondence and bills preference.""" requiresPostalComms: Boolean! """Opt in to market or not.""" optInToMarketing: Boolean = true """If not supplied, will default to Industry Billing.""" billingFrequency: PeriodLength """Payment terms configuration for the account. If provided, custom payment terms will be created for the new account.""" paymentTerms: PaymentTermsInput } """Input type for BillDueDateTerm.""" input BillDueDateInput { """Whether the term is variable.""" isVariable: Boolean """The number of days to pay a bill from issue date, after which the debt becomes delinquent.""" numberOfDays: Int """The type of day to consider (WORKING or CALENDAR).""" typeOfDays: DayType } input BillTriggeredBalanceTargetScheduleInput { """The target balance (in the minor currency unit) for the ledger; used to calculate the payment amount. Defaults to zero.""" targetBalance: Int = 0 } """ 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 BillTriggeredScheduleInput { """The day of the month at which to take payment; allowed values -28 to 28 (excl. 0). Negative values count backwards from the end of the month. If not provided payment is taken whenever a bill is issued.""" paymentDay: Int """The multiple of months at which payment are taken. Required when a payment day is chosen, ignored if payment day not set.""" frequencyMultiplier: Int } input BillingAddressDetailsInput { """Billing street address.""" streetAddress: String """Billing structured street address.""" structuredStreetAddress: GenericScalar """Billing dependent locality.""" dependentLocality: String """Billing locality.""" locality: String """Billing postal code.""" postalCode: String """Billing sorting code.""" sortingCode: String """Billing delivery point identifier.""" deliveryPointIdentifier: String """Administrative area.""" administrativeArea: String """Billing country.""" country: String } input BreakPaymentPlanInput { """The ID of the payment plan to be marked as broken.""" paymentPlanId: ID! """Optional ID of the Support User who performed this operation. Used for audit purposes.""" supportUserId: ID } input BulkAwardLoyaltyPointsInput { """The reason code associated with all awards in this bulk request.""" reasonCode: LoyaltyPointAwardEntryReasonCode = null """A note applied to all awards in this bulk request.""" note: String """The list of loyalty points awards to process.""" awards: [BulkAwardLoyaltyPointsItemInput]! } """The input type for a single loyalty points award in a bulk request.""" input BulkAwardLoyaltyPointsItemInput { """The account number.""" accountNumber: String! """The number of Loyalty Points to award.""" points: Int! """A unique idempotency key for this award operation.""" idempotencyKey: UUID! } input BusinessDetailInput { """The key of the business detail.""" key: String! """The value of the business detail.""" value: String! } input BusinessDetailsInput { """Name of the company.""" companyName: String """The company number associated with the business.""" companyNumber: String """The registered type of Business done by the company. Defaults to None if not provided.""" businessType: BusinessTypeChoices = NONE """Apply changes to the business information to all accounts in the portfolio.""" applyToPortfolio: Boolean = false } input CDRNotificationInput { """The account number.""" accountNumber: ID! """The notification type to be sent.""" notificationType: Notification! """The notification type to be sent.""" notificationResult: NotificationResult = null """The name of the person receiving the notification.""" notificationReceiver: String! """The name of the person sending the notification.""" notificationSender: String! """The email address of the notification receiver. If not provided, a print letter will be sent to the account.""" receiverEmail: String """The name of the accredited data service that data will be shared with.""" accreditedDataRecipient: String """The date that the request will expire.""" requestExpiration: Date """The name of the secondary user.""" notificationSecondaryUser: String """The number of the accredited data service that data will be shared with.""" accreditedDataRecipientNumber: String } """Input type for the CIMeteringAgreementTerm.""" input CIMeteringAgreementInput { """Whether the term is variable.""" isVariable: Boolean } input CallMetadataInput { """The ID of the call to add the metadata to.""" callId: ID! """List of metadata items to add to the call.""" metadata: [CallMetadataItemInput!]! } input CallMetadataItemInput { """The key of the metadata item.""" key: String! """The value of the metadata item.""" value: String! """ Whether this metadata item should be hidden on the support site and kraken phone. """ hideOnSupportSite: Boolean = false } input CampaignItemInput { """The phone number of the item.""" phoneNumber: String """The start of the call window for the item.""" callWindowStart: DateTime """The end of the call window for the item.""" callWindowEnd: DateTime """The account number of the item.""" accountNumber: String """The metadata of the item.""" metadata: JSONString } """Input type for cancelling a CentrepayDeduction""" input CancelCentrepayDeductionInputType { """Given name of customer that the Deduction is associated with.""" customerGivenName: String! """Family name of customer that the Deduction is associated with.""" customerFamilyName: String! """Date of birth of customer that the Deduction is associated with.""" customerDateOfBirth: Date! """ID of Centrepay Deduction to cancel.""" deductionId: ID! } """Input required to cancel an enrollment.""" input CancelEnrollmentInput { """The identifier of the process to cancel.""" number: String """The reason for the cancellation.""" reason: String } """Input required to cancel a LeaveSupplier journey.""" input CancelLeaveSupplierInput { """The ID of the LeaveSupplier process to cancel.""" number: NonEmptyID """The reason for the cancellation.""" reason: String marketData: CancelLeaveSupplierMarketInputType = null } input CancelLeaveSupplierMarketInputType { """Input types cannot be without fields. And because no market cancellation input type is defined, we must have a void field.""" voidField: String = null } input CancelPaymentInput { """The account number.""" accountNumber: ID! """The ID of the payment to cancel.""" paymentId: ID! """Reason for cancelling the payment.""" reason: String } input CancelPaymentPlanInput { """The ID of the payment plan that has been activated to the customer.""" paymentPlanId: ID! """Send comms to the customer with the details of the cancellation.""" sendCancellationComms: Boolean! """ Whether the payment plan should be marked as revised (true), or cancelled (the default, false). If the payment plan is revised, it is intended to be replaced with a new payment plan, rather than being cancelled outright. """ isRevisedStatus: Boolean = false """Optional ID of the Support User who performed this operation. Used for audit purposes.""" supportUserId: ID } input CancelRepaymentRequestInputType { """The id of the request to be cancelled.""" requestId: String! } input CardDetailsInput { """The name of the account holder.""" accountHolder: String! """What kind this card is.""" cardType: CardType! """What network processes the transactions made by this card.""" network: CardPaymentNetwork! """The last four digits of the card.""" lastFourDigits: String! """The month this card is due to expire.""" expiryMonth: String """The year this card is due to expire.""" expiryYear: String """The unique digital identifier of this card.""" fingerprint: String """If this card is a wallet, specify the type.""" walletType: String } """Input type for updating a CentrepayDeduction""" input ChangeCentrepayDeductionInputType { """Given name of customer that the Deduction is associated with.""" customerGivenName: String! """Family name of customer that the Deduction is associated with.""" customerFamilyName: String! """Date of birth of customer that the Deduction is associated with.""" customerDateOfBirth: Date! """ID of Centrepay Deduction to change.""" deductionId: ID! """New Deduction payment amount (in cents).""" amount: Int """New target total payment amount after which Centrelink will end the deduction (in cents). Cannot provide together with valid_to.""" targetAmount: Int """New start date for Centrepay Deduction (only applicable to future Deductions that have not begun yet).""" validFrom: Date """New end date for Centrepay Deduction. Cannot provide together with target_amount.""" validTo: Date } """Override for a product characteristic.""" input CharacteristicOverride { """The code of the characteristic to override.""" code: String! """Override the characteristic with a list of values.""" values: JSONString! } input CharacteristicValueInput { """The characteristic code.""" characteristicCode: String! """The value for the characteristic.""" value: String! } input ChargedBackPaymentDetailsInput { """The payment action intent details that identify the target for this payment.""" actionIntent: PaymentActionIntentOneOfInput! """The reference used to uniquely identify this payment.""" reference: String! """The payment amount in the minor unit of currency.""" amount: Int! """The date when the payment was made.""" paymentDate: Date! """The description of the payment, as shown to the customer.""" customerReference: String! """The details of the payment method used for this payment.""" paymentMethod: PaymentMethodInput! """The timezone aware datetime when the payment entered the reported state.""" timestamp: DateTime! """The timezone aware datetime when the payment was charged back.""" chargedBackAt: DateTime! """The reason for the payment being charged back.""" chargebackReason: String! """Any further information about why the payment has been charged back.""" chargebackDescription: String } input ClickedInput { """The URL that was clicked.""" url: String! """The IP address of the device that clicked the link.""" ipAddress: String """The browser or client user agent string.""" userAgent: String } input CloseDCAProceedingInputType { """The account number.""" accountNumber: String! """The ledger identifier.""" ledgerNumber: String """The reason for stopping.""" stopReason: String! """The date where dca proceeding stopped.""" stoppedDate: Date! """Whether to send a notification to the DCA.""" notifyDca: Boolean """The DCA agency owning the proceeding.""" agency: String! """The campaign for the proceeding.""" campaign: String } input CloseInkConversationInput { """The relay id of the conversation to close.""" conversationRelayId: ID! """The reason for closing the conversation.""" closeReason: ConversationClosedReasonChoices! } input CloseInkLiveChaConversationtInput { """The number of the Kraken account that the conversation is from. Required for Account User authorization.""" accountNumber: String """The relay id of the live chat conversation.""" liveChatConversationRelayId: ID! } input CollectDepositInput { """The account number.""" accountNumber: String! """The deposit agreement key (unique).""" depositKey: String! """The token used to identify this payment (unique).""" idempotencyKey: String! """The ID of the payment instruction to use for this payment.""" instructionId: String } input CollectPaymentInput { """The account number.""" accountNumber: String! """The payment amount (in cents).""" amount: Int! """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.""" paymentDate: Date! """The reason a payment is being collected, for internal audit purposes.""" description: String! idempotencyKey: String! """The type of the payment instruction.""" collectionMethod: PaymentType = null """The number of the ledger on which to collect the payment.""" ledgerNumber: String } input CommenceDCAProceedingInputType { """The account number.""" accountNumber: String! """The ledger identifier.""" ledgerNumber: String """The agency.""" agency: String! """The campaign.""" campaign: String! """If the commencement is white label.""" isWhiteLabel: Boolean! """The date where commencement started.""" dateStarted: String! """Amount of debt.""" amount: Int """Notes for the commencement.""" notes: String } """Input type for completing an approval.""" input CompleteApprovalInputType { """The UUID of the approval to complete.""" approvalUuid: UUID! """The timestamp when the approval was approved. Must be null if rejected_at is provided.""" approvedAt: DateTime """The timestamp when the approval was rejected. Must be null if approved_at is provided.""" rejectedAt: DateTime } input CompleteReminderInput { """The ID of the reminder to complete.""" reminderId: Int! """Reason for completing the reminder.""" reason: String """The ID of the support user completing the reminder.""" completedById: Int } """Input fields for completing a standalone payment.""" input CompleteStandalonePaymentInput { """The account number.""" accountNumber: String! """The number of the specific ledger against which this payment should be applied.""" ledgerNumber: String! """The retrieval token for this standalone payment.""" retrievalToken: String! """The vendor's token used to complete the operation.""" completionToken: String! """The token used to identify this payment to ensure it is only processed once.""" idempotencyKey: String! } input ConfirmDoubleOptInInput { """The token for the consent to be updated.""" token: String! """The IP address of the customer confirming the double opt-in, if applicable.""" ipAddress: String } input ConnectAiAgentToCallInput { """The ID of the call to connect the AI agent to.""" callId: ID! """ List of routing attribute references to add to the call. For example, 'SKILL.ENERGY'. Each attribute should already have been created in Kraken. """ routingAttributes: [String!] """ The priority with which the call should be routed. A higher number corresponds to a higher routing priority. """ priority: Int = 0 """ 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. """ waitingBehaviourUrl: String """ Whether to infer the preferred language of the calling account. """ inferLanguageAttribute: Boolean = true """ Whether to infer the operations group attributes of the calling account. """ inferOperationsGroupAttributes: Boolean = true """ Optional goal for the AI eligibility check. For example, 'submit_meter_reading'. """ goal: 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. """ workScheduleIdentifier: String } input ConsentInput { """The code of the consent type.""" code: String! """The value to update the consent to.""" value: ConsentValue! } input ConsentTypeInput { """The code of the consent type.""" consentTypeCode: String! """The value to update the consent to.""" value: ConsentValue """The source of the consent event.""" source: ConsentEventSource } """Input for a time-of-use consumption split.""" input ConsumptionSplitInput { """Specific time slot within the TOU scheme (e.g. PEAK, OFFPEAK, SHOULDER).""" timeSlot: String! """Percentage split for this TOU time slot.""" splitPercentage: Decimal! } """Input type for filtering contracts by party or subject.""" input ContractFiltersInput { """Filter contracts by party (the entity that signed the contract). Provide either an account number or business ID.""" party: PartyInput """Filter contracts by subject (the account impacted by the contract). Provide the account number.""" subject: NonEmptyString } input ContractIdentifiersInput { """Identifier of the account contract this journey's account is subject to.""" accountContractIdentifier: String """Identifier of the business contract this journey's account is subject to.""" businessContractIdentifier: String } """Input type for the ContractMetaDataTerm.""" input ContractMetaDataInput { """Whether the term is variable.""" isVariable: Boolean """The additional metadata of the contract.""" metadata: JSONString! } """Input for capturing a note alongside a contract journey mutation.""" input ContractNoteInput { """The slug of the reason for this note.""" reasonSlug: NonEmptyString! """Optional free-text note (max 1,000 characters).""" note: String } """Input type for the ContractedVolumeConfigurationType.""" input ContractedVolumeConfigurationInput { """Whether the term is variable.""" isVariable: Boolean """The periods for the contracted volume configuration.""" periods: [ContractedVolumePeriodInput] } input ContractedVolumePeriodInput { """The decimal value of the quantity provided by the contracted volume.""" value: Decimal """The unit for the commodity provided by the contracted volume.""" unit: String """The market name the contracted volume applies to.""" marketName: String """The datetime the period the contracted volume is valid from.""" validFrom: DateTime """The datetime the period the contracted volume is valid to.""" validTo: DateTime } """Input type for the CorrectivePeriod term.""" input CorrectivePeriodInput { """Whether the term is variable.""" isVariable: Boolean """Per-market corrective period configurations.""" marketConfigs: [CorrectivePeriodMarketConfigInput]! } """GraphQL input type for a per-market CorrectivePeriod configuration.""" input CorrectivePeriodMarketConfigInput { """The market this corrective period configuration applies to.""" marketName: String! """Supply point IDs this config applies to. Omit or pass null to apply to all supply points in this market.""" supplyPointIds: [BigInt] """The length of the corrective period window.""" length: Int! """The unit of time for the corrective period length.""" lengthUnit: String! } input CreateAPICallInput { """The correlation id header from the HTTP request.""" correlationId: String! """The name of the operation associated with this call.""" operationName: String! """The input data provided to the API, if any.""" inputData: JSONString """The response returned by the API.""" response: JSONString! """Any optional useful context involved in the API call.""" context: JSONString """The ID of the associated API exception, if any.""" apiExceptionId: Int } input CreateAPIExceptionEventInput { """The event type.""" eventType: String! """The event category.""" category: String! """Any useful event description.""" description: String! """Any optional useful context involved in the event.""" context: JSONString """The ID of the associated API exception, if any.""" apiExceptionId: Int } input CreateAPIExceptionInput { """External identifier mapping an entity on the client's database.""" externalIdentifier: String! """The resolution status. Defaults to UNASSIGNED if not provided.""" resolutionStatus: APIExceptionResolutionStatus = null """The resolution type. Defaults to UNASSIGNED if not provided.""" resolutionType: APIExceptionResolutionType = null """The priority. Defaults to LOW if not provided.""" priority: APIExceptionPriority = null """Contextual information about the exception, if any.""" context: JSONString """The API client channel where the exception was triggered from.""" channel: String! """The ID of the user assigned to handle this exception.If no user is provided, no user will be assigned to the exception.""" assignedUserId: Int """The ID of an operations team to handle this exception. If no team is provided, no team will be assigned to the exception.""" operationsTeamId: Int """Tags associated with this exception if any.""" tags: [APIExceptionTags] """Category associated with this exception. Uses the default category if not provided.""" category: APIExceptionCategories = UNKNOWN """The account number associated with the exception, if available.""" accountNumber: ID """The user ID associated with the exception, if available.""" userId: Int """The customer contact associated with the exception, if available.""" customerContact: String """The supply point identifier associated with the exception, if available.""" supplyPointIdentifier: String """The key date associated with the exception, if available.""" keyDate: Date } input CreateAPIExceptionNoteInput { """The body of the note.""" body: String! """The ID of the associated API exception.""" apiExceptionId: ID! } """The input type for the account charge.""" input CreateAccountChargeInput { """The account number.""" accountNumber: String! """The gross amount of the charge to be added, in the smallest units of currency (e.g. cents).""" grossAmount: Int! """Any extra data that will be associated with account charge.""" metadata: JSONString """Optional short note about account charge for internal use.""" note: String """Optional short note about account charge for customer display.""" displayNote: String """The reason why the charge is added to the account. This should be a valid charge reason code.""" reason: String! } input CreateAccountNoteInput { """The account number.""" accountNumber: String """The external identifier of the supply point (e.g., NMI).""" supplyPointIdentifier: String """The market name for the supply point (e.g., AUS_ELECTRICITY).""" marketName: String """The note to add.""" note: String! """Pin the note to account.""" isPinned: Boolean! """When to unpin the note from the account.""" unpinAt: DateTime } """Input type for updating the payment schedule on a ledger. Requires an `account_number`, `ledger_number` and at least one of `payment_day` or `payment_amount` to be provided. `trigger` and `amount_strategy` should be provided when updating the payment amount of a variable payment schedule.""" input CreateAccountPaymentScheduleInput { """Number of the account for which to update the schedule.""" accountNumber: String! """Number of the ledger associated with the current payment schedule.""" ledgerNumber: String! """The new day of the month at which to take payment; ranges from 1 to 28.""" paymentDay: Int """The new fixed payment amount.""" paymentAmount: Int """When a payment is due.""" trigger: ScheduleTrigger """How the payment value is determined.""" amountStrategy: AmountStrategy } input CreateAccountReminderInput { """The account number.""" accountNumber: String! """The reminder type.""" reminderType: AccountReminderTypes! """Reminder content.""" content: String! """When the reminder is due.""" dueAt: DateTime! } input CreateAccountUserInput { accountType: AccountTypeChoices! givenName: String! familyName: String! """The mobile number.""" mobile: String """The landline number.""" landline: String """The email address.""" email: String """The customer doesn't have or hasn't provided an email address. If selected, the customer will receive all comms via postal mail for all accounts on their portfolio.""" generateBlackholeEmail: Boolean """Date of birth. Required for domestic accounts; optional for business accounts.""" dateOfBirth: Date """If the customer specificies which pronouns to use to refer to them, e.g. "she/her" or "them/they" record them here; otherwise leave blank and don't guess.""" pronouns: String """Code of the brand that the new account user will be associated with.""" brand: String } input CreateAffiliateLinkInputType { """The organisation for whom to create the affiliate link for.""" organisationId: ID! """ 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 """ subdomain: String! """The contact name for the link.""" contactName: String! """The contact email for the link.""" contactEmail: String! } input CreateAffiliateOrganisationInputType { """The name of the organisation that is going to be created.""" name: String! """The primary contact email for the organisation.""" contactEmail: String """Sales Channel Code.""" salesChannelCode: String """Default Account Type.""" defaultAccountType: AccountTypeChoices! """Are meter point registrations limited for profile classes 1 and 2 for registrations from csv or API.""" canRegisterBusinessMeterPoints: Boolean """Allow registration requests with exiting account user emails to add to the portfolio belonging to the account user.""" canRegisterPortfolioAccounts: Boolean """Allow registration requests with customers without an email address.""" canRegisterCustomersWithoutEmailAddress: Boolean """Allow this partner to skip validation that ensures all meter points belong to the same address.""" skipMeterPointAddressValidation: Boolean """Is this partner allowed to specify payment methods other than Direct Debit in the import csv or API.""" allowAlternativePaymentMethods: Boolean """Allow performing tariff renewals via API.""" canRenewTariffs: Boolean """Allow this partner access to the IVR support API (modify their own IVR handling through third party 'IVR Flow Editor').""" canUseIvrSupportApi: Boolean """Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels.""" isFieldSalesOnlyProduct: Boolean } input CreateAffiliateSessionInputType { """The affiliate link for whom to create the session for.""" linkId: ID! """The IP Address of the user.""" ipAddress: String """The HTTP user agent.""" userAgent: String """Additional query parameters to attach to this session.""" queryParams: JSONString """The quote share that led to this session.""" quoteShareId: ID } input CreateAgreementInput { """A code that uniquely identifies the account.""" accountNumber: String! """The external identifier of the supply point.""" supplyPointExternalIdentifier: String! """A code that uniquely identifies the product.""" productCode: String! """The start date of the agreement.""" validFrom: DateTime! """The end date of the agreement (exclusive).""" validTo: DateTime """The date and time when the agreement was made.""" agreedAt: DateTime! """A dictionary of additional parameters for the agreement.""" params: GenericScalar """The deadline date and time for rescinding the agreement.""" rescissionDeadlineAt: DateTime } input CreateAgreementRolloverInput { """Identification of the account that is requesting the agreement rollover.""" accountNumber: String! """Identification of the agreement that is being rolled over.""" currentAgreementId: ID! """The product code for the new agreement.""" renewProductCode: String! """If the agreement is open-ended, will terminate the agreement on this date.""" rolloverDate: Date """The expected date when the agreement rollover will be executed.If not provided, will calculate it taking into account the valid to date of the agreement.""" expectedSendDate: Date """Suppress Agreement Rollover communications.""" suppressComms: Boolean = false """List of comma-separated tags to be added to the rollover.""" tags: [String] """A JSON object containing additional parameters for the agreement rollover. Ensure it's properly encoded.""" params: GenericScalar } input CreateBusinessInput { """The business' name.""" businessName: String! """The business' number.""" businessNumber: String! """The company type of a business account.""" businessType: BusinessTypeOptions! """Additional details for the business.""" businessDetails: [BusinessDetailInput] """The billing address for the business.""" businessBillingAddress: RichAddressInput = null """The legal address for the business.""" businessLegalAddress: RichAddressInput = null """The list of sectors the business operates in.""" businessSectors: [BusinessSectorString!] } input CreateCampaignItemsInput { """The campaign ID.""" campaignId: String! """The items to add.""" campaignItems: [CampaignItemInput]! } """Input type for CreateCentrepayDeduction mutation""" input CreateCentrepayDeductionInputType { """Given name of customer that the Deduction is associated with.""" customerGivenName: String! """Family name of customer that the Deduction is associated with.""" customerFamilyName: String! """Date of birth of customer that the Deduction is associated with.""" customerDateOfBirth: Date! """Kraken account number that the Deduction is associated with.""" accountNumber: String! """3-letter code indicating the type of social security payment.""" benefitGroup: CentrepayBenefitGroupEnum! """3-letter code indicating the product or service the Deduction is for.""" serviceReason: CentrepayServiceReasonEnum! """Customer Centrelink CRN.""" customerReferenceNumber: String! """Deduction payment amount (in cents).""" amount: Int! """An optional target total payment amount after which Centrelink will end the deduction (in cents).""" targetAmount: Int = null """Date this Deduction Instruction is valid to.""" validTo: Date = null """Date this Deduction Instruction is valid from. Leave blank to begin immediately.""" validFrom: Date = null } input CreateCollectionProcessEventInputType { """The Collection Process Record Number.""" number: String! """The type of event that occurred.""" eventType: CollectionProcessEventTypeEnum! """When the event actually occurred. If not provided, uses current time.""" occurredAt: DateTime """Additional data about the event (e.g., error details, reactivation reason).""" data: JSONString } input CreateComplaintInputType { """The account number of the account the complaint is for.""" accountNumber: String! """Complaint type.""" type: String! """Complaint subtype.""" subtype: String """A summary of the complaint.""" summary: String """The complainant's preferred contact method.""" preferredContactMethod: String """Source of the complaint.""" communicationSource: ComplaintSourceChoices! """The complaint status.""" status: String! """The brand associated with the complaint.""" brand: String! } input CreateConcessionInput { cardType: ConcessionCardType! cardNumber: String! """The user for whom to perform the creation. This is only needed when using an Organisation role.""" userId: String """Date of Concession issue.""" issueDate: Date """Date of Concession expiration.""" expiryDate: Date } """Input type for creating a contract.""" input CreateContractInput { """The party for the contract.""" party: PartyInput! """The accounts impacted by this contract, supplied as a list of account numbers. This field is only applicable when the party is a business.""" subject: [NonEmptyString!] """The terms of the contract.""" terms: [OneOfTermInput!]! """Date when the contract was signed.""" signedAtDate: IndustryMidnightAlignedDateField! """Date from which the contract is valid.""" validFromDate: IndustryMidnightAlignedDateField! """Date until which the contract is valid. Leave null for open-ended contracts.""" validToDate: IndustryMidnightAlignedDateField """Title of the contract.""" title: NonEmptyString """The sale metadata associated with the contract.""" sale: SalesDetailsInput! } input CreateContributionAgreementInput { """The account number.""" accountNumber: String! """The code of the scheme to contribute to.""" schemeCode: String! """The frequency of contributions.""" interval: Interval! """The amount contributed per interval. Note, this is in the smallest domination that the currency supports. e.g. Pence, Cents, Yen, etc.""" amount: Int! """The start datetime of the agreement.""" activeFrom: DateTime! """The end datetime of the agreement, if any.""" activeTo: DateTime } input CreateCreditTransferPermissionInput { """Source ledger number.""" sourceLedgerNumber: String! """Target ledger number.""" targetLedgerNumber: String! } input CreateCustomerFeedbackInputType { """The number of the affected account.""" accountNumber: String! """The source of the feedback.""" feedbackSource: String! """The id of the affected user.""" accountUserId: Int """The number of the affected user.""" accountUserNumber: String """The id of the voice call (new call system) that triggered this feedback request.""" voiceCallId: Int """The id of the ink conversation that triggered this feedback request.""" inkConversationId: Int """The id of the support user who last contacted the customer.""" lastContactedSupportUserId: Int } input CreateDepositAgreementInput { accountNumber: String! depositKey: String! reason: String! } input CreateDirectDebitInstructionInput { accountNumber: String! directDebitInstruction: DirectDebitInstructionLocalBankDetailsInput! """The owners of the financial account this instruction represents.""" owners: [OwnerInput] """Set newly created payment instruction as the active payment preference.""" useForAutomatedPayments: Boolean } input CreateElectricityQuoteInput { """The nmi to look for. Use postcode (and suburb) if not known.""" nmi: String """The user id to associate with the quote.""" contactUserId: ID """Specifies a quote for business or domestic customers.""" isBusiness: Boolean """Postcode to quote for if the nmi is unavailable.""" postcode: String """Suburb to quote for if the nmi is unavailable.""" suburb: String """The brand to quote for.""" brand: String } input CreateExternalAccountEventInput { """The number of the account that the event should be created for.""" accountNumber: String! """The category of the event.""" category: ExternalAccountEventCategory! """The subcategory of the event.""" subcategory: ExternalAccountEventSubCategory """A human-readable description of the event.""" description: String """The time the event occurred.""" occurredAt: DateTime """An array of content data associated with the event.""" content: [ExternalAccountEventContent]! } input CreateExternalAccountUserEventInput { """The user that the event should be created for.""" userId: String! """The category of the event.""" category: ExternalAccountEventCategory! """The subcategory of the event.""" subcategory: ExternalAccountEventSubCategory """A human-readable description of the event.""" description: String """The time the event occurred.""" occurredAt: DateTime """An array of content data associated with the event.""" content: [ExternalAccountEventContent]! } input CreateExternalMessageEventInput { """The name of the external messaging vendor.""" vendor: String! """The unique ID of the message in the external vendor's system. This must match a previously created external message.""" vendorMessageId: String! """The date and time this event occurred.""" occurredAt: DateTime! """The type of message event.""" eventType: MessageEventType! """Event data for DELIVERY_FAILED events.""" deliveryFailedEventData: DeliveryFailedInput """Event data for DEFERRED events.""" deferredEventData: DeferredInput """Event data for OPENED events.""" openedEventData: OpenedInput """Event data for CLICKED events.""" clickedEventData: ClickedInput """Optional JSON object for vendor-specific data that doesn't fit the structured event data fields. Stored separately from the structured fields.""" additionalVendorData: JSONString } input CreateExternalMessageInput { """The name of the external messaging vendor that sent this message (for example, 'SENDGRID').""" vendor: String! """The unique ID of the message in the external vendor's system.""" vendorMessageId: String! """The date and time this message was sent.""" sentAt: DateTime! """The account number of the account to link this message to.""" accountNumber: String! """Content specific for emails. Exactly one of emailContent or smsContent must be provided.""" emailContent: EmailContentInput """Content specific for SMS messages. Exactly one of emailContent or smsContent must be provided.""" smsContent: SMSContentInput } input CreateGasMeterReadInput { """Usage value of energy.""" value: String! """Datetime at which the reading took place.""" readAt: DateTime! """Meter to associate reading with.""" meterId: ID! """Common factor.""" commonFactor: Decimal = null """Pressure correction factor.""" pressureCorrectionFactor: Decimal = null } input CreateGasMeterReadsInput { """Account number associated with the readings meters.""" accountNumber: ID """Gas readings to generate and associate for the passed in meter.""" readings: [CreateGasMeterReadInput]! """Generate an account reminder for energy specialists to Trigger a billing action on the customers account.""" shouldTriggerCustomerToBillReminder: Boolean = false } input CreateGasQuoteInput { """Gas meter point identifier to quote for.""" mirn: String """Postcode to quote for if mirn unavailable.""" postcode: String """Specifies a quote for business or domestic customers.""" isBusiness: Boolean! """The brand to quote for.""" brand: ID } input CreateGasSupplyPointInput { isBusiness: Boolean mirn: ID! postalAddress: GasSupplyPointAddressInput! } input CreateGoodsQuoteInput { """The account number.""" accountNumber: String! """Products to get a quote for.""" productsToQuote: [ProductToQuoteInput]! """A JSON object containing client parameters to store on the quote.""" clientParams: JSONString """A JSON object containing market parameters to store on the quote.""" marketParams: JSONString } input CreateGoodsQuoteWithoutAccountInput { """Customer profile.""" customerProfile: CustomerProfileInput! """Products to get a quote for.""" productsToQuote: [ProductToQuoteInput]! """A JSON object containing client parameters to store on the quote.""" clientParams: JSONString """A JSON object containing market parameters to store on the quote.""" marketParams: JSONString } """ Input type for creating a hardship agreement. Fields align with the domain function parameters and Django model structure. """ input CreateHardshipAgreementInput { """The account number for the hardship agreement.""" accountId: String! """The type of hardship (e.g., unemployment, household illness).""" hardshipType: HardshipTypeEnum! """Internal notes detailing the hardship situation.""" hardshipDetails: String! """How the customer entered the hardship program.""" hardshipEntryReason: HardshipEntryReasonEnum = null """The start date of the hardship agreement (inclusive).""" startDate: Date! """The end date of the hardship agreement (inclusive). Null means ongoing.""" endDate: Date = null """The reason for exiting the hardship agreement.""" exitReason: HardshipExitReasonEnum = null """Additional details about why the hardship agreement ended.""" exitReasonDetails: String = null """Details of the payment plan associated with this hardship agreement.""" paymentPlanDetails: String = null """Whether to send communication to the customer about the hardship agreement.""" sendComms: Boolean = false } input CreateInboundCallInput { """The phone number that the call is from.""" fromPhoneNumber: String! """The phone number that the call is to.""" toPhoneNumber: String! """The Voice vendor managing the call.""" vendor: VoiceVendor! """The ID of the call in the vendor's system.""" vendorCallId: String! } input CreateInkInboundMessageInput { """The number of the Kraken account that the message was from.""" accountNumber: String """ 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. """ channel: InkCommunicationChannel! """ 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. """ messageId: String! """The message to ingest.""" newMessage: InkMessageInput! """ 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 INK_DEFAULT_GENERIC_MESSAGE_API_VENDOR. """ vendor: String """ 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 """ messageHeaders: JSONString """When the message occurred in the system of origin.""" occurredAt: DateTime } input CreateInkLiveChatMessageInput { """The number of the Kraken account that the message was from.""" accountNumber: 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. """ messageId: String! """The message to ingest.""" newMessage: InkMessageInput! """ 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. """ vendor: String """When the message occurred in the system of origin.""" occurredAt: DateTime } input CreateInternalCompanyInput { """The name of the internal company.""" name: String! """The registration number deemed as primary for the internal company.""" primaryRegistrationNumber: String """The registration number deemed as secondary for the internal company.""" secondaryRegistrationNumber: String """The tax identifier number deemed as primary for the internal company.""" primaryTaxIdentifierNumber: String """The legal address of the internal company.""" legalAddress: RichAddressInput } input CreateLeadInput { """A list of contact details for the lead.""" leadContacts: [LeadContactDetailsInput]! """The type of the lead.""" leadType: LeadTypeChoices = null """The extra details for the lead.""" extraDetailsItems: [ExtraDetailsItem] """Account number's external identifier.""" accountNumber: String = null } """Input for creating a MeterDataIssueFlow.""" input CreateMeterDataIssueFlowInputType { """The name of the market (e.g., 'AUS_ELECTRICITY').""" marketName: String! """The ID of the MeterDataIssue to link to a flow.""" issueId: Int! """The reference code for the active flow.""" flowRunIdentifier: String! """The type of the flow.""" flowType: String! } input CreateMfaDeviceInputType { """MFA enrolment method.""" mfaMethod: MFAMethodChoices! } input CreateNewAgreementFromProductSwitchProcessInput { """ID of the product switch process model already initiated.""" productSwitchProcessId: ID! } input CreateOfferGroupForQuotingInput { """List of Offerings.""" productOfferings: [OfferingForQuotingInput]! } input CreateOnSiteJobsRequestInputType { """Supply point external identifier to market name mappings to associate with the request. If this is provided, `supply_point_internal_ids` cannot be provided.""" supplyPointIdentifierToMarketNameMapping: [SupplyPointIdentifierToMarketNameMappingInput!] """List of internal IDs of supply points to associate with the request. If this is provided, `supply_point_identifier_to_market_name_mapping` cannot be provided.""" supplyPointInternalIds: [Int!] """Comment for the request.""" comment: String """Is emergency.""" isEmergency: Boolean = false """Request reporter.""" reporter: ReporterInput = null """Request status. This value may be overridden to APPROVAL_PENDING if the reason or emergency requires approval.""" status: OnSiteJobsRequestStatus = PENDING """External reference for the request.""" externalReference: String """Request related assets.""" assets: [OnSiteJobsAssetInput!]! """Run validation checks before creating the request. Cannot be false when using AccountUser authentication.""" runRequestChecks: Boolean = true """Ignore any warnings raised by the request checks.""" overrideRequestCheckWarnings: Boolean = false } input CreateOpportunityAndLeadInput { """The code of the funnel.""" funnelCode: String! """The number of the affiliate organisation the opportunity is assigned to.""" assignedToAffiliateNumber: String = null """The identifier of the user to assign the opportunity to.""" assignedToUserIdentifier: String """The identifier of the team to assign the opportunity to.""" assignedToTeamIdentifier: String """The sales channel of the opportunity.""" salesChannel: String! """Notes about the opportunity.""" notes: String! """The extra details for the opportunity.""" extraDetailsItems: [_CreateOpportunityExtraDetailsItem] """Whether to use the same address for billing.""" useSameAddressAsBilling: Boolean = false """Supply points for the opportunity.""" supplyPoints: [LeadSupplyPoint] """The ID of the product offering.""" productOfferingId: String """The contact details for the lead.""" leadContactDetails: LeadContactDetailsInput! """The type of the lead.""" leadType: String! """The account number.""" accountNumber: String! """The address for the opportunity.""" opportunityAddress: RichAddressInput } input CreateOpportunityFileAttachmentInput { """The unique number of the opportunity.""" opportunityNumber: String """S3 key for the file attachment.""" s3Key: String! """The category of the file being created.""" category: OpportunityAttachmentCategory! } input CreateOpportunityForLeadInput { """The code of the funnel.""" funnelCode: String! """The number of the affiliate organisation the opportunity is assigned to.""" assignedToAffiliateNumber: String = null """The identifier of the user to assign the opportunity to.""" assignedToUserIdentifier: String """The identifier of the team to assign the opportunity to.""" assignedToTeamIdentifier: String """The sales channel of the opportunity.""" salesChannel: String! """Notes about the opportunity.""" notes: String! """The extra details for the opportunity.""" extraDetailsItems: [_CreateOpportunityExtraDetailsItem] """Whether to use the same address for billing.""" useSameAddressAsBilling: Boolean = false """Supply points for the opportunity.""" supplyPoints: [LeadSupplyPoint] """The number of the lead.""" leadNumber: String! """The ID of the product offering.""" productOfferingIdentifier: String """The address for the opportunity.""" address: RichAddressInput } input CreateOrUpdateLoyaltyCardInput { """The id of the account user.""" accountUserId: String """The scheme of the loyalty card.""" scheme: String """The number of the loyalty card.""" number: String } """ All information provided in order to create or update time series entries associated with an existing time series. """ input CreateOrUpdateTimeSeriesEntriesInput { """The time series code.""" code: NonEmptyString! """The product code associated to the time series.""" productCode: NonEmptyString """The time series entries.""" entries: [TimeSeriesEntryInput!]! } input CreatePartnerUserInput { """The number of the partner team to assign the new user to.""" partnerTeamNumber: String! """The code of the role to grant to the new partner user.""" roleCode: String! """The partner user's given name.""" givenName: String! """The partner user's family name.""" familyName: String! """The partner user's email address.""" email: String! } input CreatePaymentActionIntentInput { """The account number.""" accountNumber: String! """The type of target the payment should be associated with.""" targetType: PaymentActionIntentTargetType! """The unique identifier for the target the payment should be associated with.""" targetIdentifier: String! """The unique string used to identify this intent to ensure it is only processed once.""" idempotencyKey: String! } input CreatePaymentExtensionInput { accountNumber: String! """The start date the payment extension would be applied by.""" chosenDate: Date! """The length of instalment to use for this payment extension.""" chosenOption: PaymentExtensionOption! """The number of the ledger of the payment. Defaults to the default ledger when no number is passed.""" ledgerNumber: String paymentInstructionId: String } input CreatePaymentMethodActionIntentInput { """The account number.""" accountNumber: String! """The type of target the payment method should be associated with.""" targetType: PaymentMethodActionIntentTargetType! """The unique identifier for the target the payment method should be associated with.""" targetIdentifier: String! """The unique string used to identify this intent to ensure it is only processed once.""" idempotencyKey: String! """The owners of the financial account the payment method represents.""" owners: [PaymentMethodOwnerInput] } input CreatePaymentPlanOfferInput { """The account number.""" accountNumber: ID! """The ledger number (eg. L-123456) to associate the payment plan with. Leave empty to use the default ledger.""" ledgerNumber: String """The frequency of the payment plan. Eg. WEEKLY or MONTHLY.""" paymentFrequency: PaymentFrequency! """The multiplier for the payment frequency. Eg. 1 for weekly, 2 for fortnightly.""" paymentFrequencyMultiplier: Int! """Debt component of the payment plan offer.""" debtComponent: DebtComponent = null """Ongoing component of the payment plan offer.""" ongoingComponent: OngoingComponent = null """Expiry date of the offer. Must be before the first payment date. Will be pushed forwardto a working day if set to a weekend or public holiday.""" offerExpiry: Date! """First payment date of the offer. Must be after the offer expiry. Will be pushed forwardto a working day if set to a weekend or public holiday.""" firstPaymentDate: Date! """The initial payment type of the new payment plan payment schedule.""" initialScheduleType: ScheduleType! """Send comms to the customer with the details of the Offer?""" sendOfferComms: Boolean! """Extra context that can be used to customise the comms sent to the customer.""" commTemplateContext: JSONString """Optional ID of the Support User who performed this operation. Used for audit purposes.""" supportUserId: ID } input CreatePortfolioInput { """The brand to associate with this portfolio, if not provided the default brand will be used.""" brandCode: String """The ID of the operations team to associate with this portfolio.If no team is provided, no team will be assigned to the portfolio.""" operationsTeamId: ID """Whether collective bills should be issued for the portfolio's accounts. The default value is False.""" collectiveBilling: Boolean = false } input CreatePortfolioUserRoleInput { """The portfolio to associate the user with.""" portfolioId: ID! """The user to associate with the portfolio.""" accountUserId: ID! """The role to assign to the user. If not provided the default role will be used.""" role: RoleString = null } input CreatePostEventsInput { """List of post events to create.""" events: [PostEventInput]! } input CreatePrimaryResidenceInput { """The user to link with the primary residence.""" userId: String! """The property where the user lives.""" propertyId: String! """The date is inclusive.""" fromDate: Date! """The date is exclusive. A null value means that the PPoR has no expiration date.""" toDate: Date = null """Allow this primary residence to overlap with an existing primary residence if the property is different. Typically, you would only do this if the customer has accounts with multiple fuels.""" allowOverlappingPeriods: Boolean! """Force end an overlapping period for the same property. You should only need to do this if the primary residence property was not ended correctly for a previous customer.""" forceEndOverlappingProperty: Boolean! } """Input type for creating a product.""" input CreateProductInput { """The name of the market the product belongs to.""" marketName: NonEmptyString! """The product code.""" code: NonEmptyString! """The brand code.""" brandCode: NonEmptyString! """The product notes.""" notes: String! """The product title.""" fullName: NonEmptyString! """The product description.""" displayName: NonEmptyString! """The product description.""" description: String! """The date the product is available from.""" availableFrom: DateTime! """The date the product is available to.""" availableTo: DateTime """Whether the product is hidden.""" isHidden: Boolean! """Tags associated with the product.""" tags: [String!]! """The product term in months.""" term: Int """The date the product ends.""" endsAt: DateTime """The product availability status.""" availabilityStatus: ProductAvailability! """The product contract type.""" termsContractType: String! """A list of terms and conditions specified by codes to associate with the product.""" termsAndConditionsTypes: [String!]! """The product parameters.""" params: JSONString """The product specification code.""" specificationCode: String """Overrides for product characteristics.""" characteristicOverrides: [CharacteristicOverride!] } input CreatePurchaseInput { """The account number.""" accountNumber: String! """Products being purchased.""" saleItems: [ProductToPurchaseInput]! """A JSON object containing client parameters to store on the purchase.""" clientParams: JSONString """A JSON object containing client parameters to store on the purchase.""" marketParams: JSONString } input CreateQuoteForAccountInput { """Account number.""" accountNumber: String! """List of supply point identifiers to be quoted.""" identifiers: [String]! """Date as of when the quote is applicable.""" asOf: Date! } input CreateQuoteForPropertyInput { """The property id to quote for.""" propertyId: ID! """The start supply date. If no supply date is provided, the quote will be based on theproducts, rates and meter data available today.""" supplyDate: Date """Specifies a move in quote.""" isMoveIn: Boolean! """Specifies a quote for business or domestic customers.""" isBusinessAccount: Boolean! """The brand to quote for.""" brand: ID } """Required information for creating a referral""" input CreateReferralInput { """The account number for the referred account.""" accountNumber: String! """A referral code, e.g. grey-badger-47.""" reference: String! } input CreateRegisterNTCOverrideInputType { """The target meter point nmi.""" meterPointNmi: String! """The new network tariff code to be applied on the Register.""" effectiveNetworkTariffCode: String! """Start date of the override.""" startAt: Date! """End date of the override.""" endAt: Date """Register where the network tariff code override is applied.""" registerId: ID! } input CreateReminderInput { """The account number.""" accountNumber: String """The business ID.""" businessId: Int """The reminder type name.""" reminderTypeName: String! """Reminder content.""" content: String! """When the reminder is due.""" dueAt: DateTime """The username of the user responsible for completing the reminder.""" assigneeUsername: String """The id of the user responsible for completing the reminder.""" assigneeId: ID """The name of the team responsible for completing the reminder.""" assigneeTeamName: String """The id of the team responsible for completing the reminder.""" assigneeTeamId: ID """Reopen ink conversation.""" reopenInkConversation: Boolean """Additional parameters for the reminder type.""" params: JSONString } input CreateScheduledTransactionsInput { """Whether the scheduled transaction is a 'CHARGE' or a 'CREDIT'.""" action: String! """The gross amount of the scheduled transaction.""" grossAmount: Int! """The net amount of the scheduled transaction.""" netAmount: Int! """The tax amount of the scheduled transaction.""" taxAmount: Int! """The tax rate of the scheduled transaction.""" taxRate: Decimal! """The reason why the scheduled transaction is added to the account. Based on the input this should be a valid charge or a valid credit reason code.""" reason: String! """Unique identifier for the scheduled transaction.""" idempotencyKey: String! """The schedule on which the scheduled transaction will be posted.""" postedAfter: DateTime! """Additional data that will be consumed and associated with the scheduled transaction.""" ancillaryData: JSONString = "{}" """Any extra data that will be associated with scheduled transaction.""" metadata: JSONString = "{}" """Optional short note about the scheduled transaction for internal use.""" internalNote: String = "" """Optional short note about the scheduled transaction for customer display.""" displayNote: String = "" """The number of the ledger the scheduled transaction is for.""" ledgerNumber: String! } input CreateShellAccountInput { portfolioNumber: String givenName: String! familyName: String! billingName: String email: String! mobile: String landline: String brand: String dateOfBirth: Date billingAddressLine1: String billingAddressLine2: String billingAddressLine3: String billingAddressLine4: String billingAddressLine5: String billingPostcode: String """This must be a string-ified version of the JSON representation of RichAddressInput type.""" billingRichAddress: String """For fixed billing accounts only, the length of their billing period. Can be MONTHLY or QUARTERLY.""" billingPeriodLength: String """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.""" billingPeriodMultiplier: Int """Day to fixed bill on if billing_period_length set.""" billingPeriodDay: Int """Month to start billing from if billing_period_length set to QUARTERLY or the multiplier is > 1.""" billingPeriodMonth: Int isBusinessAccount: Boolean companyName: String companyNumber: String businessType: String taxNumber: String password: String passwordUpdateToken: String urn: String clientMutationId: String } """Input data to create prices associated with the time series represented by the code.""" input CreateTimeSeriesPricesInput { """The time series code.""" code: NonEmptyString! """The product code associated to the time series.""" productCode: NonEmptyString """The time series entries.""" entries: [TimeSeriesEntryInput!]! } input CreateUserProfileEventAndPublishInput { eventType: EventTypeChoices = null """A user's id. Must be an integer.""" userId: ID """An account number.""" accountNumber: ID """The sync batch identifier.""" syncBatchId: ID """Whether this is a forced sync event.""" isOverride: Boolean } input CreditCardInstructionAttributesInput { id: String! expiryMonth: String! expiryYear: String! } input CustomerConsultationDetailsInput { """The customer's title/salutation.""" title: CustomerSalutation """The customer's given name.""" givenName: String """The customer's family name.""" familyName: String """The prefix of the customer's phone number.""" phonePrefix: String """The customer's phone number.""" phoneNumber: String """Whether this is a landline, mobile, fax, or so on.""" phoneType: AustralianTelephoneServiceType """The customer's preferred appointment date.""" appointmentDate: Date """The customer's preferred appointment time.""" appointmentTime: Time } """Details about the customer.""" input CustomerDetailsInput { """Given name.""" givenName: String! """Family name.""" familyName: String! """The customer's title.""" title: String """The customer's pronouns.""" pronouns: String """Account email.""" email: String """Account mobile phone number.""" mobile: String """Account landline number.""" landline: String """The customer's date of birth.""" dateOfBirth: Date """A free text field to help identifying the customer (e.g. for a job title).""" label: String """The customer's communication preferences.""" preferences: UpdateAccountUserCommsPreferencesInput = null } input CustomerFeedbackInputType { answer: String issueResolved: Boolean! formId: Int! feedbackId: Int! accountNumber: String! } input CustomerProfileInput { """Customer's given name.""" givenName: String! """Customer's family name.""" familyName: String! """Customer's email.""" email: String! """Customer's phone number.""" phoneNumber: String! """Customer's postcode.""" postcode: String! """Line 1 of customer's address.""" addressLine1: String! """Line 2 of customer's address.""" addressLine2: String """Line 3 of customer's address.""" addressLine3: String """Line 4 of customer's address.""" addressLine4: String """Line 5 of customer's address.""" addressLine5: String } input CustomerSelfMeterReadInput { """Usage value of energy.""" value: String! """Datetime at which the reading took place.""" readAt: DateTime! """Register to associate reading with.""" registerId: Int! } input DebtComponent { """Number of instalments for this component.""" numberOfInstalments: Int! """Total payment amount for this component in Cents.""" totalPaymentAmount: Int! } """The input type for deducting Loyalty Points.""" input DeductLoyaltyPointsInput { """The account number.""" accountNumber: String! """The related user id to deduct points from. The primary account user will have their points deducted if this isn't present.""" accountUserId: String """The number of Loyalty Points to deduct.""" points: Int! """The reason code associated with the deduction.""" reasonCode: LoyaltyPointDeductionEntryReasonCode = null """A note about the deduction.""" note: String """A unique idempotency key for the deduction operation.""" idempotencyKey: UUID } input DeferredInput { """The reason for the deferral.""" reason: String """The number of delivery attempts made so far.""" attempt: Int } input DeleteAccountReferenceInput { """The account number associated with the removed AccountReference.""" accountNumber: String! """The namespace associated with the removed AccountReference.""" namespace: String! } input DeleteMfaDeviceInputType { """MFA method.""" mfaMethod: MFAMethodChoices! } input DeletePaymentScheduleInput { """Account associated with payment schedule.""" accountNumber: String! """Associated payment schedule for account.""" paymentScheduleId: String! } """Input for deleting all descendants of a property in a hierarchy.""" input DeletePropertyDescendantsInput { """The ID of the property whose descendants should be deleted.""" propertyId: ID! """The name of the hierarchy.""" hierarchyName: String = "default" } input DeletePushNotificationBindingInput { """Device push notification token.""" token: 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.""" externalProvider: String } input DeliveryFailedInput { """Whether the failure is permanent. For example True for hard bounces or permanent SMS failures, False for soft bounces or temporary failures, null if unknown.""" isPermanent: Boolean """The reason for the delivery failure.""" reason: String """The vendor-specific error code (for example, SMTP '550' or Twilio '30006').""" vendorErrorCode: String } input DepositAgreementInput { accountNumber: String! depositKey: String! } input DetachAgreementsFromContractsInput { """IDs of the agreements to detach from all linked contracts.""" agreementIds: [Int!]! } input DetachSupplyPointFromEstimationGroupInput { """Supply point external identifier.""" supplyPointExternalId: String! """Datetime period start to look for supply point.""" supplyPointPeriodStart: DateTime = null } input DetailsInputType { """Namespace of the detail.""" namespace: String! """Value of the detail.""" value: String } input DirectDebitInstructionLocalBankDetailsInput { accountNumber: String! accountHolder: String! sortCode: String! } """Input type for the DirectMeteringTerm.""" input DirectMeteringInput { """Whether the term is variable.""" isVariable: Boolean } input DoubleOptInInput { """The number of the account requesting the double opt-in.""" accountNumber: String """The email address of the customer requesting the double opt-in.""" emailAddress: String """The mobile number of the customer requesting the double opt-in.""" mobileNumber: String """The consent type code to create a consent for.""" consentTypeCode: String! """The IP address of the customer requesting the double opt-in.""" ipAddress: String! } """Input type for the EEPAExportContractedVolumeType.""" input EEPAExportContractedVolumeInput { """Whether the term is variable.""" isVariable: Boolean """The volume cap periods for this term.""" periods: [EEPAExportContractedVolumePeriodInput]! } """Input type for an EEPA export contracted volume period.""" input EEPAExportContractedVolumePeriodInput { """The contracted volume cap value.""" value: Decimal! """The unit of the volume cap (e.g. kilowatt_hour).""" unit: String! """The start of the period (inclusive).""" validFrom: DateTime! """The end of the period (exclusive).""" validTo: DateTime! """Supply point IDs this period applies to. Null means it applies to all supply points not covered by a specific config.""" supplyPointIds: [ID] } """Captures data required to produce `ElecAcquisitionData`""" input ElectricityAcquisitionDetailsInput { """Identifier of a supply point.""" supplyPointId: ID """Identifier of the selected quoted product for this supply point.""" quotedProductId: ID """Addons which can be applied to the agreement associated with this move in.""" addonBands: [String] """Special instructions regarding access.""" accessDetails: String """[QLD Only] Appointment access details.""" appointmentAccess: String """[QLD Only] Safety inspection preferred time.""" preferredTime: AppointmentChoices = null """Applicable hazards.""" hazards: [HazardType] """Any other applicable hazards that should be known.""" hazardDetails: String """Required where the power has been off for greater than 12 months.""" safetyCertificateId: String """Special instructions.""" specialInstructions: String """Communication method.""" safetyCertificateMethodSent: MethodSent = null """Indicates whether a customer consultation is required.""" customerConsultationRequired: Boolean = false """Customer title.""" customerDetailNameTitle: CustomerSalutation = null """Customer given name.""" customerDetailGivenName: String """Customer family name.""" customerDetailFamilyName: String """Phone number prefix.""" customerDetailPhonePrefix: String """Phone Number.""" customerDetailPhoneNumber: String """Phone type.""" customerDetailPhoneType: AustralianTelephoneServiceType = null """Appointment reference.""" appointmentReference: String """Preferred date of appointment.""" appointmentPreferredDate: Date """Preferred time of appointment.""" appointmentPreferredTime: Time """Sensitive load.""" isSensitiveLoad: Boolean = false """Indicates remote works can be executed safely.""" safeForRemote: Boolean = false """Indicates new connection.""" isNewConnection: Boolean = false } input ElectricityEstimateInput { """The code for the product to create an estimate for.""" productCode: String! """The NMI to create the estimate for.""" nmi: String! """The date and time the estimated if for.""" atDatetime: DateTime! """Usage summary to use for the estimation process.""" usageSummary: UsageSummaryInput } """ Filter measurements by electricity parameters. """ input ElectricityFiltersInput { """The frequency of the reading.""" readingFrequencyType: ReadingFrequencyType = RAW_INTERVAL """The identifier of the market supply point associated to this reading.""" marketSupplyPointId: String """The identifier of the specific device associated to this reading.""" deviceId: String """Reading direction is based on the utility generated or consumed by the customer.""" readingDirection: ReadingDirectionType = CONSUMPTION """The identifier of the register associated to this reading.""" registerId: String readingQuality: ReadingQualityType = COMBINED } input ElectricityMoveInDatesSearchInput { nmi: String! isMoveIn: Boolean = true } input ElectricityPlanDetailsType { meterPointIdentifier: String! productCode: String! """Additional addons which can be applied to the agreement for this switch.""" addonBands: [String] } input EmailContentInput { """The email subject line.""" subjectTxt: String! """A plain text email body. At least one of bodyTxt or bodyHtml must be provided.""" bodyTxt: String """An HTML email body. At least one of bodyTxt or bodyHtml must be provided.""" bodyHtml: String """The recipient email address (for example, 'user@example.com').""" toEmail: String! """Either the sender's email address or the sender's name and email address (for example, 'sender@example.com' or 'Sender Name ').""" fromEmail: String! """List of reply-to email addresses (for example, 'reply@example.com').""" replyToEmails: [String] } """ Filter measurements by embedded electricity parameters. """ input EmbeddedElectricityFiltersInput { """The frequency of the reading.""" readingFrequencyType: ReadingFrequencyType = RAW_INTERVAL """The identifier of the market supply point associated to this reading.""" marketSupplyPointId: String """The identifier of the specific device associated to this reading.""" deviceId: String """Reading direction is based on the utility generated or consumed by the customer.""" readingDirection: ReadingDirectionType = CONSUMPTION """The identifier of the register associated to this reading.""" registerId: String readingQuality: ReadingQualityType = COMBINED } input EndContributionAgreementInput { """The ID of the Contribution Agreement to end.""" contributionAgreementId: ID! """The future end datetime of the agreement. If not given, terminate now.""" endAt: DateTime } input EndMeterDataIssueFlowInputType { """The reference code for the active flow.""" flowRunIdentifier: String! """The end status to set for the Flow.""" status: MeterDataIssueFlowStatus! } input EnqueueInboundCallInput { """Identifier for the call to enqueue, as an integer or a UUID.""" callId: ID! """ List of routing attribute references to add to the call. For example, 'SKILL.ENERGY'. Each attribute should already have been created in Kraken. """ routingAttributes: [String!] """ The priority with which the call should be routed. A higher number corresponds to a higher routing priority. """ priority: Int = 0 """ 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. """ waitingBehaviourUrl: String """ Whether to infer the preferred language of the calling account. """ inferLanguageAttribute: Boolean = true """ Whether to infer the operations group attributes of the calling account. """ inferOperationsGroupAttributes: Boolean = true } """The input type for enrolling an account in loyalty program.""" input EnrollAccountInLoyaltyProgramInput { """The account user id to enroll.""" accountUserId: ID """The account number to enroll.""" accountNumber: String! } input EnrollmentInput { """The Kraken account number.""" accountNumber: String! """Bank details for setting up a payment instruction as part of the enrollment.""" bankDetails: BankDetailsInput """Payment slip details for setting up a payment instruction in the vendor's system as part of the enrollment.""" paymentSlipDetails: PaymentSlipDetailsInput """Details of an externally created payment instruction to be recorded in Kraken.""" instructionDetails: InstructionDetailsInput """UUID reference returned by the storeDirectDebitPaymentMethodDetails mutation. Used when bank details were pre-stored with the vendor before an account existed, e.g. during third-party SFTP enrolment.""" storedPaymentMethodDetailsReference: String """Details of the payment schedule(s) to be created as part of enrollment.""" paymentSchedule: PaymentScheduleDetailsInput """Details of the security deposit to be created as part of enrollment.""" securityDeposit: SecurityDepositInput """Sales info for this enrollment.""" salesInfo: SalesInformationInput """Enrollment note.""" note: String """If this is a house move, the number of the leave supplier process associated with the move out.""" leaveSupplierNumber: String """Typed contract identifiers for contracts that this journey's account is subject to.""" contractIdentifiersInput: ContractIdentifiersInput """Optional idempotency key to prevent duplicate journey creation on retry.""" idempotencyKey: String } input EscalateInkConversationInput { """Account number that requested to escalate the conversation.""" accountNumber: String! """The relay id of the conversation to escalate to the team leader.""" conversationRelayId: ID! } input ExtendAgreementPeriodInput { """A code that uniquely identifies the agreement.""" agreementId: ID! """A code that uniquely identifies the account.""" accountNumber: String! """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.""" validTo: Date! """The reason for the change.""" reason: String } """A piece of content associated with an external account event.""" input ExternalAccountEventContent { """A human-readable description of the content.""" description: String! """The content type of the content.""" contentType: ExternalAccountEventContentType! """The value of the content.""" value: String! } """ Input for updating an extra detail field in a quote configuration. At least one of field_value or field_type must be provided. """ input ExtraDetailInput { """The code of the extra detail field to update.""" fieldCode: String! """The value to set for the extra detail field.""" fieldValue: String! """The type of the extra detail field.""" fieldType: ExtraDetailFieldType! } input ExtraDetailsItem { """The key of the extra detail item to be added or modified.""" key: String = null """The value of the extra detail item to be added or modified.""" value: GenericScalar = null } input FailedPaymentDetailsInput { """The payment action intent details that identify the target for this payment.""" actionIntent: PaymentActionIntentOneOfInput! """The reference used to uniquely identify this payment.""" reference: String! """The payment amount in the minor unit of currency.""" amount: Int! """The date when the payment was made.""" paymentDate: Date! """The description of the payment, as shown to the customer.""" customerReference: String! """The details of the payment method used for this payment.""" paymentMethod: PaymentMethodInput! """The timezone aware datetime when the payment entered the reported state.""" timestamp: DateTime! """The timezone aware datetime when the payment failed.""" failedAt: DateTime! """The reason for the failure.""" failureReason: FailureReason! """The customer-facing description of the failure.""" failureDescription: String """The code the payment provider specified.""" vendorFailureCode: String } input FetchGeneratePaymentFingerprintInput { """Payment instruction ID.""" paymentInstructionId: Int! } input FetchPreSignedLinkForOpportunityAttachmentInput { """Opportunity number.""" opportunityNumber: String = null """File attachment ID.""" attachmentId: ID = null } input FinancialAccountDetailsOneOfInput { """The card details of this payment method.""" card: CardDetailsInput """The BACS direct debit details of this payment method.""" bacsDirectDebit: BACSDirectDebitDetailsInput """The SEPA direct debit details of this payment method.""" sepaDirectDebit: SEPADirectDebitDetailsInput """The ACH direct debit details of this payment method.""" achDirectDebit: ACHDirectDebitDetailsInput """The Australian BECS direct debit details of this payment method.""" ausBecsDirectDebit: AusBECSDirectDebitDetailsInput """The Canadian pre-authorized debit details of this payment method.""" acssDebit: ACSSDebitDetailsInput """The New Zealand BECS direct debit details of this payment method.""" nzlBecsDirectDebit: NzlBECSDirectDebitDetailsInput """The Japanese direct debit details of this payment method.""" jpnDirectDebit: JPNDirectDebitDetailsInput """The BPAY details of this payment method.""" bpay: BPAYDetailsInput } input FixedPaymentScheduleInput { """The date that the schedule starts from. Defaults to today's date. Must be less than or equal to valid_to.""" validFrom: Date """Input a schedule type.""" scheduleType: ScheduleTypeInputChoices! paymentFrequency: PaymentScheduleChoices = null """The day of the month we take payment; starting from 1 to 28. Only appropriate for a `MONTHLY` frequency, other frequencies have a payment date inline with `validFrom`.""" paymentDay: Int """The payment amount in cents the customer has agreed to pay.""" paymentAmount: Int! paymentAdequacyAdjustment: Int = 0 paymentAdequacyAdjustmentExpiryDate: Date """Enter your account number.""" accountNumber: String! """The frequency of payments in terms of payment_frequency. For example, if payment_frequency is WEEKLY, a payment_frequency_multiplier of 2 would create a FORTNIGHTLY schedule.""" paymentFrequencyMultiplier: Int """Send the Fixed Payment Schedule created comms after creating the Payment Schedule.""" sendComms: Boolean """Should the ledger for this schedule be exempt from default Payment Adequacy. This may mean that it is completely exempt, or handled with special rules.""" exemptFromPaymentAdequacy: Boolean = false """How to bridge the period until a new fixed payment schedule becomes active.""" bridgeSchedules: IntermediaryScheduleType = null """Target ledger for the payment schedule.This will soon be mandatory after full migration to the new issuance system.""" ledgerNumber: String = null } """The input type for repudiating previously issued Kraken Tokens and refresh tokens.""" input ForceReauthenticationInput { """Also force third-party applications you have authorized to use your account to reauthenticate.""" includeThirdParties: Boolean! } """ Input for partially updating a forecast consumption entry. Only provided fields will be updated; omitted fields remain unchanged. To clear consumption_split, pass an empty list. """ input ForecastConsumptionEntryInput { """The unique identifier of the forecast consumption entry to update.""" identifier: String! """Start of the period this entry covers.""" validFrom: DateTime """End of the period this entry covers.""" validTo: DateTime """Unit of the consumption value.""" unit: String """Forecast consumption value.""" value: Decimal """Unique identifier of the time-of-use scheme for this entry.""" touName: String """TOU split breakdown. Pass an empty list to clear, omit to keep existing.""" consumptionSplit: [ConsumptionSplitInput] } input FormSubmissionInput { accountNumber: String! """Form type.""" formType: FormType = null """Form content.""" content: JSONString! } """Captures data required to produce `GasAcquisitionData`""" input GasAcquisitionDetailsInput { """Identifier of a supply point.""" supplyPointId: ID """Identifier of the selected quoted product for this supply point.""" quotedProductId: ID """Addons which can be applied to the agreement associated with this move in.""" addonBands: [String] """Special instructions regarding access.""" accessDetails: String """Sensitive load.""" isSensitiveLoad: Boolean = false """Indicates new connection.""" isNewConnection: Boolean = false } input GasMoveInDatesSearchInput { mirn: String! isMoveIn: Boolean = true } input GasPlanDetailsType { productCode: String! """Addons to be applied to the agreement associated with this move in.""" addonBands: [String] = [] } input GasSupplyPointAddressInput { flatOrUnitType: FlatOrUnitType flatOrUnitNumber: String floorOrLevelType: FloorOrLevelType floorOrLevelNumber: String buildingOrPropertyName: String locationDescriptor: String """Number of the house or building in the street.""" houseNumber1: Int houseNumberSuffix1: String lotNumber: String streetName: String streetType: StreetType streetSuffix: StreetSuffix """Suburb/Locality.""" locality: String! """State/Territory.""" administrativeArea: StateChoices! postalCode: String! """Delivery Point Identifier.""" dpid: Int } """Input fields to generate a pre-signed upload URL for an affiliates audio recording.""" input GenerateAffiliatesAudioRecordingPreSignedUrlInput { """The name of the file to be uploaded.""" filename: String! } input GenerateInkPresignedUrlInput { """The channel of the contact.""" channel: InkCommunicationChannel! """The name of the file.""" filename: String! } """Input fields to generate a pre-signed download URL for a leads file attachment.""" input GenerateLeadsFileAttachmentDownloadPreSignedUrlInput { """The ID of the opportunity file attachment.""" attachmentId: ID! """The unique opportunity number to which the file attachment belongs.""" opportunityNumber: String! } """Input fields to generate a pre-signed upload URL for a leads file attachment.""" input GenerateLeadsFileAttachmentPreSignedUrlInput { """The name of the file to be uploaded.""" filename: String! """The unique opportunity number to which the file is related.""" opportunityNumber: String! """The category of the file. The list of allowed values is specified by the client.""" category: OpportunityAttachmentCategory! } """The input for getting the client secret for an embedded new card payment method form.""" input GetEmbeddedSecretForNewPaymentInstructionInput { """The account number.""" accountNumber: String! """The type of the new payment instruction.""" instructionType: PaymentType! """ **WARNING: Will be mandatory in future versions** The number of the ledger. """ ledgerNumber: String } """The input for getting the client secret for an embedded new stored payment method form.""" input GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput { """The type of the new payment instruction.""" instructionType: PaymentType! } """The input needed for getting the external URL for setting up a payment instruction.""" input GetHostedUrlForNewPaymentInstructionInput { """The account number.""" accountNumber: String! """The ledger number.""" ledgerNumber: String """The type of the new payment instruction.""" instructionType: PaymentType! """The URL to redirect the user to after the action was completed successfuly.""" returnUrlSuccess: String """The URL to redirect the user to after the action resulted in a failure.""" returnUrlFailure: String """The URL to redirect the user to after the action resulted in an error.""" returnUrlError: String """The URL to redirect the user to after the action was cancelled.""" returnUrlCancel: String } input GrantUserAccessToBusinessInput { """The number of the user that will gain access.""" userNumber: String! """The ID of the business that will grant access.""" businessId: ID! """The code of the role that will be granted.""" roleCode: String! } input HasFamilyIssuesInputType { """The user ID to update. Only needed when using Organisation or Application auth.""" userId: String = null """Whether the user has family issues. Must be True - cannot be set to False via this mutation.""" familyIssues: Boolean! """Whether an FDV password is required for this user.""" fdvPasswordRequired: Boolean! """The FDV password. Required when fdv_password_required is True.""" familyIssuesPassword: String = null """Communications delivery preference. Required based on feature flag FDV_GQL_COMMS_DELIVERY_PREFERENCE_REQUIRED.""" commsDeliveryPreference: CommsDeliveryPreferenceEnum = null """Whether phone calls are allowed for this user.""" phoneCallsAllowed: Boolean = null """Whether SMS messages are allowed for this user.""" smsAllowed: Boolean = null """Whether the user consents to share their contact details with third parties.""" consentsToSharingWithIndustry: Boolean = null """Whether it is not safe to send the FDV policy to this user.""" notSafeToSendFdvPolicy: Boolean = false """Whether it is not safe to send move-in communications to this user.""" notSafeToReceiveMoveInComms: Boolean = false """Details about the family issues. This field is mandatory.""" familyIssuesDetails: String! """Whether to raise a reminder to send the FDV Policy via the communication delivery preference.""" raiseReminder: Boolean = false } input ImportTrancheRateInput { """ID linked to the contract in Kraken.""" contractIdentifier: ID! """Market name for the tranche target.""" marketName: TrancheMarketName! """Start of the period for which the rate was calculated.""" periodFrom: DateTime! """End of the period for which the rate was calculated.""" periodTo: DateTime! """Price per unit (e.g. 5 pence per KWh).""" pricePerUnit: String! """Unit by which the rate is paid by (e.g: pence/KWh or pence/MWh). The API will work out the minor unit of the local currency (.e.g: pence, cents, ...).""" unit: TrancheRateUnit! """Date at which the rate was calculated.""" calculatedAt: DateTime! """S3 path to the document that breaks the tranche rate down into individual components (e.g. Cost of Energy report).""" costOfEnergyReport: String } input IndexationOptionsInput { """The index code for the product rate override configuration.""" indexCode: String """The escalation start date for the product rate override configuration.""" escalationStartAt: DateTime } """ 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 InitiateHostedStandalonePaymentInput { """The account number.""" accountNumber: String! """The amount to be collected in the minor unit of currency.""" amount: Int! """A description of the purpose of the payment.""" description: String! """The method by which the payment is being collected.""" collectionMethod: CollectionMethod! """The number of the specific ledger against which this payment should be applied.""" ledgerNumber: String """The URL to redirect the user to after the action was completed successfuly.""" returnUrlSuccess: String """The URL to redirect the user to after the action was completed but the payment is still being processed.""" returnUrlPending: String """The URL to redirect the user to after the action resulted in a failure.""" returnUrlFailure: String """The URL to redirect the user to after the action resulted in an error.""" returnUrlError: String """The URL to redirect the user to after the action was cancelled.""" returnUrlCancel: String """The URL to redirect the user to if the url is not longer valid.""" returnUrlExpired: String } input InitiateProductSwitchInput { """Identification of the account that requesting the product switch.""" accountNumber: String! """ID of the selected quoted product, obtain from quoting that supply point.""" quotedProductId: ID! """The date at which the product switch becomes effective.""" switchDate: Date! """The user for whom to perform the update. This is only needed when using an Organisation role.""" userId: ID """Suppress Product Switch communications.""" suppressCommunications: Boolean = true } """ 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 InitiateStandalonePaymentInput { """The account number.""" accountNumber: String! """The amount to be collected in the minor unit of currency.""" amount: Int! """A description of the purpose of the payment.""" description: String! """The method by which the payment is being collected.""" collectionMethod: CollectionMethod = null """Whether the authorisation to initiate the payment was given over the phone.""" isTelephoneInitiated: Boolean """The number of the specific ledger against which this payment should be applied.""" ledgerNumber: String } """This type is used to create an email.""" input InkEmailMessageInput { """The content of the message, as plain text.""" plainTextContent: String! """Message attachments.""" attachments: [InkGenericMessageAttachmentInput!] """The email subject/title.""" subject: String! """The email address the message was sent from.""" fromAddress: Email! """The email addresses the message was sent to.""" toAddresses: [Email!]! """The carbon copy (cc) email addresses the message was sent to.""" ccAddresses: [Email!] """The S3 bucket in which the original email is stored.""" s3Bucket: String """The S3 key of the original email.""" s3Key: String } input InkGenericMessageAttachmentInput { """The S3 key of the attachment.""" s3Key: String! """The S3 bucket of the attachment.""" s3Bucket: String! } """This type is used to create an generic message.""" input InkGenericMessageInput { """The content of the message, as plain text.""" plainTextContent: String! """Message attachments.""" attachments: [InkGenericMessageAttachmentInput!] """The identity the message was sent from.""" fromHandle: String! """The identity the message was sent to.""" toHandle: String! } """This type is used to create a live chat message.""" input InkLiveChatMessageInput { """The content of the message, as plain text.""" plainTextContent: String! """Message attachments.""" attachments: [InkGenericMessageAttachmentInput!] """The identity the message was sent from.""" fromHandle: String! } """ 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 InkMessageInput { """Input for Live Chat type messages.""" liveChat: InkLiveChatMessageInput """Input for Generic type messages.""" generic: InkGenericMessageInput """Input for Email type messages.""" email: InkEmailMessageInput """Input for Post type messages.""" post: InkPostMessageInput } """This type is used to create an inbound post.""" input InkPostMessageInput { """The content of the message, as plain text.""" plainTextContent: String! """Message attachments.""" attachments: [InkGenericMessageAttachmentInput!] """The account number that the letter was sent from.""" accountNumber: String """Notes on the letter.""" notes: String } """A message that is to be sent. Currently supports only email messages.""" input InkSendMessageInput { """Input for email type message.""" email: InkEmailMessageInput } input InkStorylineAnalyzerResultInput { """The type of analyzer that produced this result.""" analyzerType: StorylineAnalyzerTypeChoices! """The schema version of the analyzer result data (e.g., 'v1').""" schemaVersion: String! """The analyzer result data, structure depends on analyzer_type and schema_version.""" data: JSONString! } input InkStorylineEntryInput { """The optional related object ID of the entry.""" contentId: BigInt """The type of the storyline entry.""" entryType: StorylineEntryTypes! """The datetime when the storyline entry occurred.""" occurredAt: DateTime! """The content of the storyline entry.""" content: String! """Optional URL related to the storyline entry.""" url: String """Whether this entry is identified as the root cause of the issue.""" isRootCause: Boolean = false } input InstalmentByMonthlyAmountScheduleInput { """The day of the month/week at which to take payment; allowed values: -28 to 28 (excl. 0) for 'MONTHLY', -7 to 7 (excl. 0) for 'WEEKLY'. Negative values count backwards from the end of the month/week.""" paymentDay: Int = 1 """The based unit of frequency at which payments are to be taken.""" frequency: InstalmentPeriodEnum = MONTHLY """The multiple of the frequency at which payment are taken; should be between 1 and 11.""" frequencyMultiplier: Int = 1 """The date on which the instalment schedule will end.""" endDate: Date """The monthly amount to be paid as part of the instalment schedule.""" monthlyGrossAmount: Int! } input InstalmentByTotalAmountScheduleInput { """The day of the month/week at which to take payment; allowed values: -28 to 28 (excl. 0) for 'MONTHLY', -7 to 7 (excl. 0) for 'WEEKLY'. Negative values count backwards from the end of the month/week.""" paymentDay: Int = 1 """The based unit of frequency at which payments are to be taken.""" frequency: InstalmentPeriodEnum = MONTHLY """The multiple of the frequency at which payment are taken; should be between 1 and 11.""" frequencyMultiplier: Int = 1 """The date on which the instalment schedule will end.""" endDate: Date """The total amount to be paid as part of the instalment schedule.""" totalGrossAmount: Int! } """ 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 InstructionDetailsInput { """The name of the vendor the payment instruction was set up with.""" vendorName: Vendor! """The type of the payment instruction.""" instructionType: PaymentType! """The datetime from which the instruction is vaild.""" validFrom: DateTime! """The vendor's reference for this payment instruction.""" vendorReference: String! } """Input for invalidating an arbitrary payment instruction.""" input InvalidatePaymentInstructionInput { accountNumber: String! """The id of the payment instruction to be invalidated.""" id: String! } """Input type for the InvalidatePreSignedToken mutation.""" input InvalidatePreSignedTokenInput { token: String! } """Input type for the InvalidatePreSignedTokensForUser mutation.""" input InvalidatePreSignedTokensForUserInput { """The email address of the user whose tokens should be invalidated.""" email: String! """The scope of the token to invalidate. If this argument is not specified, all pre-signed tokens issued to the user are invalidated.""" scope: PreSignedTokenScope = null } """Input type for the InvalidateRefreshToken mutation.""" input InvalidateRefreshTokenInput { refreshToken: String! } """Input type for the InvalidateRefreshTokensForUser mutation.""" input InvalidateRefreshTokensForUserInput { """The email address of the user whose tokens should be invalidated.""" email: String! } input JPNDirectDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The last four digits of the account number.""" lastFourDigits: String! """The name of the bank.""" bankName: String """The code of the bank.""" bankCode: String """The branch code of the bank account.""" branchCode: String } input JoinSupplierAcceptTermsAndConditionsInput { """The account number of the join supplier process (e.g. A-12345678).""" accountNumber: String! """The JoinSupplierProcess number.""" joinSupplierProcessNumber: NonEmptyID } """Input type for the LatePaymentFeesTerm. This type is used to create or update late payment fees terms in contracts. If `percentage_fee` is provided, `percentage_interval_days` must also be provided.""" input LatePaymentFeesInput { """Whether the term is variable.""" isVariable: Boolean """The flat fee amount for late payment.""" flatFeeAmount: Int """The percentage fee for late payment.""" percentageFee: Decimal """The interval in days for the percentage fee (1=daily, 7=weekly, 30=monthly, 365=yearly).""" percentageIntervalDays: Int """The interest policy to use for late payment fee calculations.""" interestPolicyName: String } input LeadBlockListValidationInput { nameKeyword: String emailDomain: String iban: String } input LeadContactDetailsFiltersInput { """The role of the contact.""" role: LeadContactRoles = null } input LeadContactDetailsInput { """The given name of the contact.""" givenName: String """The family name of the contact.""" familyName: String """The email address of the contact.""" email: String """The phone number of the contact.""" phoneNumber: String """Extra details for the contact as key/value pairs.""" extraDetailItems: [ExtraDetailsItem] """The roles of the contact.""" roles: [LeadContactRoles] = null """The preferred language of the contact as an ISO code (e.g. 'es-es').""" preferredLanguage: String """The national ID.""" nationalId: String """The address of the contact.""" contactAddress: RichAddressInput """Consents to be associated with this contact.""" consents: [ConsentTypeInput] } input LeadSupplyPoint { """The supply point ID.""" externalIdentifier: String! """The product's market name.""" marketName: String! } input LeadSupplyPointFiltersInput { """Supply points market codes to filter opportunities.""" marketCodes: [SupplyPointMarketNameEnum] } input LeadsQueryInput { """Filter leads by type.""" leadType: LeadTypeChoices = null """Free text field that will search against different identifiers of the lead. Currently supported include: lead number, phone number, email, name.""" freeText: String = null """Filter leads by stage code.""" stageCode: String = null } input LeaveSupplierInput { """The Kraken account number.""" accountNumber: String! marketData: LeaveSupplierMarketInputType = null """Future billing address.""" futureBillingAddress: RichAddressInput = null """The type of leave supplier process to initiate.""" subtype: LeaveSupplierSubType = null """Whether this leave supplier is part of a house move.""" isHouseMove: Boolean = false """Optional idempotency key to prevent duplicate journey creation on retry.""" idempotencyKey: String """The requested last day of supply.""" requestedSupplyEndDate: Date! } input LeaveSupplierMarketInputType { """A list of supply points for initiating a leave supplier journey.""" supplyPointData: [_DefaultMarketTerminationInput] } """Input type for specifying a customer, either an account or a business (legacy).""" input LegacyCustomerOrderInput { """The account number.""" account: NonEmptyString """The business identifier.""" business: Int } """Input type for item profile (legacy).""" input LegacyItemProfileInput { """The characteristic values for this item profile.""" characteristics: JSONString! } """ Input type combining base supply point group fields with market-specific enrollment data (legacy). Inherits address/property fields from BaseSupplyPointGroupInput and adds a single `context` field whose type is a dynamically constructed InputObjectType containing one field per configured market (morally a oneOf – callers should supply exactly one). """ input LegacyMarketDataInput { """The address where the supply points to be supplied are located.""" addressDetails: LifecycleAddressInput """The ID of the property where the supply points are located.""" property: ID """Market-specific enrollment details. Provide exactly one of the configured market input objects inside this container.""" context: OneOfMarketEnrollmentInputType! } """Input type for creating or updating an order (legacy).""" input LegacyOrderInput { """The customer identifier who is placing the order.""" customer: LegacyCustomerOrderInput! """The order lines for this order.""" lines: [LegacyOrderLineInput!]! """The date and time at which the order was signed. A contract signing date, for example. This is required if the order contains terms.""" signedAt: DateTime """The terms applicable to this order.""" terms: [OneOfTermInput!] """The sales record associated with this order.""" sale: SalesRecordInput! """The source Offering identifier that generated this Order.""" source: String } """Input type for order item (legacy).""" input LegacyOrderItemInput { """The profile containing characteristics of the item.""" profile: LegacyItemProfileInput """Market-specific data for the item.""" marketData: LegacyMarketDataInput! """The code identifying the item.""" code: NonEmptyString! } """Input type for `OrderLine` (legacy).""" input LegacyOrderLineInput { """The item being ordered.""" item: LegacyOrderItemInput! """The period for which this order line is valid. Can be a range or a duration.""" period: LegacyOrderLinePeriodInput! """The target customer identifier for this order line.""" target: NonEmptyString """The terms applicable to this order line.""" terms: [OneOfTermInput!] } """ Input type for order line period - either explicit dates or duration (legacy). Use either (start + end) OR duration, not both. """ input LegacyOrderLinePeriodInput { """The start date and time of the period.""" start: DateTime """The end date and time of the period.""" end: DateTime } """Input type for processing an order (legacy).""" input LegacyProcessOrderInput { """The order to be processed.""" order: LegacyOrderInput! } input LifeSupportDetailsInput { """Whether anyone residing or intending to reside at the premises require life support equipment.""" lifeSupportRequired: Boolean = false """Does Life Support equipment require both Electricity and Natural Gas? If the other fuel is with us, ensure Life Support is registered on account; or if the other fuel is with another Retailer, tell the customer that they should inform their other Retailer of the Life Support requirement.""" otherFuelLifeSupportRequired: Boolean } input LifecycleAddressInput { """Line 1 of address.""" line1: String! """Postal code.""" postalCode: String! """Country code.""" countryCode: String """Line 2 of address.""" line2: String = "" """Line 3 of address.""" line3: String = "" """Line 4 of address.""" line4: String = "" """Line 5 of address.""" line5: String = "" } input LinkAccountToBusinessInput { """The account ID.""" accountId: ID! """The business ID.""" businessId: ID! """Whether the business should be overwritten (default to false).""" shouldOverwrite: Boolean """The business role code of the linked account (default to OWNER).""" roleCode: BusinessRoleString = null } """Link an AccountUser to a LINE account.""" input LinkUserToLineInput { linkToken: String! } """The input type for retrieving a loyalty point ledger entry.""" input LoyaltyPointLedgerEntryInput { """The unique idempotency key for the ledger entry.""" idempotencyKey: UUID! } """The input type for retrieving a loyalty point ledger entry.""" input LoyaltyPointLedgersInput { """The account user id.""" accountUserId: ID! } input LoyaltyPointsBalanceInput { """The account number.""" accountNumber: String! """Optional account user id for more granular balance.""" accountUserId: String } """The input type for checking eligibility to join the loyalty points program.""" input LoyaltyPointsProgramEligibilityInput { """The account number to check.""" accountNumber: String! } input MakePaymentWithNewCardInput { accountNumber: String! """Vendor card identifier.""" vendorCardIdentifier: String """Vendor account token.""" vendorAccountToken: String """Payment amount in cents.""" amount: Int! """Whether to save the card or not.""" saveCard: Boolean! } input MakePaymentWithSavedCardInput { accountNumber: String! paymentInstructionId: String! amount: Int! """Date that the customer is expected to pay by.""" paymentDate: Date } """Input for marking a MeterDataIssue as manually reviewed.""" input ManualReviewMeterDataIssueInputType { """The name of the market (e.g., 'AUS_ELECTRICITY').""" marketName: String! """The ID of the MeterDataIssue to mark as manually reviewed.""" issueId: Int! """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! """The type of the flow (for logging/metrics).""" flowType: String! } input MarketAcquisitionDetailsInput { """Identifier of a supply point.""" supplyPointId: ID """Identifier of the selected quoted product for this supply point.""" quotedProductId: ID """Addons which can be applied to the agreement associated with this move in.""" addonBands: [String] } """The metadata input type for mutations.""" input MetadataInput { """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.""" identifier: String! """The object that the metadata is associated with.""" linkedObjectType: LinkedObjectType! """The key for the metadata.""" key: String! """The metadata value which should be a valid JSON string.""" value: JSONString! } """Input type for the MinimumContractLengthTerm.""" input MinimumContractLengthInput { """Whether the term is variable.""" isVariable: Boolean """The minimum length of the contract.""" length: Int! """The unit of time for the contract length.""" unitOfTime: String! } input MirnSearchInput { """Meter identification reference number.""" mirn: String """Meter serial number.""" meterSerialNumber: String """The Australian property address of the gas meter point.""" address: MirnSearchInputAddress = null } input MirnSearchInputAddress { """House number of the meter address.""" houseNumber: String """For '3A fake st' the house number suffix is A.""" houseNumberSuffix: String """Street name of the meter address.""" streetName: String """Street type of the meter address.""" streetType: StreetType """Suburb of the meter address.""" suburbLocality: String """State of the meter address.""" stateTerritory: StateChoices """Postcode of the meter address.""" postcode: String """Street name suffix of the meter address.""" streetSuffix: StreetSuffix """Unit type of the meter address.""" flatUnitType: FlatOrUnitType """Flat or unit number.""" flatUnitNumber: String """Floor type of the meter address.""" floorType: FloorOrLevelType """Floor number of the meter address.""" floorNumber: String """Building name of the meter address.""" buildingName: String """Lot number of the meter address.""" lotNumber: String } input MoveInCancelInput { """Account to cancel move in for.""" accountNumber: ID! """ID of the property to cancel the move in for.""" propertyId: ID! } input MoveInDatesSearchInput { """The identifier of the property.""" propertyId: ID """Whether this is for a move in or not.""" isMoveIn: Boolean = true } input MoveOutCancelInput { """Account to cancel move out for.""" accountNumber: ID! """ID of the occupancy period related to the property the account is to be moved out from.""" occupancyPeriodId: ID! } input MoveOutDatesSearchInput { accountNumber: String! propertyId: ID! } input MoveToBucketInput { """The relay id of the conversation that will be moved to the bucket.""" conversationRelayId: ID! """The name of the bucket to move the conversation to.""" bucketName: String! """Whether to unassign from user buckets. Defaults to False (only unassign from team buckets).""" unassignFromUsers: Boolean = false } input NMIDiscoveryAddressInput { """Lot number. Required if a house number is not provided.""" lotNumber: String """Street number. Required if a lot number is not provided.""" houseNumber: String houseNumberSuffix: String streetName: String! streetType: StreetType suburbLocality: String stateTerritory: StateChoices! postcode: String! streetSuffix: StreetSuffix flatUnitType: FlatOrUnitType flatUnitNumber: String floorType: FloorOrLevelType floorNumber: String buildingName: String locationDescriptor: String jurisdictionCode: JurisdictionChoices! } input NMIType2DiscoveryInput { nmi: String! } input NonAccountRecipient { """The email address of the recipient.""" email: Email """The mobile phone number of the recipient.""" mobile: String """The given name of the recipient.""" givenName: String """The family name of the recipient.""" familyName: String """The brand code of the company/entity sending the comm. If provided as empty string or the field is not included, it will default to the 'primary' brand.""" brandCode: String } input NzlBECSDirectDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The last four digits of the account number.""" lastFourDigits: String! """The name of the bank.""" bankName: String """The branch code of the bank account.""" branchCode: String """The unique digital identifier of this bank account.""" fingerprint: String } """ The input type for obtaining a Kraken Token (JWT). The currently supported inputs are: - account user API key - organization live secret key - pre-signed key - refresh token """ input ObtainJSONWebTokenInput { """API key of the account user. Use standalone, don't provide a second input field.""" APIKey: String """Live secret key of an third-party organization. Use standalone, don't provide a second input field.""" organizationSecretKey: String """Short-lived, temporary key (that's pre-signed). Use standalone, don't provide a second input field.""" preSignedKey: 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.""" refreshToken: String } """The input type for obtaining a long-lived refresh token.""" input ObtainLongLivedRefreshTokenInput { """The Kraken Token that will be used to generate the long-lived refresh token.""" krakenToken: String! } input OfferQuoteSummaryInput { """Offer group identifier.""" offerGroupIdentifier: ID! """Account number.""" accountNumber: String! } input OfferingForQuotingInput { """Product offering identifier.""" productOfferingIdentifier: ID! """Product components.""" productComponents: [ProductComponentForQuotingInput]! """Start datetime for the quote period for all products in this offering. Defaults to current datetime if not provided.""" quotePeriodStartDatetime: DateTime """End datetime for the quote period for all products in this offering. Defaults to 1 year from start if not provided.""" quotePeriodEndDatetime: DateTime } input OnSiteJobsAssetInput { """Asset external identifier.""" externalIdentifier: NonEmptyString """Asset kind.""" kind: OnSiteJobsAssetKind! """Asset status.""" status: OnSiteJobsAssetStatus! """Additional details about the asset.""" additionalDetails: JSONString """Supply point external identifier to market name mapping to associate with the asset. If this is provided, `supply_point_internal_id` cannot be provided.""" supplyPointIdentifierToMarketNameMapping: SupplyPointIdentifierToMarketNameMappingInput """Internal ID of the supply point to associate with the asset. If this is provided, `supply_point_identifier_to_market_name_mapping` cannot be provided.""" supplyPointInternalId: Int """The current asset fuel type.""" fuelType: OnSiteJobsAssetFuelType } input OnSiteJobsUpdateRequestInput { """The UUID of the OnSite Jobs request to update.""" requestId: UUID! """Comment for the request.""" comment: String """Request status.""" status: OnSiteJobsRequestStatus """List of assets associated with the request.""" assets: [OnSiteJobsAssetInput!] } input OneOfMarketEnrollmentInputType { """Simple Service enrollment details.""" services: SimpleServicesEnrollmentMarketInput = null } input OneOfTermInput { """Input type for contract term.""" billduedate: BillDueDateInput = null """Input type for contract term.""" cimeteringagreement: CIMeteringAgreementInput = null """Input type for contract term.""" directmetering: DirectMeteringInput = null """Input type for contract term.""" minimumcontractlength: MinimumContractLengthInput = null """Input type for contract term.""" rategroupeligibilityconfiguration: RateGroupEligibilityConfigurationInput = null """Input type for contract term.""" latepaymentfees: LatePaymentFeesInput = null """Input type for contract term.""" productrateoverrideconfiguration: ProductRateOverrideConfigurationInput = null """Input type for contract term.""" eepaexportcontractedvolume: EEPAExportContractedVolumeInput = null """Input type for contract term.""" paysbydirectdebit: PaysByDirectDebitInput = null """Input type for contract term.""" contractmetadata: ContractMetaDataInput = null """Input type for contract term.""" bespokerateconfiguration: BespokeRateConfigurationInput = null """Input type for contract term.""" contractedvolumeconfiguration: ContractedVolumeConfigurationInput = null """Input type for contract term.""" correctiveperiod: CorrectivePeriodInput = null """Input type for contract term.""" timeofuseoverride: TimeOfUseOverrideInput = null } input OngoingComponent { """Number of instalments for this component.""" numberOfInstalments: Int! """Total payment amount for this component in Cents.""" totalPaymentAmount: Int! } input OpenedInput { """The IP address of the device that opened the message.""" ipAddress: String """The browser or client user agent string.""" userAgent: String """Whether the open was triggered by an automated system or bot, null if unknown.""" machineOpen: Boolean } input OpportunitiesQueryInput { """Filter opportunities by funnel code.""" funnelCode: String = null """Filter opportunities by stage.""" stageCode: String = null """Filter opportunities by lead number.""" leadNumber: String = null """Filter opportunities by sales channel.""" salesChannel: String = null """Filter opportunities by assigned to affiliate number.""" assignedToAffiliateNumber: String = null """The identifier of the user the leads are assigned to.""" assignedToUserIdentifier: String """The identifier of the team the leads are assigned to.""" assignedToTeamIdentifier: String """Filter opportunities by product offering identifier.""" productOfferingId: String = null """Filter opportunities by supply point markets.""" supplyPointMarkets: [SupplyPointMarketNameEnum] } input OptionsLanguagePreferenceInput { """Account number of the account to update.""" accountNumber: String! """The language preference to set for the account, from the available options.""" optionsLanguagePreference: OptionsLanguagePreferenceChoices! } """A namespaced external reference for a partner organisation.""" input OrganisationReferenceInput { """The namespace that qualifies this reference.""" namespace: String! """The reference value within the namespace.""" value: String! } input OutcomeInput { """Type of the app session.""" type: AppSessionTypeChoices! """Outcome category.""" category: AppSessionOutcomeCategories! """Optional reason for the outcome.""" reason: String = "" } """ Input object type representing a payment method owner. Note, this is based on exposing the db primary key of the underlying owner entity. This approach has since been superseded - please use `PaymentMethodOwnerInput` instead. """ input OwnerInput { """The type of owner entity.""" ownerType: PaymentInstructionOwnerTypeChoices = null """The ID of the owner.""" ownerId: ID } input PartnerTeamInput { """The partner team number.""" number: String! } """Input type for specifying a contract party, either an account or a business.""" input PartyInput { """The account number.""" account: NonEmptyString """The business identifier.""" business: Int } input PauseCollectionProcessInput { """Collection process number to pause.""" number: String! """Reason for pausing collection process.""" reason: String! """Start datetime for pause.""" pauseStartAt: DateTime! """Number of calendar days to pause collection process.""" pauseLength: Int! } input PauseDunningInputType { """Account number for which to pause the dunning process.""" accountNumber: String! """The dunning process path name to pause.""" pathName: String! """The date from which the pause to take effect.""" startDate: Date! """The date at which the pause should stop.""" stopDate: Date! """An optional note for the pause.""" note: String } input PaymentActionIntentOneOfInput { """The token of an existing payment action intent.""" token: String """Ad-hoc details of a payment action intent.""" options: PaymentActionIntentOptionsInput """The Kraken-assigned UUID of the existing payment.""" paymentUuid: String } input PaymentActionIntentOptionsInput { """The type of target the payment should be associated with.""" targetType: PaymentActionIntentTargetType! """The unique identifier for the target the payment should be associated with.""" targetIdentifier: String! } input PaymentDetailsInput { """The payment action intent details that identify the target for this payment.""" actionIntent: PaymentActionIntentOneOfInput! """The reference used to uniquely identify this payment.""" reference: String! """The payment amount in the minor unit of currency.""" amount: Int! """The date when the payment was made.""" paymentDate: Date! """The description of the payment, as shown to the customer.""" customerReference: String! """The details of the payment method used for this payment.""" paymentMethod: PaymentMethodInput! """The timezone aware datetime when the payment entered the reported state.""" timestamp: DateTime! } input PaymentMethodActionIntentOneOfInput { """The token of an existing payment method action intent.""" token: String """Ad-hoc details of a payment method action intent.""" options: PaymentMethodActionIntentOptionsInput } input PaymentMethodActionIntentOptionsInput { """The type of target the payment method should be associated with.""" targetType: PaymentMethodActionIntentTargetType! """The unique identifier for the target the payment method should be associated with.""" targetIdentifier: String! """The owners of the financial account this instruction represents.""" owners: [PaymentMethodOwnerInput] } input PaymentMethodInput { """If a payment method is associated with this payment, the reference of that payment method.""" reference: String """The code of the payment method type used for this payment.""" type: String! } """ Input object type representing a payment method owner. Note, this is similar to the `OwnerInput` above but is based on non primary db key identifier. """ input PaymentMethodOwnerInput { """The type of owner entity.""" ownerType: PaymentInstructionOwnerTypeChoices """The unique identifier of the owner.""" ownerIdentifier: String } """Input type for previewing or creating a payment plan.""" input PaymentPlanInput { """The account number for which the payment plan is being created.""" accountNumber: String! """The initial payment type of the new payment plan payment schedule.""" initialScheduleType: ScheduleType! """Date of the first payment on the new plan.""" firstPaymentDate: Date! """The frequency at which payments will be collected i.e WEEKLY or MONTHLY.""" paymentFrequency: PaymentFrequency! """The frequency of payments in terms of payment_frequency. For example, if payment_frequency is WEEKLY, a payment_frequency_multiplier of 2 would create a FORTNIGHTLY schedule.""" paymentFrequencyMultiplier: Int! """The total amount of debt that will be paid off over this payment plan.""" totalDebtAmount: Int! """The number of instalments contained in the plan.""" numberOfInstalments: Int! """Whether this plan should be saved. If false, this plan will be created as a preview, but not saved for the account.""" savePlan: Boolean! """Target ledger for the payment schedule.This will soon be mandatory after full migration to the new issuance system.""" ledgerNumber: String = null } """ 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 PaymentScheduleDetailsInput { """Regular triggered schedule details.""" regularTriggered: RegularTriggeredScheduleInput """Bill triggered schedule details.""" billTriggered: BillTriggeredScheduleInput """Balance triggered schedule details.""" balanceTriggered: BalanceTriggeredScheduleInput """Schedule details for bill triggered schedule with a target balance.""" billTriggeredBalanceTarget: BillTriggeredBalanceTargetScheduleInput """Schedule details for instalment plan based on a fixed monthly amount.""" instalmentByMonthlyAmount: InstalmentByMonthlyAmountScheduleInput """Schedule details for instalment plan schedule based on a fixed total amount.""" instalmentByTotalAmount: InstalmentByTotalAmountScheduleInput } input PaymentScheduleInput { """Enter your account number.""" accountNumber: String! """Input a schedule type.""" scheduleType: ScheduleTypeInputChoices! """The date that the schedule starts from.""" validFrom: Date """Target ledger for the payment schedule.This will soon be mandatory after full migration to the new issuance system.""" ledgerNumber: String = null } """ Input type for payment slip details. This is used to set up a new payment instruction in the vendor's system as part of the enrollment process. """ input PaymentSlipDetailsInput { """True if the customer also the payer.""" payerIsCustomer: Boolean! } input PaymentTermsInput { """The number of days the customer has to pay their bill.""" numberOfDaysToPay: Int! """Whether the payment term is measured in working days (true) or calendar days (false).""" isTermInWorkingDays: Boolean! """The date from which the payment terms are valid. Defaults to the move-in date if not provided.""" validFrom: Date """The date until which the payment terms are valid. If not provided, the terms are open-ended.""" validTo: Date } """Required information for paying out a referral for an account""" input PayoutReferralForAccountInput { """The account number of the referring/referred account.""" accountNumber: String! """The ID of the referral to payout.""" referralId: Int! """Optional custom note to override the default display note and private note on the account credit.""" note: String } """Input type for the PaysByDirectDebitTerm.""" input PaysByDirectDebitInput { """Whether the term is variable.""" isVariable: Boolean """Whether the account is paying by direct debit or not.""" paysByDirectDebit: Boolean! } input PhotoInput { """UUID for the photo.""" id: UUID! """Content type of the photo.""" contentType: String! """Size of the file in bytes.""" fileSize: Int! """S3 bucket where the photo is stored.""" s3Bucket: String! """S3 key for the photo.""" s3Key: String! } input PortfolioReferenceInput { """The namespace of the portfolio reference.""" namespace: String! """The value of the portfolio reference.""" value: String! } """Information about the query/mutation for which one wants to know the possible errors.""" input PossibleErrorsInputType { """Name of the query/mutation for which to get the possible errors.""" name: String! """Type of the query (query or mutation).""" type: query_type! """Whether to include possible authentication errors.""" authErrors: Boolean } input PostCreditInput { """The account number.""" accountNumber: String! """The net amount of the credit to be posted. Amount should be posted in the smallest unit of currency.""" netAmount: Int! """The tax amount of the credit to be posted. Amount should be posted in the smallest unit of currency.""" taxAmount: Int! """Optional short note about the credit, to be displayed to the user.""" displayNote: String """Optional short note about the credit, to be displayed to internal systems.""" note: String """The reason why the credit is posted. This should be a valid credit reason code.""" reason: String! """The number of the ledger where the credit will be posted.""" ledgerNumber: String } input PostEventInput { """Unique ID of the message (ie. letter or document) that this post event relates to.""" messageId: String! """Type of post event (ie. 'delivered', 'returned', 'failed').""" eventType: String! """Explanation or context for the event.""" description: String! """The date/time that the post event occurred, if provided.""" timestamp: DateTime! """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.""" eventId: String } input PostalAddressInput { flatOrUnitType: FlatOrUnitType flatOrUnitNumber: String floorOrLevelType: FloorOrLevelType floorOrLevelNumber: String buildingOrPropertyName: String locationDescriptor: String houseNumber1: String houseNumberSuffix1: String lotNumber: String streetName: String streetType: StreetType streetSuffix: StreetSuffix """Suburb/Locality.""" locality: String administrativeArea: StateChoices postalCode: String """Additional house number, use when address contains multiple house numbers.""" houseNumber2: String """Additional house number suffix, use when address contains multiple house number suffixes.""" houseNumberSuffix2: String postalDeliveryType: PostalDeliveryType postalDeliveryNumberPrefix: String postalDeliveryNumberValue: String postalDeliveryNumberSuffix: String } input PreferenceDetails { requiresPostalComms: Boolean! """Specify if the postal address is the same as supply address. When "postalSameAsSupply" is set to true, the other address fields don't need to be filled in. However, if this field is set to false or not provided, "administrativeArea" and "locality" become required fields and should be provided.""" postalSameAsSupply: Boolean! postalAddress: PostalAddressInput """Whether this account should be billed monthly or quarterly. If omitted, this account will use industry billing instead.""" billingPeriod: PeriodLength optIntoMarketing: Boolean! } input PrepareAccountInput { """The type of account to create.""" accountType: AccountTypeChoices = DOMESTIC """The brand of the created account.""" brandCode: String! """The billing name.""" billingName: String! """The billing address.""" billingAddress: LifecycleAddressInput! """The customer's details.""" customerDetails: CustomerDetailsInput! """Sales information.""" salesInfo: SalesInformationInput! """The preferred supply start date.""" preferredSsd: Date """The date of sale, defaults to today if not provided.""" dateOfSale: Date """The chosen payment day.""" chosenPaymentDay: Int """Information of the supply points that the customer is intending to sign up for supply.""" supplyPointInfoList: [PrepareAccountSupplyPointInput] } """ Input that can be provided to prepare account in order to identify previous accounts. This can be either the id of an actual supply point, or its market name and external_identifier. Only one of these should be provided. If both are present we give preference to the object id. """ input PrepareAccountSupplyPointInput { """The ID of the supply point to be enrolled.""" supplyPointId: ID """The details of the supply point to be enrolled.""" supplyPointInfo: SupplyPointInfoInput } """Rate group prices for a product.""" input PriceForStreamInput { """The price per unit.""" price: Decimal! """The characteristic mapping for the price.""" characteristicMapping: JSONString! """The scheme labels for the price.""" schemeLabels: JSONString } input ProcessHouseMoveInElectricityInput { isBusiness: Boolean! """Account user who is moving in.""" contactUserId: ID! """Meter point for house move in.""" nmi: String! """Date move in will be started.""" moveInDate: Date """Quoted product for the consumer.""" quotedProductId: ID! appointmentDetails: AppointmentDetails! preferences: PreferenceDetails! isMoveIn: Boolean = true affiliateDetails: AffiliateDetails lifeSupportDetails: LifeSupportDetailsInput remoteWorks: RemoteWorksSafetyInput businessDetails: BusinessDetailsInput """Whether customer consultation is required. `customerConsultationDetails` must be set if this is `true`.""" customerConsultationRequired: Boolean """Details of who to contact for customer consultation.""" customerConsultationDetails: CustomerConsultationDetailsInput """A JSON object containing customer account metadata.""" metaData: GenericScalar """A JSON object containing data regarding explicit informed consent.""" consentData: GenericScalar """Addons which can be applied to the agreement associated with this move in.""" addonBands: [String] """Portfolio number under which the created account would be placed.""" portfolioNumber: String } input ProcessHouseMoveInGasInput { """Meter point for house move in.""" mirn: String! """Whether is move in or supplier transfer.""" isMoveIn: Boolean """Date move in will be started. Defaults to the earliest possible move in date.""" moveInDate: Date """Quoted product for the consumer.""" quotedProductId: ID! accessDetails: String isBusiness: Boolean! """Account user who is moving in.""" contactUserId: ID! billAndPayment: BillAndPaymentInput! businessDetails: BusinessDetailsInput lifeSupportDetails: LifeSupportDetailsInput """Whether customer consultation is required. `customerConsultationDetails` must be set if this is `true`.""" customerConsultationRequired: Boolean """Details of who to contact for customer consultation.""" customerConsultationDetails: CustomerConsultationDetailsInput affiliateDetails: AffiliateDetails """Addons to be applied to the agreement associated with this move in.""" addonBands: [String] """Portfolio number under which the created account would be placed.""" portfolioNumber: String } input ProcessHouseMoveInput { """The identifier of the user moving in.""" userId: ID! """The identifier of portfolio that the account will be part of.""" portfolioId: ID! """The identifier of the property the user is moving into.""" propertyId: ID! """Date the move in will be started.""" moveInDate: Date! """Whether this is a move in or in-situ supplier transfer.""" moveInType: MoveTypeEnum! billAndPayment: BillAndPaymentInput! lifeSupportDetails: LifeSupportDetailsInput businessDetails: BusinessDetailsInput """Whether welcome comms sending is suppressed.""" suppressWelcomeComms: Boolean affiliateDetails: AffiliateDetails acquisitionDetails: AcquisitionDetailsInput! } input ProductComponentForQuotingInput { """Product code.""" productCode: ID! """Quoting parameter list for this product.""" quotingParams: [_QuotingParam]! } """Input type for the ProductRateOverrideConfigurationTerm.""" input ProductRateOverrideConfigurationInput { """Whether the term is variable.""" isVariable: Boolean """The indexation options for the product rate override configuration.""" indexationOptions: IndexationOptionsInput = null """The schedules for the product rate override configuration.""" schedules: [ProductRateOverrideScheduleInput] = null } """Item input for Product Rate Override Configuration term by rate band.""" input ProductRateOverrideItemBandInput { """The rate specification code for the product rate override item.""" rateSpecificationCode: String """The characteristic values for the product rate override item.""" characteristicValues: [CharacteristicValueInput] """The scheme label mapping for the given rate override item.""" schemeLabels: [SchemeLabelInput] """The rate band for the product rate override item.""" band: String } """Item input for Product Rate Override Configuration term.""" input ProductRateOverrideItemInput { """The product code for the product rate override item.""" productCode: String """The rate band for the product rate override item.""" rate: ProductRateOverrideItemBandInput = null """The price per unit for the product rate override item.""" pricePerUnit: Decimal } """Schedule for Product Rate Override Configuration term.""" input ProductRateOverrideScheduleInput { """The items for the product rate override schedule.""" items: [ProductRateOverrideItemInput] = null """The effective from date for the product rate override schedule.""" effectiveFrom: DateTime } input ProductToPurchaseInput { """Products code to purchase.""" productCode: String! """Number of units.""" numberOfUnits: Int! """Price per unit in smallest sub-unit of the currency. Only used if the product accepts arbitrary prices.""" pricePerUnit: Int } """Represents a product and the quantity to quote for a customer.""" input ProductToQuoteInput { """ID of the product to quote.""" productId: ID! """Number of units.""" numberOfUnits: Int! """Price per unit in smallest sub-unit of the currency.""" pricePerUnit: Int """Currency.""" currency: String! } input PropertyMoveOutInput { """The account number of the account related to the property that needs to be moved out.""" accountNumber: ID! """The identifier of the property to move out from.""" propertyId: ID! """The date to move out of the property.""" moveOutDate: Date! """This will be stored as an internal note for Especs for the account.""" note: String = "" } input PublicHolidayInputType { """ The state the public holidays should be returned for. If not included, only Australia-wide public holidays are returned. """ state: State """The start of the date range that public holidays should be returned for. Dates are inclusive - a holiday that falls on dateFrom will be returned.""" dateFrom: Date! """The end of the date range that public holidays should be returned for. Dates are inclusive - a holiday that falls on dateTo will be returned.""" dateTo: Date! } input PublishMeterDataIssueEmailInput { """The ID of the MeterDataIssue.""" issueId: ID! """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! """Optional comma-separated email addresses to override the default MDP recipient.""" recipientEmails: String } input PublishTransactionalMessagingExternalTriggerInput { """The code of the trigger type to be published.""" triggerTypeCode: String! """The account number of the recipient of this trigger.""" accountNumber: String """Account user number of the recipient of this trigger.""" accountUserNumber: String """The variables that will be passed through to message templates.""" templateVariables: GenericScalar! """The non-account recipient of this trigger. Cannot be used in combination with account_number or account_user_number.""" recipient: NonAccountRecipient = null """An optional unique identifier for the trigger. If provided and there is an existing trigger with the same idempotency key, a new trigger will not be created.""" idempotencyKey: String } input PublishTransactionalMessagingTriggerInput { """The code of the trigger type to be published.""" triggerTypeCode: String! """The params of the trigger type, as a JSON string. These are defined in the Params class for a trigger type.""" params: JSONString! } input PurchaseVoucherInput { """The account to purchase a voucher for.""" accountNumber: ID! """How much to credit the account for this voucher in cents.""" voucherValueInCents: Int! """How much to charge the account for in cents. Excludes tax.""" chargeAmountInCents: Int """How much to charge the account for in cents. Includes tax.""" chargeAmountInCentsWithTax: Int """Display name for the voucher purchase. Maximum length is 255 characters.""" displayName: String! """Additional metadata from client sources to be stored against the voucher. This data is not structural and won't be relied on by Kraken internally.""" clientParams: JSONString = "{}" """The type of voucher.""" voucherType: String! """The ledger number of the ledger to transfer the charge to, if any.""" transferChargeLedgerNumber: ID """The ID of the payment, if any.""" paymentId: ID """When the purchase was performed.""" purchasedAt: DateTime! """When the voucher becomes available to be redeemed.""" availableFrom: Date! } input QuarantineElectricityReadingInputType { """NMI of the meter point.""" nmi: String! """Register associated with the reading.""" registerId: ID! """ID of the reading to quarantine.""" readingId: ID! """Reason for the reading being quarantined.""" reason: String! } """Information about the complexity of the query.""" input QueryComplexityInputType { """The query to calculate complexity for.""" query: String! """Any variables to include for the query. Pagination variables should be included as they will affect the overall weight of the query.""" variables: JSONString """The operation name of the query to calculate complexity for if more than one is provided.""" operationName: String } input QuoteShareInput { """Recipient information.""" recipient: Recipient! """Quote code.""" quoteCode: String! """Account for which the quote was created.""" accountNumber: String } """Input type for the RateGroupEligibilityTerm. Callers must provide at least one schedule (schedules / timeSeriesSpecificationSchedules).""" input RateGroupEligibilityConfigurationInput { """Whether the term is variable.""" isVariable: Boolean """A list of rate group eligibility schedules to be associated with the contract.""" schedules: [RateGroupEligibilityScheduleInput] """A list of time series specification eligibility schedules to be associated with the contract.""" timeSeriesSpecificationSchedules: [TimeSeriesSpecificationEligibilityScheduleInput] } """Input type representing a period with optional start and end dates.""" input RateGroupEligibilityPeriodInput { """The start date and time of the period.""" start: DateTime! """The end date and time of the period.""" end: DateTime } """ Input type for defining a rate group eligibility schedule. This input type is used to specify the details of a rate group eligibility schedule, including the associated product code, rate group code, eligibility status, and effective period. """ input RateGroupEligibilityScheduleInput { """The product code associated with the rate group.""" productCode: String! """The rate group code.""" rateGroupCode: String! """The external identifier of the supply point this schedule targets. When omitted, the schedule targets all agreements for the product.""" supplyPointIdentifier: String """Indicates if the rate group is eligible.""" isEligible: Boolean! """The period during which this eligibility is effective.""" effectivePeriod: RateGroupEligibilityPeriodInput! } """Rate group prices for a product.""" input RateGroupPricesInput { """The rate group code.""" rateGroup: String! """The prices for the rate group.""" prices: [PriceForStreamInput!]! } """A rate request error to store against a rates request.""" input RateRequestedErrorInput { """The type of error.""" errorType: RateRequestedErrorType! """The error code.""" errorCode: String! """A description of the error.""" errorDescription: String! } input ReactivateCollectionProcessRecordInputType { """The Collection Process Record Number.""" number: String! } input Recipient { """Given name of the recipient.""" givenName: String """Family name of the recipient.""" familyName: String """Email address of the recipient.""" email: String """Mobile number of the recipient.""" mobile: String } input RecordActivatedPaymentMethodInput { """The payment method action intent details or token.""" actionIntent: PaymentMethodActionIntentOneOfInput! """The reference used to uniquely identify this payment method.""" reference: String! """The code of the payment method type this payment method should be associated with.""" paymentMethodType: String! """The financial account details for this payment method. The details type must match what's configured for the provided payment method type.""" financialAccountDetails: FinancialAccountDetailsOneOfInput! """The timezone aware datetime, specifying when the payment method is usable from.""" usableFrom: DateTime! """The timezone aware datetime, specifying when the payment method is usable to.""" usableTo: DateTime """The timezone aware datetime when the payment method entered the reported state.""" timestamp: DateTime! } input RecordChargedBackPaymentInput { """The priority with which this information needs to be resolved.""" noticePriority: NoticePriority! """A list of payments that have been charged back. The list may contain at most 250 items.""" payments: [ChargedBackPaymentDetailsInput]! } input RecordFailedPaymentInput { """The priority with which this information needs to be resolved.""" noticePriority: NoticePriority! """A list of payments that have failed. The list may contain at most 250 items.""" payments: [FailedPaymentDetailsInput]! } input RecordInvalidatedPaymentMethodInput { """The reference used to uniquely identify this payment method.""" reference: String! """The code of the payment method type this payment method is associated with.""" paymentMethodType: String! """The timezone aware datetime specifying when the payment method was usable to.""" usableTo: DateTime """The reason the payment method was invalidated.""" invalidationReason: InvalidationReason! """The timezone aware datetime when the payment method entered the invalidated state.""" timestamp: DateTime! } input RecordPendingPaymentInput { """The priority with which this information needs to be resolved.""" noticePriority: NoticePriority! """A list of payments that are pending.""" payments: [PaymentDetailsInput]! } input RecordSuccessfulPaymentInput { """The priority with which this information needs to be resolved.""" noticePriority: NoticePriority! """A list of payments that have succeeded. The list may contain at most 250 items.""" payments: [SuccessfulPaymentDetailsInput]! } """The input type for redeeming Loyalty Points.""" input RedeemLoyaltyPointsInput { """The account user id.""" accountUserId: ID """The account number.""" accountNumber: String! """The number of Loyalty Points to redeem.""" points: Int! } """Required payload to redeem the benefit for partner reward referral scheme""" input RedeemReferralClaimCodeInput { """The account number for the referred account.""" accountNumber: String! """Referral scheme claim code value.""" code: String! } input RefundPaymentInput { """The account number.""" accountNumber: ID! """The ID of the payment to refund.""" paymentId: ID! """The amount to be repaid.""" amountInMinorUnit: Int! """Unique constraint to prevent duplicate requests.""" idempotencyKey: String! """Reason for refunding the payment.""" reason: String! } input RefundVoucherInput { """The ID of the voucher purchase to refund.""" voucherPurchaseId: ID! } """Input for registering a new customer asset""" input RegisterCustomerAssetInput { """Account number.""" accountNumber: String! """Property ID.""" propertyId: Int! """Physical device ID (e.g., VIN).""" physicalId: String! """Device name.""" name: String! """Device type (one of: EV, EVSE, HEAT_PUMP, INVERTER, SMART_METER, STORAGE_HEATER, THERMOSTAT).""" type: CustomerAssetTypeEnum """Organisation ID.""" organisationId: Int! """Organisation-specific device ID.""" organisationDeviceId: String! """Supply point ID.""" supplyPointId: Int } input RegisterLeadFlowStatusEventInput { """The name of the flow event. It will be the label to show.""" name: String! """The ID of the flow.""" flowId: String! """A descriptive text about the flow event.""" description: String """The status of the flow.""" status: String! """The unique number of the lead.""" leadNumber: String! } input RegisterOpportunityFlowStatusEventInput { """The name of the flow event. It will be the label to show.""" name: String! """The ID of the flow.""" flowId: String! """A descriptive text about the flow event.""" description: String """The status of the flow.""" status: String! """The unique number of the opportunity.""" opportunityNumber: String! } input RegisterPushNotificationBindingInput { """Device push notification token.""" token: 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.""" bundleId: 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'.""" service: 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.""" externalProvider: String """The time at which the push notification binding expires.""" expiresAt: DateTime } """A payment schedule which triggers a payment at regular intervals.""" input RegularTriggeredScheduleInput { """The day of the month/week at which to take payment; allowed values: -28 to 28 (excl. 0) for 'MONTHLY', -7 to 7 (excl. 0) for 'WEEKLY'. Negative values count backwards from the end of the month/week.""" paymentDay: Int = 1 """The based unit of frequency at which payments are to be taken.""" frequency: ScheduleFrequencyEnum = MONTHLY """The multiple of the frequency at which payment are taken; should be between 1 and 11.""" frequencyMultiplier: Int = 1 } input RemoteWorksSafetyInput { """Specify if remote works are safe for this site.""" safeForRemote: Boolean = false } input RemoveBankDetailsForLeadInput { """The unique number of the lead to remove bank details for.""" leadNumber: String! """The uuid that references the bank details to remove.""" paymentMethodReference: ID! } input RemoveCampaignFromAccountInput { """The account number.""" accountNumber: String! """The name of the campaign to be removed.""" campaignName: String! """The expiry date of the campaign to be removed if prior to today's date. Defaults to today.""" expireAt: Date } input RemoveCampaignItemsInput { """The campaign ID.""" campaignId: String! """The IDs of the items to remove.""" campaignItemIds: [String]! } input RemoveConcessionInput { """The user for whom to perform the removal. This is only needed when using an Organisation role.""" userId: String } input RemovePartnerUserFromTeamInput { """The number of the partner user to remove from the team.""" partnerUserNumber: String! """The number of the partner team to remove the user from.""" partnerTeamNumber: String! } """Input for removing a property from a hierarchy.""" input RemovePropertyFromHierarchyInput { """The ID of the property to remove from the hierarchy.""" propertyId: ID! """The name of the hierarchy to remove the property from.""" hierarchyName: String = "default" } """Input fields for Repayment Intervention.""" input RepaymentInput { """The repayment ID.""" repaymentId: ID! """The Repayment Intervention reason.""" reason: String } input ReplaceLatestPaymentScheduleInput { """Account associated with payment schedule.""" accountNumber: String! """The schedule type of the new payment schedule to be created. If not provided, defaults to the schedule type of the payment schedule to be replaced.""" scheduleType: ScheduleTypeInputChoices = null """Whether the new payment schedule should be variable or fixed. If not provided, defaults to the same value as the payment schedule to be replaced.""" isVariableScheduleType: Boolean """Target ledger for the payment schedule.This will soon be mandatory after full migration to the new issuance system.""" ledgerNumber: String = null } input ReplacePartnerReferencesInputType { """The partner to set references for.""" partnerNumber: String! """External references attached to the organisation, keyed by namespace. Supplying an empty list clears all references. Supplying a non-empty list replaces the full set of references.""" references: [OrganisationReferenceInput]! } input ReporterInput { """Reporter category.""" category: OnSiteJobsReporterCategory! """Reporter name. Must be blank if category='customer'.""" name: String """Reporter phone number. Must be blank if category='customer'.""" phoneNumber: String """Reporter email address. Must be blank if category='customer'.""" email: String } input RequestCADReportInputType { """The account number for the request.""" accountNumber: ID! """The date that the data should start from (inclusive).""" fromDate: Date! """The date that the data should go to (inclusive).""" toDate: Date! """The NMI.""" supplyPoint: String! """The name which should appear in the email/report.""" customerName: String """The email which the CAD report should be sent to.""" recipientAddress: String! } input RequestMIRNDiscoveryInput { mirn: ID } """Input type for the RequestPasswordReset mutation.""" input RequestPasswordResetInput { """The email requesting a password reset email. Provide either this or the userNumber.""" email: String """The number of the user requesting a password reset email. Provide either this or the email.""" userNumber: 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.""" baseUrl: String } input RequestPrintedBillInput { """The ID of the billing document to request a printed bill for.""" billingDocumentId: ID! """The account number.""" accountNumber: String! } input RequestRepaymentInputType { """The account number for the requested ledger's account.""" accountNumber: String! """The ledger number from which the repayment will be requested.""" ledgerNumber: String """The amount to be repaid.""" amountInMinorUnit: Int! """The method by which the money will be transferred to the customer.""" method: RequestableRepaymentMethod = null """ Optional. The instruction that should be used for transferring money to the customer. Note if specified, this will be preferred over the `method` input if both are given. """ instructionReference: String """Unique constraint to prevent duplicate requests.""" idempotencyKey: String! """The reason for the repayment.""" reason: String } input ReschedulePaymentInput { accountNumber: String! """Payment Id to be rescheduled.""" paymentId: Int! """Days to extend the payment by.""" numDays: Int! } input RescindContractInput { """The unique identifier of the contract to rescind.""" identifier: NonEmptyString! } """Input for resetting a password.""" input ResetPasswordMutationInput { password: String! userId: String! token: String! clientMutationId: String } input ResetUserPasswordInput { """The new password.""" newPassword: String! """A base64 bytestring representing the user's unique id.""" userId: String! """The token from the presigned url.""" token: String! } """Input for resolving a MeterDataIssue.""" input ResolveMeterDataIssueInputType { """The name of the market (e.g., 'AUS_ELECTRICITY').""" marketName: String! """The ID of the MeterDataIssue to resolve.""" issueId: Int! """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! """The type of the flow (for logging/metrics).""" flowType: String! } input ResumeCollectionProcessInput { """Collection process number to resume.""" number: String! """Reason for resuming collection process.""" reason: String! } """Input for retiring a customer asset""" input RetireCustomerAssetInput { """Customer asset ID.""" customerAssetId: ID! """The date and time when the asset was retired (defaults to now if not provided).""" retiredAt: DateTime } """Input required to reverse an enrollment (Join Supplier process).""" input ReverseEnrollmentInput { """The identifier of the enrollment process to reverse.""" number: String! """The reason for the reversal.""" reversalReason: String } """Input required to reverse a LeaveSupplier journey.""" input ReverseLeaveSupplierInput { """The ID of the LeaveSupplier process to reverse.""" number: NonEmptyID """The reason for the reversal.""" reversalReason: String } input RevokeAgreementInput { """The account number.""" accountNumber: String! """The ID of the agreement to be revoked.""" agreementId: ID! """The reason for revoking the agreement.""" reason: String } input RevokeContractInput { """The unique identifier of the contract to revoke.""" identifier: NonEmptyString! } input RevokePartnerUserAccessInput { """The number of the partner user to delete.""" partnerUserNumber: String! } input RevokeUserAccessFromBusinessInput { """The number of the user that will lose access.""" userNumber: String! """The ID of the business that will revoke access.""" businessId: ID! """The code of the role that will be revoked.""" roleCode: String! } """ A postal address. This data model is based on the structure used by Google's [libaddressinput library](https://github.com/google/libaddressinput)—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 RichAddressInput { """A personal name.""" name: String """The name of a business or organisation.""" organization: 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. """ streetAddress: String """ 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` """ structuredStreetAddress: GenericScalar """ UK dependent localities, or neighbourhoods or boroughs in some other locations. """ dependentLocality: 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. """ locality: String """ Top-level administrative subdivision, e.g. US state, AU state/territory, NZ region, IT region, JP prefecture. """ administrativeArea: String """ Postal code (ZIP code in the US). """ postalCode: String """ Sorting code, e.g. FR CEDEX code. This field is not used in many countries. """ sortingCode: String """ ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. `AU`, `GB`, `JP`, `NZ`. """ country: 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. """ deliveryPointIdentifier: String } input RiskListItemInputType { """The value of the risk identifier to be added or removed from the risk list.""" identifierValue: String! """The type of the risk identifier to be added or removed from the risk list.""" identifierTypeName: String! """The date and time until which the risk identifier is valid. If not provided, the risk identifier will be valid indefinitely.""" validTo: DateTime } input RunAgreementRolloverInput { """Number of the agreement rollover that is going to be executed.""" agreementRolloverNumber: String! } input SEPADirectDebitDetailsInput { """The name of the account holder.""" accountHolder: String! """The country code of the bank account.""" countryCode: String! """The last four digits of the IBAN.""" lastFourDigits: String! """The bank code of the bank account.""" bankCode: String! """The branch code of the bank account.""" branchCode: String! """The unique digital identifier of this bank account.""" fingerprint: String } input SMSContentInput { """The SMS message body.""" body: String! """The recipient phone number.""" toNumber: String! """The sender phone number.""" fromNumber: String! } """Input type for specifying sales details.""" input SalesDetailsInput { """The sales record associated with the contract.""" salesRecord: SalesRecordInput! } input SalesFunnelInput { """The code of the funnel to get the schema for.""" funnelCode: String! } input SalesFunnelsInput { """The type of the funnels to get the schema for.""" funnelType: FunnelTypeChoices! """Whether to include deprecated fields in the schema.""" includeDeprecated: Boolean = false } """Information about the sale to associate with the account.""" input SalesInformationInput { """Optional number of the affiliate organisation.""" organisationNumber: String """Optional ID of the affiliate session.""" affiliateSessionId: String """Sales channel.""" salesChannel: String """Unique reference number.""" urn: String """Unique identifier for the offer group.""" offerGroupIdentifier: NonEmptyString """The referral code used by the customer when signing up.""" referralCode: String } input SalesRecordInput { """The opportunity code associated with the sales record.""" opportunityNumber: String """The sales channel associated with the sales record.""" salesChannel: String """The name of the affiliate organisation associated with the sales record.""" affiliateOrganisationName: String } input SchemeLabelInput { """The unique reference to the scheme.""" reference: String! """The value for the scheme.""" value: String! } input SearchCriteriaInput { """The ID of the internal company to retrieve.""" id: ID } input SearchLeadFilters { """The national ID of the lead.""" nationalId: String """The email address to be used for the lead.""" email: String """The telephone number to be used for the lead.""" telephone: String } """ Input type for security deposit details. This is used to set up a security deposit as part of the enrollment process. """ input SecurityDepositInput { """The idempotency key used to identify the security deposit.""" key: NonEmptyString! """The amount of the security deposit.""" amount: Int! """The reason for the security deposit.""" reason: NonEmptyString! } input SelectProductsInput { """Quote code.""" quoteCode: String! """IDs of the quoted products to be selected.""" selectedQuotedProductIds: [ID]! """Whether the `selectedQuotedProductIds` only contain a subset of all quoted supply points for the given `quoteCode`. Defaults to `false`, i.e. `selectedQuotedProductIds` must contain a quoted product ID for every quoted supply point in the quote.""" partial: Boolean } """Required information for sending comms.""" input SendAgreementRescissionMessageInput { """The ID of the agreement rescission for which the message will be sent.""" id: ID! } input SendChangeNMIDetailsRequestInputType { """The ID of the MeterDataIssue.""" issueId: Int! """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! } input SendCustomerDetailsRequestInputType { """The NMI of the supply point to send the CustomerDetailsRequest for.""" nmi: ID! """The participant to send to. For distribution this is the FRMP.""" toParticipantId: String! """The reason for the request.""" reason: RequestReason! """The 'special notes' to include in the notification, max of 3 lines with each line being 80 chars or less.""" specialNotes: [String] } input SendInkOutboundMessageInput { """The message to send.""" newMessage: InkSendMessageInput! """Whether to close the conversation.""" shouldCloseConversation: Boolean """The relay ID of the message we want to reply to.""" replyToMessageRelayId: ID """Whether to attach the full reply thread to an email reply.""" useFullReplyThread: Boolean = false } input SendSiteAccessNotificationInput { """The NMI of the supply point to send the SiteAccessNotification for.""" nmi: ID! """The date that the SiteAccessNotification is effective on.""" effectiveDate: Date! """The ID of the recipient to send the SiteAccessNotification to.""" recipientId: ID! """The transaction ID of the SiteAccessRequest this SiteAccessNotification is in response to (if applicable).""" initiatingTransactionId: String } input SendTrustpilotReviewInvitationInput { """The number of the account the review invitation relates to.""" accountNumber: String! """The id of the account user to send the review invitation to.""" userId: ID! """The id of the Trustpilot template to use for the invitation. If omitted, Trustpilot will fall back to a default template for the client's language (not the account user's preferred language. If the template id is wrong, Trustpilot will not send the email, and you won't be notified of an error.""" templateId: String """The datetime at which Trustpilot should send the invitation. If omitted, the invite will be sent at 8am the following day.""" sendAt: DateTime } input SendVerificationEmailInput { """The email address to be verified.""" email: String! } input ServiceOrderFeeFilterInput { """Filter on participating market.""" marketParticipant: String """Filter on product code.""" productCode: String """Filter on type of supplied goods/services associated with the fee.""" supplyType: SupplyType """Filter on fees effective at the passed in date.""" effectiveAt: Date } input SetCallRecordingStateInput { """The username of the support user.""" supportUserName: String! """The recording state to set. True resumes recording, False pauses recording.""" shouldRecord: Boolean! } input SetLastConsumerChangeDateRecordToBeExpiredInput { """National Meter Identifier for the last consumer change date.""" nmi: String! """The last consumer change date to use when finding the record to expire.""" lastConsumerChangeDate: Date! } """The input type for setting the Loyalty Points user.""" input SetLoyaltyPointsUserInput { """The account number.""" accountNumber: String! """The account user receiving the points.""" newLoyaltyPointsUserId: String! } input SetOpportunityOutcomeInput { """The unique number of the opportunity.""" opportunityNumber: ID """The opportunity final outcome.""" outcome: OpportunityOutcome = null } input SetPaymentPreferenceInput { """The account number.""" accountNumber: String! """The ID of the preferred payment method for automatic preferences.""" paymentMethod: String! """The ledgers for which this is the preference.""" ledgerNumbers: [String]! """The date from which this method is preferred.""" fromDate: Date! } """Input for setting errors on a quote configuration rates request.""" input SetQuoteConfigurationRatesRequestErrorsInput { """The identifier of the rates request to update.""" ratesRequestIdentifier: UUID! """The list of rate request errors to store. Pass an empty list for a successful response.""" errors: [RateRequestedErrorInput]! } input SetUpDirectDebitInstructionForBusinessInput { """The business ID.""" businessId: ID! """The date-time that the instruction is valid from.""" validFrom: DateTime! """The details with which to set up the instruction (these will be sent to the vendor).""" bankDetails: BankDetailsInput! } input SetUpDirectDebitInstructionFromStoredDetailsInput { """The number of the account.""" accountNumber: String! """The number of the ledger on which the instruction should be created.""" ledgerNumber: String! """Reference returned when storing bank details (StoredPaymentMethodDetails.reference).""" storedPaymentMethodDetailsReference: String! """The date-time that the instruction is valid from.""" validFrom: DateTime! """The owners of the financial account this instruction represents.""" owners: [OwnerInput] } input SetUpDirectDebitInstructionInput { """The number of the account.""" accountNumber: String! """The number of the ledger on which the instruction should be created.""" ledgerNumber: String """The date-time that the instruction is valid from.""" validFrom: DateTime! """The details with which to set up the instruction (these will be sent to the vendor).""" bankDetails: BankDetailsInput! """The owners of the financial account this instruction represents.""" owners: [OwnerInput] """Set newly created payment instruction as the active payment preference.""" useForAutomatedPayments: Boolean } input SetupPaymentDetailsInput { """Account number.""" accountNumber: String """Payment method.""" paymentMethod: PaymentMethod """Credit Card token.""" cardToken: String """Credit Card account token.""" cardAccountToken: String """Target ledger for the payment details.This will soon be mandatory after full migration to the new issuance system.""" ledgerNumber: String = null } input ShareGoodsQuoteInput { """The quote to share.""" quoteCode: String! """The email to share the quote with.""" email: String! } input SimpleServicesAgreementTransferInput { """The account number to transfer agreements from.""" accountNumber: String! """The product code for the agreement to be transferred.""" productCode: String! } input SimpleServicesEnrollmentMarketInput { """The requested supply start date for the enrollment.""" requestedSupplyStartDate: Date! """The source of market data for the enrollment.""" marketDataSource: SimpleServicesMarketDataSourceInput """The market supply point identification number.""" externalIdentifier: String } """ Source of market data for Simple Services enrollment. Exactly one of the following must be provided: - quoted_supply_point_data: Use a pre-created QuotedSupplyPoint - product_catalog_data: Use product catalog characteristics - agreement_transfer_data: Transfer existing agreements from another account """ input SimpleServicesMarketDataSourceInput { """Data for enrollment using a pre-created QuotedSupplyPoint.""" quotedSupplyPointData: SimpleServicesQuotedSupplyPointInput """Data for enrollment using product catalog characteristics.""" productCatalogData: SimpleServicesProductCatalogInput """Data for enrollment via agreement transfer. Callers must include an associated account number and product code. If the account spans multiple properties, the group header property identifies the target property.""" agreementTransferData: SimpleServicesAgreementTransferInput } input SimpleServicesProductCatalogInput { """The code of the product to be enrolled.""" product: String! """The datetime when the rates of the product were agreed. This is usually the datetime corresponding to when the quote/offer was generated.""" ratesAgreedAt: DateTime """List of product characteristics for the selected product.""" productCharacteristicsList: [CharacteristicValueInput] """List of supply point characteristics.""" supplyPointCharacteristicsList: [CharacteristicValueInput] """The monthly payment amount to set for a regular payment schedule.""" monthlyPaymentAmount: Int } input SimpleServicesQuotedSupplyPointInput { """The id of the QuotedSupplyPoint created for the supply point.""" quotedSupplyPointId: ID! } input StandingChargesWindowInput { """ Include data starting at this datetime. If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in ``timezone`` """ startAt: DateTime! """ Include data ending at this datetime. If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in ``timezone`` """ endAt: DateTime! """Olson timezone identifier to use (e.g. `Australia/Melbourne`). This is used to determine what time of day to split days and months.""" timezone: String! """How granular the returned results should be.""" granularity: ConsumptionGranularity! } input StartCollectionProcessInput { """Account number for the collection process.""" accountNumber: String! """Ledger number, required only for ledger level collection process.""" ledgerNumber: String """Identifier for billing document, required only for billing document level collection process.""" billingDocumentIdentifier: String """Collection process config code.""" configCode: String! } input StartCustomerVerificationInput { """The number of the user that needs verification.""" userNumber: String! """The type of verification to start.""" verificationType: CustomerVerificationType! """The code for the brand that transactional trigger will use.""" brandCode: String! } input StartGroupedCollectionProcessInput { """Account number for the collection process.""" accountNumber: String! """Ledger number, required only for ledger level collection process.""" ledgerNumber: String """Identifier for billing document, required only for billing document level collection process.""" billingDocumentIdentifier: String """Collection process config code.""" configCode: String! """Number of an existing collection process to group with the newly created one.""" previousCollectionProcessNumber: String! } input StartMirnIdentificationInput { flatOrUnitType: FlatOrUnitType flatOrUnitNumber: String floorOrLevelType: FloorOrLevelType floorOrLevelNumber: String buildingOrPropertyName: String locationDescriptor: String houseNumber1: String houseNumberSuffix1: String lotNumber: String streetName: String streetType: StreetType streetSuffix: StreetSuffix """Suburb/Locality.""" locality: String administrativeArea: StateChoices postalCode: String """The serial number of the gas meter.""" serialNumber: String """A contact name for the requester.""" contactName: String """A contact number for the requester.""" contactPhoneNumber: String """An contact email address for the requester.""" contactEmail: String } input StopAutomatedPaymentsInput { """The account number.""" accountNumber: String! """The ledgers for which this is the preference.""" ledgerNumbers: [String]! """The date from which automated payments should not be collected.""" fromDate: Date! } input StoreBankDetailsForLeadInput { """The unique number of the lead to store bank details for.""" leadNumber: String! """The bank account details to store.""" bankDetails: BankDetailsInput! } input StoreDirectDebitPaymentMethodDetailsInput { """The account number.""" accountNumber: String! """The number of the ledger on which the instruction should be created.""" ledgerNumber: String """The details with which to set up the instruction (these will be sent to the vendor).""" bankDetails: BankDetailsInput! } """The input for storing a new payment instruction created through the embedded process.""" input StorePaymentInstructionInput { """The account number.""" accountNumber: String! """The type of the new payment instruction.""" instructionType: PaymentType! """The datetime from which the instruction is vaild. If not specified, defaults to the current datetime.""" validFrom: DateTime """The vendor's reference for this payment method.""" vendorReference: String! """ **WARNING: Will be mandatory in future versions** The number of the ledger to which the instructions will be linked. """ ledgerNumber: String """Set newly created payment instruction as the active payment preference.""" useForAutomatedPayments: Boolean } input SuccessfulPaymentDetailsInput { """The payment action intent details that identify the target for this payment.""" actionIntent: PaymentActionIntentOneOfInput! """The reference used to uniquely identify this payment.""" reference: String! """The payment amount in the minor unit of currency.""" amount: Int! """The date when the payment was made.""" paymentDate: Date! """The description of the payment, as shown to the customer.""" customerReference: String! """The details of the payment method used for this payment.""" paymentMethod: PaymentMethodInput! """The timezone aware datetime when the payment entered the reported state.""" timestamp: DateTime! """The timezone aware datetime when the payment succeeded.""" succeededAt: DateTime! } input SupplyPointIdentifierToMarketNameMappingInput { """Supply point identifier (NMI, MPAN, MPRN, etc...).""" supplyPointExternalIdentifier: NonEmptyString! """Name of the market (GBR_ELECTRICITY, AUS_ELECTRICITY, etc...).""" marketName: NonEmptyString! } input SupplyPointInfoInput { """The market of the supply point.""" marketName: String! """The supply points external identifier.""" externalIdentifier: String! } """Input type for switching an account to a variable payment schedule. Requires an `account_number` and `ledger_number` to be provided.""" input SwitchAccountToVariablePaymentScheduleInput { """Number of the account for which to update the schedule.""" accountNumber: String! """Number of the ledger associated with the current payment schedule.""" ledgerNumber: String! """The date from which the variable payment schedule should start. Defaults to today.""" targetChangeDate: Date """A note to be added to the payment schedule to explain the change.""" note: String """If true, any conflicting future payment schedules on the ledger will be deleted before creating the new variable schedule.""" cancelConflictingSchedules: Boolean = false } """ Input for specifying which target to query billing configurations for. Exactly one of account_number, portfolio_number, or ledger_id must be provided. """ input TargetInput { """Account number.""" accountNumber: String """Portfolio number.""" portfolioNumber: String """Supplementary ledger ID.""" ledgerId: ID } input TerminateAgreementInput { """The ID of the agreement to be terminated.""" agreementId: ID! """The date and time when the agreement should be terminated.""" terminateAt: DateTime! """The reason for terminating the agreement.""" reason: String """The datetime when the request to terminate was filed. Defaults to 'now'.""" terminatedAt: DateTime } input TerminateContractInput { """The unique identifier of the contract to terminate.""" identifier: NonEmptyString! """The date until the contract remains valid. Must not be beyond the current contract end date.""" validToDate: IndustryMidnightAlignedDateField! """Whether to waive any exit fees associated with the contract or not.""" waiveExitFee: Boolean = false """Optional note to capture at the point of termination.""" contractNote: ContractNoteInput } input TerminateCreditTransferPermissionInput { """Source ledger number of the credit transfer permission.""" sourceLedgerNumber: String! """Target ledger number of the credit transfer permission.""" targetLedgerNumber: String! """Datetime when the credit transfer permission is valid.""" activeAt: DateTime } """Input type for the TimeOfUseOverrideTerm.""" input TimeOfUseOverrideInput { """Whether the term is variable.""" isVariable: Boolean } input TimeOfUseSummaryInput { """The label for this time of use slot.""" label: String! """The estimated usage for this time of use slot.""" usage: Decimal! } """Input data to represent prices for particular moments and characteristics values.""" input TimeSeriesEntryInput { """The value start of validity.""" periodStart: DateTime! """The value end of validity.""" periodEnd: DateTime """The time series value.""" value: Decimal! """All params that can be associated to the value.""" params: JSONString """All characteristics and schemes that can be associated to the value.""" variant: VariantProfileInput } """ Input type for defining a time series specification eligibility schedule. This input type is used to specify the details of a time series specification eligibility schedule, including the associated product code, time series specification code, eligibility status, and effective period. """ input TimeSeriesSpecificationEligibilityScheduleInput { """The product code associated with the time series specification.""" productCode: String! """The time series specification code.""" timeSeriesSpecificationCode: String! """The external identifier of the supply point this schedule targets. When omitted, the schedule targets all agreements for the product.""" supplyPointIdentifier: String """Indicates if the time series specification is eligible.""" isEligible: Boolean! """The period during which this eligibility is effective.""" effectivePeriod: RateGroupEligibilityPeriodInput! } input TransferLeadOpportunitiesInput { """The number of the source lead.""" sourceLeadNumber: String! """The number of the destination lead.""" destinationLeadNumber: String! } input TransferLedgerBalanceInputType { """Account's ledger from which the requested amount is debited.""" sourceAccountLedger: AccountLedgerInput! """Account's ledger to which the requested amount is credited.""" targetAccountLedger: AccountLedgerInput! """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).""" amount: Int! """Optional short note about transfer reason.""" note: String } """The input type for transferring Loyalty Points.""" input TransferLoyaltyPointsBetweenUsersInput { """The account number.""" accountNumber: String! """The account user sending the points. If not provided, the current viewer will be used.""" sendingUserId: String """The account user receiving the points.""" receivingUserId: String! """The number of Loyalty Points to transfer.""" points: Int! } input TriggerC4RequestInputType { """The ID of the MeterDataIssue.""" issueId: Int! """The market participant role (optional).""" role: C4RequestRoleType """The specific market participant ID (optional).""" party: String """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! } input TriggerCollectionProcessMessageInput { """The unique number of the collection process.""" collectionProcessNumber: String! """The identifier for the specific communication step.""" stepIdentifier: String! """Whether to run withdrawal and pause assessments just before sending.""" runAssessments: Boolean! } input TriggerElectricityHouseMoveOutInput { """Account related to the property that needs to be moved out.""" accountNumber: ID! moveOutDate: Date! """ID of the property that the account wants to move out from.""" propertyId: ID! """This will be stored as an internal note for Especs for the account.""" note: String = "" hazards: [HazardType] """The other customized hazards that are not in the default hazards options.""" hazardDetails: [String] accessDetails: String """The special instructions such as 'Life Support Customer'.""" specialInstructions: String appointmentReference: String """The appointment date in the format of 'YYYY-MM-DD'.""" appointmentPreferredDate: Date """The appointment time in the format of 'HH:MM:SS'.""" appointmentPreferredTime: Time """The customer user id to be used to find the customer's details.""" customerUserId: ID! affiliateDetails: AffiliateDetails """Whether a customer consultation is required.""" customerConsultationRequired: Boolean """Whether to attempt de-energisation of the supply point. Note the effectiveness of this field will depend on the FEATURE_AUS_INDUSTRY_DEEN_ON_MOVEOUT_ENABLED setting.""" attemptDeenergize: Boolean = false } input TriggerGasHouseMoveOutInput { """Account related to the property that needs to be moved out.""" accountNumber: ID! moveOutDate: Date! """ID of the property that the account wants to move out from.""" propertyId: ID! """This will be stored as an internal note for Especs for the account.""" note: String = "" accessDetails: String """The appointment time in the format of 'HH:MM:SS'.""" appointmentPreferredTime: Time affiliateDetails: AffiliateDetails } input TriggerPmdRequestInputType { """The ID of the MeterDataIssue.""" issueId: ID! """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! """When true, truncate date ranges to 13-month window instead of rejecting.""" truncateToMarketThreshold: Boolean = false } input TriggerStandalonePaymentRequestInput { """Requested payment unique identifier.""" requestedPaymentIdentifier: UUID! """Code for standalone payment request method to use.""" requestMethodCode: String! """Kraken Account User number to send standalone payment request to.""" recipientAccountUserNumber: String """AdHoc recipient detail to send standalone payment request to.""" adhocRecipient: AdHocRecipientInput """Additional data to be included in the standalone payment request.""" additionalData: JSONString """Unique identifier for triggering standalone payment request.""" idempotencyKey: String! } input TriggerVmdRequestInputType { """The ID of the MeterDataIssue.""" issueId: Int! """The identifier for the Kraken Flow run triggering this request.""" flowRunIdentifier: String! } """The input type used to unenroll an account from the loyalty program.""" input UnenrollAccountFromLoyaltyProgramInput { """The account number to enroll.""" accountNumber: String! } input UpdateAPIExceptionInput { """The ID of the API Exception that will be updated.""" id: Int! """The new resolution status. If none is provided, the field won't be updated.""" resolutionStatus: APIExceptionResolutionStatus = null """The new resolution type. If none is provided, the field won't be updated.""" resolutionType: APIExceptionResolutionType = null """The new priority. If none is provided, the field won't be updated.""" priority: APIExceptionPriority = null """The new context. If none is provided, the field won't be updated. This will completely replace the existing context by the new one.""" context: JSONString """The new category. If none is provided, the field won't be updated.""" category: APIExceptionCategories = null """The updated list of tags. If none is provided, the field won't be updated.""" tags: [APIExceptionTags] """The new key date. If none is provided, the field won't be updated.""" keyDate: Date """The ID of the user assigned to handle this exception.If no user is provided, no user will be assigned to the exception.""" assignedUserId: Int """The ID of an operations team to handle this exception. If no team is provided, no team will be assigned to the exception.""" operationsTeamId: Int """The account number associated with this exception. If none is provided, the field won't be updated.""" accountNumber: String } input UpdateAPIExceptionNoteInput { """The body of the note.""" body: String! """The ID of the API Exception note being updated.""" apiExceptionNoteId: ID! } """Input fields for updating billing email for an account.""" input UpdateAccountBillingEmailInput { """Account number for account.""" accountNumber: String! """The billing_email which can be up to 512 characters. Use null to unset billing_email.""" billingEmail: String } """Input fields for updating the billing name for an account.""" input UpdateAccountBillingNameInput { """Account number for account.""" accountNumber: String! """The billing name for the account. If omitted, null, or empty, the existing billing name is preserved; this mutation cannot clear the name.""" billingName: String """The billing sub name for the account, used when the name needs to be split across multiple lines. If omitted, null, or empty, the existing billing sub name is preserved; this mutation cannot clear the sub name.""" billingSubName: String } input UpdateAccountElectricityProductInput { userId: Int! electricityPlanDetails: ElectricityPlanDetailsType! """Date for the switch. It defaults to the current date if no value is passed.""" asOf: Date affiliateDetails: AffiliateDetails """Attempt to send the simple rather than full contract pack for the switch.""" useSimplePack: Boolean = false lifeSupportDetails: LifeSupportDetailsInput } """ This includes all inputs needed to: 1. Create a new quote for all gas supply points of the property 2. Switch the gas plan of a supply point """ input UpdateAccountGasProductInput { userId: Int! propertyId: Int! isBusiness: Boolean! gasPlanDetails: GasPlanDetailsType! """Date for the switch. It defaults to the current date if no value is passed.""" asOf: Date affiliateDetails: AffiliateDetails """Attempt to send the simple rather than full contract pack for the switch.""" useSimplePack: Boolean = false lifeSupportDetails: LifeSupportDetailsInput } """Required information for updating the status of an account referral""" input UpdateAccountReferralStatusInput { """The ID of the account referral to update.""" referralId: Int! """The new status for the account referral. Status can only move forward: Pending -> Paid or Cancelled.""" status: ReferralStatus! } input UpdateAccountUserCommsPreferencesInput { emailFormat: EmailFormats isUsingInvertedEmailColours: Boolean fontSizeMultiplier: Float isOptedInMeterReadingConfirmations: Boolean isOptedInToSmsMessages: Boolean preferredHoldMusic: Songs isOptedInToClientMessages: Boolean isOptedInToOfferMessages: Boolean isOptedInToRecommendedMessages: Boolean isOptedInToUpdateMessages: Boolean isOptedInToThirdPartyMessages: Boolean } input UpdateAccountUserCommsPreferencesMutationInput { isOptedInToClientMessages: Boolean isOptedInToOfferMessages: Boolean isOptedInToRecommendedMessages: Boolean isOptedInToUpdateMessages: Boolean isOptedInToThirdPartyMessages: Boolean isOptedInMeterReadingConfirmations: Boolean isOptedInToSmsMessages: Boolean isUsingInvertedEmailColours: Boolean fontSizeMultiplier: Float emailFormat: String preferredHoldMusic: String clientMutationId: String } input UpdateAccountUserMutationInput { givenName: String familyName: String pronouns: String mobile: String email: String dateOfBirth: Date landline: String clientMutationId: String } input UpdateAddressInput { """Up to 5 address lines.""" lines: [String] postcode: String countryCode: String deliveryPointIdentifier: String } input UpdateAffiliateLinkInputType { """The id of the affiliate link that is going to be edited.""" linkId: ID! """The organisation for whom to update the affiliate link for.""" organisationId: ID """ 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 """ subdomain: String """The contact name for the link.""" contactName: String """The contact email for the link.""" contactEmail: String """Is this link for business customers.""" isBusiness: Boolean """The landing URL for the link.""" landingUrl: String """The training status for the link.""" trainingStatus: String } input UpdateAffiliateOrganisationInputType { """The organisation that is going to be edited.""" organisationId: ID! """The name of the organisation.""" name: String """The primary contact email for the organisation, used to send notifications about API usage such as authentication and permissions.""" contactEmail: String """Sales Channel Code.""" salesChannelCode: String = null """Default Account Type.""" defaultAccountType: AccountTypeChoices = null """Are meter point registrations limited for profile classes 1 and 2 for registrations from csv or API.""" canRegisterBusinessMeterPoints: Boolean """Allow registration requests with exiting account user emails to add to the portfolio belonging to the account user.""" canRegisterPortfolioAccounts: Boolean """Allow registration requests with customers without an email address.""" canRegisterCustomersWithoutEmailAddress: Boolean """Allow this partner to skip validation that ensures all meter points belong to the same address.""" skipMeterPointAddressValidation: Boolean """Is this partner allowed to specify payment methods other than Direct Debit in the import csv or API.""" allowAlternativePaymentMethods: Boolean """Allow performing tariff renewals via API.""" canRenewTariffs: Boolean """Allow this partner access to the IVR support API (modify their own IVR handling through third party 'IVR Flow Editor').""" canUseIvrSupportApi: Boolean """Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels.""" isFieldSalesOnlyProduct: Boolean } input UpdateAgentAuxiliaryStatusInput { """The email address of the support user.""" supportUserEmail: String! """The auxiliary status string.""" auxiliaryStatus: String! } input UpdateAgreementPeriodInput { """A code that uniquely identifies the agreement.""" agreementId: ID! """A code that uniquely identifies the account.""" accountNumber: String! """The start date of the agreement.""" validFrom: 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.""" validTo: Date """The reason for the change.""" reason: String } """Required information for updating an agreement rescission.""" input UpdateAgreementRescissionInput { """The ID of the agreement rescission to update.""" id: ID! """The new status for the agreement rescission.""" status: AgreementRescissionStatus """The reason for failure if the rescission failed.""" failureReason: String } input UpdateAgreementRolloverInput { """Number of the agreement rollover that is going to be updated.""" agreementRolloverNumber: String! """The new status for the agreement rollover.""" status: RolloverStatus """The new product code for the agreement rollover.""" renewProductCode: String """The new rollover date for the agreement rollover.""" rolloverDate: Date """The new expected send date for the agreement rollover.""" expectedSendDate: Date """Suppress Agreement Rollover communications.""" suppressComms: Boolean """List of comma-separated tags to be set on the rollover.""" tags: [String] """A JSON object containing additional parameters for the agreement rollover. Ensure it's properly encoded.""" params: GenericScalar } """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 UpdateAutoTopUpAmountInput { """Account number to update the schedule auto top up amount for.""" accountNumber: String! """Specifies the ledger number associated with the current schedule for updates.""" ledgerNumber: String """The new auto-top-up amount for the payment schedule.""" paymentAmount: Int! } """Input for updating a bespoke rate item's price within a quote configuration.""" input UpdateBespokeRateItemInput { """The unique identifier for the bespoke rate item to update.""" identifier: String! """The new price per unit for the bespoke rate item.""" pricePerUnit: Decimal! } """Input for updating a bespoke rate schedule within a quote configuration.""" input UpdateBespokeRateScheduleInput { """The unique identifier for the bespoke rate schedule to update.""" identifier: String! """The items to update within this schedule.""" items: [UpdateBespokeRateItemInput]! } input UpdateCampaignAccountExpiryDateInput { """The account number.""" accountNumber: String! """The slug of the campaign to update.""" campaignSlug: String! """The new expiry date for the active campaign account.""" expiryDate: Date! """An optional note explaining why the expiry date is being updated. If not provided, a default note will be generated.""" note: String } input UpdateCollectionProcessRecordLatestStepInputType { """The Collection Process Record Number.""" number: String! """The step identifier.""" stepIdentifier: String! """The status of the step.""" status: CollectionProcessStepStatus! } input UpdateCollectionProcessRecordToActiveInputType { """The Collection Process Record Number.""" number: String! """The reference code for the active flow.""" externalReference: String """External system name.""" externalSourceName: String } input UpdateCollectionProcessRecordToCompleteInputType { """The Collection Process Record Number.""" number: String! """The Completion reason for the Collection Process.""" completionReason: CollectionProcessRecordCompletionTypeChoices """The Completion details for the Collection Process.""" completionDetails: String } """Input fields for updating comms delivery preferences for an account""" input UpdateCommsDeliveryPreferenceInput { accountNumber: String! commsDeliveryPreference: CommsDeliveryPreference! } input UpdateConcessionInput { cardType: ConcessionCardType! cardNumber: String! """The user for whom to perform the update. This is only needed when using an Organisation role.""" userId: String """The next validation date.""" nextValidationDate: Date } input UpdateCreditCardInstructionInput { """Account number.""" accountNumber: String! creditCardInstructionAttributes: CreditCardInstructionAttributesInput! } input UpdateDCAProceedingInputType { """The account number.""" accountNumber: String! """The campaign.""" campaign: String """Amount of debt.""" amount: Int """Notes for the commencement.""" notes: String } """Input fields for updating document accessibility preference for an account""" input UpdateDocumentAccessibilityPreferenceInput { """Account number for account.""" accountNumber: String! """Document accessibility preference option. Use null to reset to standard format.""" documentAccessibilityPreference: DocumentAccessibilityChoices } input UpdateElecMeterPointAccessDetailsInputType { """The target meter point nmi.""" meterPointNmi: String! """Access details notes. Set empty string to remove access details.""" accessDetails: String """Applicable hazards. Set empty list to remove all hazards.""" hazards: [HazardType] """Any other applicable hazards that should be shown.""" hazardDetails: String } """Input type for updating the method of payment for a solar export repayment.""" input UpdateExportPaymentMethodInput { """Kraken account number.""" accountNumber: String! """Method of payment. Can be 'CHEQUE' or 'DIRECT_DEBIT'.""" paymentMethod: ExportPaymentMethodEnum! } input UpdateExtraDetailsInput { """The unique number of the opportunity to update.""" opportunityNumber: String! """The keys and values to be updated.""" items: [ExtraDetailsItem] } """Input type for updating an existing hardship agreement.""" input UpdateHardshipAgreementInput { """The ID of hardship agreement to be updated.""" id: ID! """The type of hardship (e.g., unemployment, household illness).""" hardshipType: HardshipTypeEnum = null """Internal notes detailing the hardship situation.""" hardshipDetails: String = null """How the customer entered the hardship program.""" hardshipEntryReason: HardshipEntryReasonEnum = null """The start date of the hardship agreement (inclusive).""" startDate: Date = null """The end date of the hardship agreement (inclusive). Null means ongoing.""" endDate: Date = null """The reason for exiting the hardship agreement.""" exitReason: HardshipExitReasonEnum = null """Additional details about why the hardship agreement ended.""" exitReasonDetails: String = null """Details of the payment plan associated with this hardship agreement.""" paymentPlanDetails: String = null """Whether to send communication to the customer about the hardship agreement.""" sendComms: Boolean = false } input UpdateLeadDetailsInput { """The unique number of the lead to update.""" leadNumber: String! """The funnel fields for the lead.""" extraDetails: [ExtraDetailsItem] """The account number for the lead.""" accountNumber: String } input UpdateLeadStageInput { """The unique number of the lead to update.""" leadNumber: String! """The stage that the lead should be updated to.""" stage: String! """The current stage of the lead to validate the transition.""" currentStage: NonEmptyString! } input UpdateLeaveSupplierInput { marketData: LeaveSupplierMarketInputType = null """Future billing address.""" futureBillingAddress: RichAddressInput = null """The type of leave supplier process to initiate.""" subtype: LeaveSupplierSubType = null """Whether this leave supplier is part of a house move.""" isHouseMove: Boolean = false """Optional idempotency key to prevent duplicate journey creation on retry.""" idempotencyKey: String """The requested last day of supply.""" requestedSupplyEndDate: Date! """The number of the LeaveSupplier process to update.""" number: NonEmptyID } input UpdateMessageTagsInput { """The message to set the tags on.""" messageRelayId: ID! """The tag names to set on the message.""" tagNames: [String!]! """The tag code to set on the message.""" taggerCode: String! """The tag version to set on the message.""" taggerVersion: String! } input UpdateNotesOnOpportunityInput { """The unique number of the opportunity to update the notes for.""" opportunityNumber: String! """The note to update on the opportunity.""" notes: String! } input UpdateOfferGroupOnOpportunityInput { """The unique number of the opportunity.""" opportunityNumber: String! """The identifier of the offer group for the opportunity.""" offerGroupId: String! } input UpdateOpportunityAssignmentInput { """The unique number of the opportunity to update.""" opportunityNumber: String! """The identifier of the user to assign the opportunity to.""" assignedToUserIdentifier: String """The identifier of the team to assign the opportunity to.""" assignedToTeamIdentifier: String """The number of the affiliate organisation the opportunity is assigned to.""" assignedToAffiliateNumber: String } input UpdateOpportunityDetailsInput { """The unique number of the opportunity to update.""" opportunityNumber: String! """The new address for the opportunity.""" address: RichAddressInput """The funnel fields for the opportunity.""" extraDetails: [ExtraDetailsItem] """New supply points on the opportunity.""" addSupplyPoints: [LeadSupplyPoint] """Remove supply points on the opportunity.""" removeSupplyPoints: [LeadSupplyPoint] } input UpdateOpportunityStageInput { """The unique number of the opportunity to update.""" opportunityNumber: String! """The stage that the opportunity should be updated to.""" stage: String! """The current stage of the opportunity.""" currentStage: NonEmptyString! } input UpdatePasswordInput { """Old password.""" oldPassword: String! """New password.""" newPassword: String! """Confirm new password.""" newPasswordConfirmed: String! } input UpdatePaymentScheduleInput { """Account associated with payment schedule.""" accountNumber: String! """Associated payment schedule for account.""" paymentScheduleId: String! """Fields we want to update on the associated schedule.""" updatedParameters: UpdatePaymentScheduleParams } input UpdatePaymentScheduleParams { """The date that the schedule starts from. Must be less than or equal to valid_to.""" validFrom: Date! """Input a schedule type.""" scheduleType: ScheduleTypeInputChoices! paymentFrequency: PaymentScheduleChoices = null """The day of the month we take payment; starting from 1 to 28. Only appropriate for a `MONTHLY` frequency, other frequencies have a payment date inline with `validFrom`.""" paymentDay: Int """The payment amount in cents the customer has agreed to pay.""" paymentAmount: Int! paymentAdequacyAdjustment: Int = 0 paymentAdequacyAdjustmentExpiryDate: Date """End date of the schedule. If this is unset it'll remain open ended.""" validTo: Date } input UpdatePrimaryResidenceInput { """The primary residence that is going to be updated.""" primaryResidenceId: String! """The user to link with the primary residence.""" userId: String! """The property where the user lives.""" propertyId: String! """The date is inclusive. A null value will leave the fromDate on the PrimaryResidence as is.""" fromDate: Date """The date is exclusive. A null value means that the PPoR has no expiration date.""" toDate: Date = null """Allow this primary residence to overlap with an existing primary residence if the property is different. Typically, you would only do this if the customer has accounts with multiple fuels.""" allowOverlappingPeriods: Boolean! """Force end an overlapping period for the same property. You should only need to do this if the primary residence property was not ended correctly for a previous customer.""" forceEndOverlappingProperty: Boolean! } input UpdateProcessedHouseMoveDateInput { updatedMoveDate: Date! """ID of the occupancy period related to the property the account is to be moved out from.""" occupancyPeriodId: ID! } """Rate group prices for a product.""" input UpdateProductPricesInput { """The product code.""" product: String! """The rate group prices.""" prices: [RateGroupPricesInput!]! """The period for the price.""" periodStart: DateTime! """The period for the price.""" periodEnd: DateTime } """Input type for updating the address of an existing property.""" input UpdatePropertyAddressInput { """The ID of the property whose address should be updated.""" propertyId: ID! """The new address of the property using the rich address format.""" address: RichAddressInput! } input UpdatePurchaseInput { """The account number.""" accountNumber: String! """The purchase ID.""" purchaseId: ID! """Products being purchased.""" saleItems: [ProductToPurchaseInput]! """A JSON object containing market parameters to store on the purchase.""" marketParams: JSONString """A JSON object containing client parameters to store on the purchase.""" clientParams: JSONString } """Input for updating a quote configuration.""" input UpdateQuoteConfigurationInput { """The unique number of the quote configuration to update.""" quoteConfigurationNumber: String! """Optional updated bespoke rate terms.""" terms: [BespokeRateTermInput] """Optional new expiry datetime for the quote configuration.""" expiresAt: DateTime """Optional extra detail field updates.""" extraDetails: [ExtraDetailInput] """Optional forecast consumption entries to partially update.""" forecastConsumptionEntries: [ForecastConsumptionEntryInput] """Optional identifier of a rates request to mark as responded. When provided, the quote configuration will be transitioned to IN_REVIEW.""" quoteConfigurationRatesRequestIdentifier: UUID } input UpdateRegisterNTCOverrideInputType { """The target meter point nmi.""" meterPointNmi: String! """The new network tariff code to be applied on the Register.""" effectiveNetworkTariffCode: String! """Start date of the override.""" startAt: Date! """End date of the override.""" endAt: Date """Register network tariff code override, which needs to be updated.""" registerNtcOverrideId: ID! } input UpdateSiteworksRequestInputType { """ID of the request.""" id: UUID! """Request status.""" status: RequestStatus! } input UpdateUserInput { givenName: String familyName: 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.""" pronouns: String email: 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 dateOfBirth: Date """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.""" landline: String """The user for whom to perform the update. This is only needed when using an Organisation role.""" userId: String """The user's title.""" title: String """A free text field to help identifying the customer (e.g. for a job title).""" label: String """User details.""" details: [DetailsInputType] } input UsageSummaryInput { """Usage summary for the different time of use slots. Basic meters will have a single ALLDAY entry.""" standard: [TimeOfUseSummaryInput]! """Controlled load usage summary.""" controlledLoad: Decimal """Solar export usage summary. Will be null for system generated usage estimates.""" export: [TimeOfUseSummaryInput] """The starting date and time this usage summary covers.""" startAt: DateTime! """The ending date and time this usage summary covers.""" endAt: DateTime! } """ Filter measurements by the given utility parameters. """ input UtilityFiltersInput { """ Filter measurements by electricity parameters. """ electricityFilters: ElectricityFiltersInput = null """ Filter measurements by embedded electricity parameters. """ embeddedElectricityFilters: EmbeddedElectricityFiltersInput = null } """Input for the validateAddress mutation.""" input ValidateAddressInput { """The descriptor identifier (ISO 3166-1 alpha-2 country code or custom key) that was used to render the address form.""" addressFieldDescriptorId: String! """The submitted field groups with their values.""" fieldGroups: [AddressFieldGroupInput!]! } input ValidateConcessionInput { """The user for whom to perform the update. This is only needed when using an Organisation role.""" userId: String """Whether the validation was successful.""" status: Boolean! """Date at which this validation should be applied from.""" applicableFrom: Date """Notes on why/how we did the validation.""" notes: String } """Input required to validate email address via Kickbox""" input ValidateEmailInput { """The user's email address.""" email: String! """Check if an email is already in use.""" checkUniqueness: Boolean = false } input ValidateMfaDeviceInputType { """MFA method.""" mfaMethod: MFAMethodChoices! """Token sent to the user via the MFA method.""" token: String! } input ValidatePhoneNumberInput { """The user's phone number.""" phoneNumber: String! } """Object representing a variant profile.""" input VariantProfileInput { """The characteristic values for the variant.""" characteristicValues: JSONString! """The scheme labels for the variant.""" schemeLabels: JSONString } """Input type for varying contract terms.""" input VaryContractTermsInput { """The unique identifier of the contract to vary.""" identifier: NonEmptyString """The date from which the varied terms will apply.""" applicableAtDate: IndustryMidnightAlignedDateField """The terms to be varied in the contract.""" terms: [OneOfTermInput!]! """Optional note to capture at the point of variation.""" contractNote: ContractNoteInput } input VerifyCustomerInput { """The verification code sent to the customer.""" verificationCode: String! """The type of verification to be checked.""" verificationType: CustomerVerificationType! } input VerifyEmailInput { """Token string that will be used to verify the email.""" token: String! } input VerifyIdentityInput { """The number of the account belonging to the user (e.g. A-12345678).""" accountNumber: String! """The user's postcode (this could be the postcode of the energy supply property address or of the billing address on the account).""" postcode: String! """The user's full name.""" fullName: String! """The first line of the user's address (this could be the energy supply property address or the billing address on the account).""" firstLineOfAddress: String! } input VerifySupplyAbolishmentInput { """Code that will be used to verify supply abolishment job.""" verificationCode: String! """Scheduled date that will be used in abolishment service order.""" scheduledDate: Date! } input WithdrawDunningInputType { """Account number for which to withdraw the dunning process.""" accountNumber: String! """The dunning process path name to withdraw.""" pathName: String! """An optional note for the withdraw.""" note: String } input WorkflowFilterInput { """The account number associated to the workflow.""" accountNumber: String """The identifier of the property.""" propertyId: ID } input _BooleanParam { """Quoting parameter value.""" value: Boolean! } input _CreateOpportunityExtraDetailsItem { """The key of the extra detail item.""" key: String """The value of the extra detail item. Can be a string or an integer.""" value: GenericScalar } input _DateTimeParam { """Quoting parameter value.""" value: DateTime! } """ 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 _DefaultMarketTerminationInput { """The market supply point identification number.""" supplyPointIdentifier: String! } input _FloatParam { """Quoting parameter value.""" value: Float! } input _IntegerParam { """Quoting parameter value.""" value: Int! } input _QuotingParam { """Quoting parameter name.""" name: String! """Quoting parameter value of type String.""" string: _StringParam """Quoting parameter value of type Integer.""" integer: _IntegerParam """Quoting parameter value of type Float.""" number: _FloatParam """Quoting parameter value of type DateTime.""" datetime: _DateTimeParam """Quoting parameter value of type Boolean.""" boolean: _BooleanParam } input _StringParam { """Quoting parameter value.""" value: String! } """ Interface for all lifecycle journey processes that inherit from AbstractSupplyPointProcess. """ interface AbstractSupplyPointProcessInterface { """The ID or the primary key of the lifecycle process.""" id: ID """The status of the process.""" status: LifecycleSupplyPointProcessStatus """The supply points associated with the process.""" supplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection! } """Properties relating to the accessibility of features.""" interface AccessibilityInterface { """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String } interface AccountInterface { """The brand of the account.""" brand: String """The current status of the account.""" status: AccountStatus """The current account balance.""" balance(includeAllLedgers: Boolean = false): Int! """The current account overdue balance.""" overdueBalance: Int """Unique reference number from a 3rd party enrolment.""" urn: String """The billing name of the account.""" billingName: String """The billing sub name of the account.""" billingSubName: String """The billing email of the account.""" billingEmail: String """The billing address of the account.""" billingAddress: String billingAddressLine1: String billingAddressLine2: String billingAddressLine3: String billingAddressLine4: String billingAddressLine5: String billingAddressPostcode: String billingCountryCode: String billingDeliveryPointIdentifier: String """List of billing address lines.""" splitBillingAddress: [String] """ The billing address of this account, stored in the new libaddressinput-based format. Note that `name` and `organization` are very unlikely to be supplied here; the `billing_name` field on the account itself is generally used for that purpose instead. """ address: RichAddressType """A code that uniquely identifies the account.""" number: String """The portfolio this account is linked to.""" portfolio: PortfolioType """Ledgers provide the foundation of bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular customer account.""" ledgers(ledgerNumber: String, includeDebtLedgers: Boolean = true): [LedgerType] """Metadata associated with the account.""" metadata: [Metadata] """Whether the account can request a credit refund.""" canRequestRefund: Boolean """Details about the eligibility status for requesting a refund.""" requestRefundEligibility(ledgerNumber: String): RequestRefundEligibilityType """The payments made into an account from a payment instruction.""" payments( ledgerNumber: String status: AccountPaymentStatusOptions reason: PaymentReasonOptions includePromises: Boolean = true before: String after: String first: Int last: Int ): AccountPaymentConnectionTypeConnection """The repayments that have been requested for this account.""" repayments(statuses: [AccountRepaymentStatusOptions], before: String, after: String, first: Int, last: Int): AccountRepaymentConnectionTypeConnection """The payment plans that have been created for this account.""" paymentPlans(before: String, after: String, first: Int, last: Int): PaymentPlanConnectionTypeConnection """The schedules that describe how we would expect to take payments for an account on a given month.""" paymentSchedules( activeOnDate: Date active: Boolean includeDormant: Boolean = true ledgerType: Int ledgerNumber: String reason: PaymentScheduleReasonOptions before: String after: String first: Int last: Int ): PaymentScheduleConnectionTypeConnection """A list displaying the payment forecast for an account. The list starts from today's date (inclusive).""" paymentForecast(dateTo: Date!, ledgerNumber: String): [PaymentForecastType] @deprecated(reason: "The 'paymentForecast' field is deprecated. Please use 'paginatedPaymentForecast' instead. - Marked as deprecated on 2024-01-03. - Scheduled for removal on or after 2025-01-01.") """Paginated payment forecasts for an account. Starts from today's date (inclusive). The interface supports `last` but does not guarantee 'lastness'.""" paginatedPaymentForecast(dateTo: Date, ledgerNumber: String, before: String, after: String, first: Int, last: Int): PaymentForecastConnectionTypeConnection """The referrals created by this account.""" referrals(status: ReferralStatus, before: String, after: String, first: Int, last: Int): ReferralConnectionTypeConnection """Number of referrals created by this account.""" referralsCreated: Int """The rewards applied to this account.""" rewards: [RewardType] """The referral schemes currently active for this account.""" activeReferralSchemes: ReferralSchemeTypes """Fetch transactions that have taken place on the account.""" transactions( transactionTypes: [TransactionTypeFilter] = [] transactionTypesExcluded: [TransactionTypeFilter] = [] ledgerNumber: String includeAllLedgers: Boolean fromDate: Date toDate: Date orderBy: TransactionsOrderBy = POSTED_DATE_DESC offset: Int before: String after: String first: Int last: Int ): TransactionConnectionTypeConnection provisionalTransactions(before: String, after: String, first: Int, last: Int): ProvisionalTransactionConnectionTypeConnection """Fetch annual statements for the account.""" annualStatements(before: String, after: String, first: Int, last: Int): AnnualStatementConnectionTypeConnection """Fetch issued bills (invoices/statements) for the account.""" bills( includeBillsWithoutPDF: Boolean = false includeOpenStatements: Boolean = false includeHeldStatements: Boolean = false includeHistoricStatements: Boolean = true includeInvoices: Boolean = true onlyCurrentEmail: Boolean = false ledgerNumber: String fromDate: Date toDate: Date issuedFromDate: Date issuedToDate: Date orderBy: BillsOrderBy = FROM_DATE_DESC offset: Int before: String after: String first: Int last: Int ): BillConnectionTypeConnection """Information about the account's billing cycle.""" billingOptions: BillingOptionsType """The active billing trigger configuration for the account.""" billingTriggerConfiguration: BillingTriggerConfiguration """Fetch a specific issued bill (invoice/statement) for the account.""" bill(id: ID, identifier: String, billType: BillTypeEnum, ledgerNumber: String): BillInterface """The direct debit instructions of the account""" directDebitInstructions(statuses: [DirectDebitInstructionStatus], before: String, after: String, first: Int, last: Int): DirectDebitInstructionConnectionTypeConnection """The payment instructions of the account.""" paymentMethods(statuses: [PaymentInstructionStatus], before: String, after: String, first: Int, last: Int): PaymentInstructionConnectionTypeConnection """The account events that were recorded for the account.""" events(eventTypes: [AccountEventType], before: String, after: String, first: Int, last: Int): AccountEventConnectionTypeConnection """Applications by this account to become our customer. More recent applications will be listed first.""" applications(status: AccountApplicationStatus, before: String, after: String, first: Int, last: Int): AccountApplicationConnectionTypeConnection """The type of account.""" accountType: AccountTypeChoices """The company type of a business account.""" businessType: BusinessTypeOptions @deprecated(reason: "The 'businessType' field is deprecated. Use `business.businessType` instead - Marked as deprecated on 2022-03-09. - Scheduled for removal on or after 2024-01-01.") """Business info related to a business account.""" business: BusinessType """The method the account has specified they prefer we contact them.""" commsDeliveryPreference: CommsDeliveryPreference communicationDeliveryPreference: String @deprecated(reason: "The 'communicationDeliveryPreference' field is deprecated. Use `commsDeliveryPreference` instead - Marked as deprecated on 2022-05-27. - Scheduled for removal on or after 2024-01-01.") """The document accessibility preference of the account.""" documentAccessibility: DocumentAccessibilityChoices """Account references linked to this account.""" references: [AccountReferenceType] """Files attached to this account.""" fileAttachments: [AccountFileAttachment] """Files attached to this account.""" paginatedFileAttachments(id: Int, category: String, before: String, after: String, first: Int, last: Int): AccountFileAttachmentConnectionTypeConnection """The maximum amount a customer is allowed to request as a refund and the reason why that's the maximum amount.""" maximumRefund(ledgerNumber: String): MaximumRefundType """The campaigns associated with an account.""" campaigns: [AccountCampaignType] """True if there is an active Hardship Agreement for this account. False otherwise.""" isInHardship: Boolean """List of active hardship agreements for the user when is_in_hardship is True.""" activeHardshipAgreements: [HardshipAgreementType] """Notes for the account.""" notes: [AccountNoteType] """Contribution agreements for account.""" contributionAgreements: [ContributionAgreementType] """Assistance agreements for account.""" assistanceAgreements: [AssistanceAgreementType] """Debt collection proceedings for account.""" debtCollectionProceedings: [DebtCollectionProceedingType] """The datetime that the account was originally created.""" createdAt: DateTime """The language that the account preferred for communications.""" preferredLanguageForComms: String """Consents linked to this account.""" consents: [ConsentType!]! """The reminders associated with an account.""" reminders(before: String, after: String, first: Int, last: Int): AccountReminderConnectionTypeConnection """Get customer assets for an account.""" customerAssets: [CustomerAssetType] """The complaints associated with an account.""" complaints(before: String, after: String, first: Int, last: Int): ComplaintConnectionTypeConnection } """Interface for an AUS accumulation meter reading.""" interface AccumulationMeterReading { """List of register readings.""" registers: [RegisterReading] """The datetime when the meter was read.""" readAt: DateTime } """Actions are events created by buttons and other interaction.""" interface ActionInterface { """The name of the action object's type.""" typeName: String } interface AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String meterPoint: MeterPointInterface supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement } """A backend screen is the top-level container for mobile UI.""" interface BackendScreenInterface { """The name of the screen.""" name: String! """The refresh / polling frequency in milliseconds.""" refreshFrequency: Int """Serialized JSON representation of the screen.""" screenData: String } interface BillInterface { """The ID of the bill.""" id: ID """The type of the bill.""" billType: BillTypeEnum """The date of the bill is covered from.""" fromDate: Date """The date of the bill is covered to.""" toDate: Date """ Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. """ temporaryUrl: String @deprecated(reason: "The 'temporaryUrl' field is deprecated. This field is deprecated. Use the 'attachments' field instead. - Marked as deprecated on 2024-09-16. - Scheduled for removal on or after 2025-09-01.") """The date the bill was sent to the customer.""" issuedDate: Date attachments(before: String, after: String, first: Int, last: Int): BillingAttachmentConnectionTypeConnection """How many charges have been reversed after the close date.""" reversalsAfterClose: StatementReversalsAfterClose! } """Transactions are a record of money being added or subtracted from a ledger""" interface BillTransactionType { """The unique identifier for the transaction.""" id: ID """The date the transaction was posted.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """A user readable string that indicates what this transaction relates to.""" title: String """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } """The button interface.""" interface ButtonInterface { """The button style.""" buttonStyle: ButtonStyle """Title text of the button.""" title: String! """The action to perform when the button is pressed.""" buttonAction: ActionType! } interface CallInterface { """The ID of the call.""" id: ID! """If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.""" account: AccountType """Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).""" metadata: [CallMetadataItemType]! """Tags that have been applied to the call, for example during call wrap-up.""" tags: [CallTagType]! } interface CharacteristicValueInterface { """A string representation of a characteristic value, for convenience.""" value: String """The product characteristic.""" characteristic: CharacteristicType } interface CommonSupplyPointInterface { """The ID of the supply point.""" id: ID! """The market this supply point belongs to.""" marketName: String! """The external identifier of the supply point.""" externalIdentifier: String } interface ConstituentInterface { """The ID of the constituent bill.""" id: ID """The date of the constituent bill covered from.""" fromDate: Date """The date of the constituent bill covered to.""" toDate: Date } """Represents a Contract Journey.""" interface ContractJourneyInterface { """The number of the contract journey.""" number: NonEmptyString! """The status of the contract journey.""" status: ContractJourneyStatus """The details of the associated contract.""" contractDetails: ContractDetails """The type of the contract journey.""" journeyType: ContractJourneyType """The date and time when the contract journey was requested.""" requestedAt: DateTime """The order reference associated with the contract journey.""" orderReference: String """Notes associated with this contract journey.""" notes: [ContractNoteType] } interface CostedConsumptionInterface { """Summarized costed consumption data.""" summarizedConsumption: [SummarizedConsumptionType] } interface EmbeddedElectricityServiceOrderInterface { """The embedded electricity service order number.""" orderNumber: String """The service order status.""" status: String """The embedded electricity meter point.""" meterPoint: MeterPointType """The service order pk.""" serviceOrder: Int """The service order response code.""" responseCode: String """The service order schedule date.""" scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection } interface EmbeddedWaterServiceOrderInterface { """The embedded water service order number.""" orderNumber: String """The service order status.""" status: String """The embedded water meter point.""" meterPoint: MeterPointType """The service order pk.""" serviceOrder: Int """The service order response code.""" responseCode: String """The service order scheduled date.""" scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection } interface EstimatedUsageAndCostInterface { """Failure reasons.""" failureReasons: String """Daily usage and cost estimation.""" dailyEstimation: BaseUsageAndCostType! """Weekly usage and cost estimation.""" weeklyEstimation: BaseUsageAndCostType! """Fortnightly usage and cost estimation.""" fortnightlyEstimation: BaseUsageAndCostType! """Monthly usage and cost estimation.""" monthlyEstimation: BaseUsageAndCostType! """Yearly usage and cost estimation.""" yearlyEstimation: BaseUsageAndCostType! } interface FileAttachment { """Is the file uploaded to S3?""" isUploaded: Boolean """Is the file ready for use / downloadable?""" isReady: Boolean fetchUrl: String sizeInBytes: Int } """Interface for common fields for AUS electricity and gas meterpoints other than the fields already present in MeterPointInterface.""" interface GasAndElectricityMeterPointInterface { """Details about an enrolment of this meter point. Will be null if no enrolment is taking place.""" enrolment: EnrolmentType supplyStatus: KrakenStatus supplyStartDate: DateTime supplyEndDate: DateTime """Whether the meter point is on supply.""" isOnSupply: Boolean } """Sharable interface which all error types inherit from.""" interface GenericErrorInterface { message: String! } interface HasReadings { """Get readings from a readable device e.g., a supply point, device, or register.""" readings( startAt: DateTime! endAt: DateTime! readingType: ReadingTypes! timeGranularity: TimeGranularities timezone: String = "Etc/GMT-10" units: [Units] ): Readings } """The identity of an object.""" interface IdentifiableInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String } interface InkConversationEventInterface { """The time the conversation event occurred.""" occurredAt: DateTime! } """Interface for an AUS interval meter reading.""" interface IntervalMeterReading { """List of register readings.""" registers: [RegisterReading] """The start datetime of the interval reading.""" startAt: DateTime """The end datetime of the interval reading.""" endAt: DateTime } interface LedgerInterface { id: ID @deprecated(reason: "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.") """The display name of the ledger.""" name: String """The canonical name of the ledger.""" number: String ledgerType: String """The current balance on the ledger in minor units of currency.""" balance: Int """The amount owed from the customer perspective. A positive value implies the customer owes the business, while a negative amount implies the customer is in credit.""" amountOwedByCustomer: Int """Whether this ledger's balance contributes to the account's balance.""" affectsAccountBalance: Boolean """A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.""" statements(before: String, after: String, first: Int, last: Int): StatementBillingDocumentConnectionTypeConnection """An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.""" invoices(before: String, after: String, first: Int, last: Int): InvoiceBillingDocumentConnectionTypeConnection """Transactions on the given ledger.""" transactions( transactionTypes: [TransactionTypeFilter] = [] fromDate: Date toDate: Date orderBy: TransactionsOrderBy = POSTED_DATE_DESC before: String after: String first: Int last: Int ): TransactionConnectionTypeConnection """Repayment requests for a given ledger.""" repaymentRequests(before: String, after: String, first: Int, last: Int): RepaymentRequestConnectionTypeConnection """Refund requests for a given ledger.""" refundRequests(before: String, after: String, first: Int, last: Int): RefundRequestConnectionTypeConnection """Whether payments can be posted onto this ledger.""" acceptsPayments: Boolean paymentAdequacy: PaymentAdequacyDetailsType """Permissions data for credit transfers involving the given ledger.""" creditTransferPermissionsData: CreditTransferPermissionsDataType """The customer's preferred payment methods.""" paymentPreferences(before: String, after: String, first: Int, last: Int): PaymentPreferenceConnectionTypeConnection """ The customer's preferred payment method at a point in time. The possible errors that can be raised are: - KT-CT-3976: The ledger has no configured payment preference. - KT-CT-3977: Ledger was not accepting payments at this time. - KT-CT-1113: Disabled GraphQL field requested. """ paymentPreferenceAtTime(atTime: DateTime!): PaymentPreferenceUnion """The debt ledger assigned to this ledger.""" debtLedger: LedgerInterface """The charged supply agreements of the ledger.""" agreements(before: String, after: String, first: Int, last: Int): AgreementConnection """The usable payment instructions for this ledger.""" usablePaymentInstructions(usableAt: DateTime, before: String, after: String, first: Int, last: Int): PaymentInstructionConnectionTypeConnection """ The active billing trigger configuration for the ledger. The possible errors that can be raised are: - KT-CT-9709: Billing trigger configuration only supports SupplementaryLedger type. - KT-CT-1113: Disabled GraphQL field requested. """ billingTriggerConfiguration: BillingTriggerConfiguration } interface MeasurementInterface { """The data source of the measurement.""" source: String! """This type will return more granular data about the measurement.""" metaData: MeasurementsMetadataOutput """The value of the measurement.""" value: Decimal! """The unit of the measurement.""" unit: String! """The datetime the measurement was taken.""" readAt: DateTime! } """The media interface.""" interface MediaInterface { """The resource URL of the media.""" mediaUrl: String! """The horizontal alignment of the media.""" horizontalAlignment: Alignment } interface Meter { id: ID! serialNumber: String! """The units of consumption for a smart meter.""" consumptionUnits: String """Whether this meter requires a final change of tenancy (COT) reading.""" requiresCotFinalReading: Boolean """The type of fuel this meter uses.""" fuelType: String """Energy consumption recorded by the meter.""" consumption( startAt: DateTime! grouping: ConsumptionGroupings! timezone: String! before: String after: String first: Int last: Int ): ConsumptionConnection } """Interface for common fields for AUS meterpoints.""" interface MeterPointInterface { status: String """A list of agreements belonging to an account that is linked to the logged in user.""" agreements(includeInactive: Boolean = true): [AusAgreementInterface] """The database identifier of the meter point.""" id: Int """The external identifier for the meter point (NMI for electricity, MIRN for gas).""" identifier: String """Returns all meters by default, but can be filtered by meter id.""" meters(id: Int): [Meter] """The fuel/service type for this meter point.""" supplyType: String """Supply details including agreed capacity and connection units.""" supplyDetails: SupplyDetailsType } """Interface for an AUS meter reading.""" interface MeterReading { """List of register readings.""" registers: [RegisterReading] } """An object with an ID""" interface Node { """The ID of the object""" id: ID! } """ Currently this is only used for Product DMO references, supported in Mass- Market and Embedded Electricity. If futher markets are added or this moves into core, then this model should be generalised. """ interface PriceReferenceInterface { """Plan Id.""" planId: String """The date the reference became effective.""" effectiveFrom: Date! """The last date on which the reference is effective.""" effectiveTo: Date """The calculated annual cost, in $.""" annualCost: Decimal! """The savings percentage, relative to the Usage Reference annual cost.""" savingPercentage: Int! """Whether this tariff is regulated under the AER Default Market Offer. Non-regulated tariffs include demand tariffs and SME controlled load tariffs.""" isRegulated: Boolean! """The tariff structure type for this product: flat, tou, sso, or non_regulated. Used to determine the appropriate AER comparison wording per product. Null when the NTC combination cannot be classified (e.g. demand tariffs or malformed NTC data).""" tariffType: String """Whether this tariff has a controlled load component. Null when the NTC combination cannot be classified.""" hasControlledLoad: Boolean } interface PropertyInterface { id: String """The address of the property, formatted into a single string.""" address: String """Property rich address.""" richAddress: PropertyRichAddressType """List of address lines.""" splitAddress: [String] """An optional label for the property.""" label: String """Time periods during which the property is associated with an account. Useful to display information about house-moves, as performing a move out of a property will set the end date for the occupancy period.""" occupancyPeriods: [OccupancyPeriodType] """Coordinates for the property, useful for displaying the property on a map.""" coordinates: CoordinatesType """The embedded network this property belongs to, if any.""" embeddedNetwork: EmbeddedNetworkType """The parent property in the specified hierarchy. Returns null if the property has no parent or is not in the hierarchy.""" parent(hierarchyName: String = "default"): PropertyInterface """Descendant properties in the specified hierarchy. Returns empty list if the property is not in the hierarchy.""" descendants(hierarchyName: String = "default", depth: Int = 1, before: String, after: String, first: Int, last: Int): PropertyConnection """Ancestor properties in the specified hierarchy, ordered from root to immediate parent. Returns empty list if the property is not in the hierarchy.""" ancestors(hierarchyName: String = "default", before: String, after: String, first: Int, last: Int): PropertyConnection """Measurements at a property""" measurements( startAt: DateTime = "0001-01-03T00:00:00+10:04:52" endAt: DateTime = "9999-12-29T23:59:59.999999+11:00" startOn: Date endOn: Date timezone: String = "Australia/Sydney" utilityFilters: [UtilityFiltersInput] = [] before: String after: String first: Int last: Int ): MeasurementConnection } interface QuoteTermInterface { """The type of the term.""" type: NonEmptyString """Unique identifier for the term.""" identifier: String """Whether this term uses variable rates.""" isVariable: Boolean } """ Can represent either the legacy Quote or market supply QuoteRequest models Assumes only a single quoted supply point """ interface QuoteType { id: ID code: String postcode: String includesElectricity: Boolean includesGas: Boolean includesExport: Boolean createdAt: DateTime products: [QuotedProduct] @deprecated(reason: "The 'products' field is deprecated. Use quotedProducts instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-10-02.") quotedProducts(filterHeroProducts: Boolean = false): [QuotedProduct] """Return the DMO Reference Data for the quoted NMI.""" referenceUsage: DmoReferenceType @deprecated(reason: "The 'dmoReference' field is deprecated. Replace with `QuotedProductType.priceReference` which works across markets. - Marked as deprecated on 2023-11-28. - Scheduled for removal on or after 2024-05-28.") """Quoted Supply Point.""" quotedSupplyPoints: [QuotedSupplyPointType] } """ An Interface that resolves type to either LegacyQuotedProduct (for the legacy QuotedProduct/Quote models) or MarketSupplyQuotedProductAsLegacyQuotedProduct (for current models, but in a backwards-compatible form). LegacyQuotedProduct is mapped to the legacy quotes.Quote model, which is only used by Nectr via its REST API. """ interface QuotedProduct { id: ID name: String code: String description: String monthlyAmount: String @deprecated(reason: "The 'monthlyAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") annualAmount: String @deprecated(reason: "The 'annualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") elecAnnualAmount: String @deprecated(reason: "The 'elecAnnualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") gasAnnualAmount: String @deprecated(reason: "The 'gasAnnualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") isRecommended: Boolean marketSupplyProduct(filteredRatesByQuoteNmi: String = null, relativeToMeterPointNmi: String = null): Product """Return the Usage Reference for the quoted product.""" usageReference: UsageReferenceInterface priceReference: PriceReferenceInterface """Cost and usage estimation.""" estimate: Estimate } interface RateInterface { currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float } interface ReferralInterface { """The date when the payment was made.""" paymentDate: Date """The type of reward scheme.""" schemeType: ReferralSchemeTypeChoices """The referral code.""" code: String """The name of the referred user.""" referredUserName: String """The status of the payment.""" paymentStatus: String """The date the referred user joined.""" referredUserJoinDate: DateTime """Payment amount given to the referred account in the smallest unit of the client's currency.""" referredUserPaymentAmount: Int """Payment amount given to the referring account in the clients fractional currency unit.""" referringUserPaymentAmount: Int """The payment amount in the smallest unit of the clients currency received by the referrer and the referee combined.""" combinedPaymentAmount: Int } interface RewardInterface { """The date when the payment was made.""" paymentDate: Date """The type of reward scheme.""" schemeType: ReferralSchemeTypeChoices """The referral code.""" code: String """Reward amount given to the account in the smallest unit of the clients currency.""" rewardAmount: Int """The status of the reward payment.""" paymentStatus: ReferralStatusChoices } interface RoleInterface { """The unique code of the role.""" code: String! """The unique displayable name of the role.""" name: String! """The description of the role.""" description: String! """The permissions associated with the role.""" permissionCodes: [String]! } interface ServiceOrderInterface { orderNumber: String status: ServiceOrderStatus meterPoint: MeterPointType serviceOrder: Int responseCode: String scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection } """Sizes for elements.""" interface SizedItemInterface { """The measurement of the element.""" width: ItemSizeType } interface SupplementaryLedgerInterface { id: ID @deprecated(reason: "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.") """The display name of the ledger.""" name: String """The canonical name of the ledger.""" number: String ledgerType: String """The current final balance of the ledger in pence.""" currentBalance: Int paymentAdequacy: PaymentAdequacyDetailsType } interface SupplyPointContextDataInterface { """Supply point external identifier.""" externalIdentifier: String """Supply point market name.""" marketName: String """Requested supply start date.""" requestedSupplyStartDate: Date """The selected product information for this supply point or None if no product is selected.""" selectedProduct: SelectedProductType } """Interface for Origin's supply points.""" interface SupplyPointInterface { """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The meter point associated with this supply point.""" meterPoint: MeterPointInterface } """Represents a term in a contract.""" interface TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean } interface TextInterface { """The text content.""" value: String! """The text style, i.e. header, body.""" textStyle: TextStyleV1 """The text alignment.""" textAlignment: Alignment } """Transactions are a record of money being added or subtracted from the overall account balance""" interface TransactionType { """Unique identifier for the transaction.""" id: ID """Date when the transaction was posted to the account.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """Unique identifier of the account the transaction belongs to.""" accountNumber: String """Gross amount including tax (when payable). Refer to the `amounts` field for a breakdown of this information.""" amount: Int """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.""" balanceCarriedForward: Int """Deprecated.""" isCredit: Boolean @deprecated(reason: "The 'isCredit' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountCharge: Boolean @deprecated(reason: "The 'isAccountCharge' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountPayment: Boolean @deprecated(reason: "The 'isAccountPayment' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.""" isHeld: Boolean """Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.""" isIssued: Boolean """Human-readable title describing the transaction.""" title: String """The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.""" billingDocumentIdentifier: ID """Returns None if a statement is not linked with the transaction.""" statementId: ID @deprecated(reason: "The 'statementId' field is deprecated. Use `billingDocumentIdentifier` instead. - Marked as deprecated on 2023-11-30. - Scheduled for removal on or after 2024-06-01.") isReversed: Boolean! """Returns True if the transaction is linked with a statement.""" hasStatement: Boolean """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } interface UnmeteredSupplyPointInterface { multiplier: Decimal! } interface UsageReferenceInterface { """The date the reference became effective.""" effectiveFrom: Date! """The last date on which the reference is effective.""" effectiveTo: Date """Total amount of usage used for the reference.""" totalUsage: Int! } type AEMOAPIUnavailableErrorType implements GenericErrorInterface { message: String! } type APIBrownout { """For GraphQL APIs this will be a field identifier in the format .≤fieldName>, for REST APIs this will be an endpoint.""" disablesRequestsTo: NonEmptyString """The current status of this brownout.""" status: APIBrownoutStatus """The API type effected by this brownout.""" apiType: APIType """The iso formatted datetime at which this brownout will take effect.""" startsAt: NonEmptyString """The iso formatted datetime at which this brownout will end.""" endsAt: NonEmptyString } """Paginator of API brownouts.""" type APIBrownoutConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [APIBrownoutEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `APIBrownout` and its cursor.""" type APIBrownoutEdge { """The item at the end of the edge""" node: APIBrownout """A cursor for use in pagination""" cursor: String! } type APICallType { id: ID! """The request's correlation id.""" correlationId: String! """Free field for the API caller to categorise their own operation name. This field can be used to filter entries on the UI.""" operationName: String! """Input data for the API call if any.""" inputData: JSONString """The response from the API call if any.""" response: JSONString """Storage for the API client to submit any contextual information.""" context: JSONString createdAt: DateTime! } """Paginator of API exceptions.""" type APIExceptionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [APIExceptionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `APIExceptionConnectionType` and its cursor.""" type APIExceptionConnectionTypeEdge { """The item at the end of the edge""" node: APIExceptionType """A cursor for use in pagination""" cursor: String! } type APIExceptionEventType { id: ID! """The type of the event.""" eventType: String! """The category of the event.""" category: String! """A description of the event.""" description: String """A JSON context to be provided with the event, if any.""" context: JSONString createdAt: DateTime! } type APIExceptionNoteType { """The ID of the API Exception note.""" id: ID! """The content of the API Exception note.""" body: String! """Timestamp of when the API Exception note was created.""" createdAt: DateTime! } type APIExceptionType { id: ID! """External identifier submitted by the API client to track this exception on their end.""" externalIdentifier: String! createdAt: DateTime! """Free field for the API caller to categorise a channel. This could be (but not limited to) the client's team that calleded the API, the name of the 'flow' the call belongs to, etc.""" channel: String! """Category associated with this exception.""" category: APIExceptionCategories """The account number provided to the exception.""" accountNumber: String """The user id provided to the exception.""" userId: BigInt """The customer contact provided to the exception.""" customerContact: String """The supply point identifier provided to the exception.""" supplyPointIdentifier: String """The current resolution status for the API exception.""" resolutionStatus: APIExceptionResolutionStatus! """The current resolution type for the API exception.""" resolutionType: APIExceptionResolutionType! """The current priority for the API exception.""" priority: APIExceptionPriority! """The API calls associated with this exception if any.""" apiCalls: [APICallType] """The events associated with this exception if any.""" events: [APIExceptionEventType] """Tags associated with this exception if any.""" tags: [APIExceptionTags] """Notes associated with this exception if any.""" notes: [APIExceptionNoteType] """The operations team assigned to this exception if any.""" operationsTeam: OperationsTeamType """Storage for the API client to submit any contextual information.""" context: JSONString """The key date associated with the exception, if available.""" keyDate: Date """The user assigned to handle this exception if any.""" assignedUser: AssignedUserType } """ You probably want email authentication instead of this. Provide user's API Key to receive a token. The token should be used as the `Authorization` header for any authenticated requests. This form of authentication is used when the interface in question already has the API Key and it would be inappropriate to show the user a login screen. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type APIKeyAuthentication { """The DRF token to be used for authentication.""" token: String errors: [ErrorType] } """ Accept a goods quote. The possible errors that can be raised are: - KT-CT-8223: Unauthorized. - KT-CT-8201: Received an invalid quoteId. - KT-CT-8224: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AcceptGoodsQuote { """Goods purchase created.""" goodsPurchase: GoodsPurchase } """ Accept a quoting offer in an offer group. The possible errors that can be raised are: - KT-CT-12402: Unable to accept offer. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AcceptOfferForQuoting { """Accepted quoting offer.""" offer: OfferType } """ Accept (and activate) a payment plan which has been offered to a Customer. The possible errors that can be raised are: - KT-AU-3933: The payment plan was not found. - KT-AU-3934: The ledger has an existing payment plan. - KT-AU-3935: The payment plan offer has expired. - KT-AU-3936: The payment plan could not be accepted. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AcceptPaymentPlan { """The payment plan that has been accepted.""" paymentPlan: PaymentPlanType } type AccountApplicationConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountApplicationConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountApplicationConnectionType` and its cursor.""" type AccountApplicationConnectionTypeEdge { """The item at the end of the edge""" node: AccountApplicationType """A cursor for use in pagination""" cursor: String! } type AccountApplicationType { status: AccountApplicationStatus! salesChannel: String! """The sales subchannel used when signing up. This could for example be a price comparison site.""" salesSubchannel: String """Date at which this account decided to switch to us.""" dateOfSale: Date """Last day of the cooling off period. Barring changes or objections, the account will be gained on the next business day after this date. This value will only be returned for current applications.""" coolingOffEndDate: Date """Whether this account application represents a migration into the current system or a regular gain.""" isMigrated: Boolean """The source system for a migrated account. This could be the previous supplier or the previous account management system.""" migrationSource: String """Preferred supply start date. If null, it means ASAP.""" preferredSsd: Date } type AccountBalanceTransferType { """Balance transfer ID.""" id: ID """The reason for the balance transfer.""" reason: String """Debit details.""" accountCharge: AccountChargeType """Credit details.""" accountCredit: AccountCreditType } """Paginator of Account Campaigns""" type AccountCampaignConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountCampaignConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountCampaignConnectionType` and its cursor.""" type AccountCampaignConnectionTypeEdge { """The item at the end of the edge""" node: AccountCampaignType """A cursor for use in pagination""" cursor: String! } type AccountCampaignType { """The date on which the associated campaign itself concludes.""" campaignExpiryDate: Date """The name of the campaign.""" name: String """The slug of the campaign.""" slug: String """The date on which the account's participation in the campaign ends.""" expiryDate: Date """The date that the account's link to the campaign started.""" startDate: Date } type AccountCannotSelectProductErrorType implements GenericErrorInterface { message: String! } type AccountChargeMetadataType { """A JSON object containing unstructured data about the account charge.""" data: JSONString """The date and time the metadata was last updated.""" updatedAt: DateTime } type AccountChargeType { """The ID of the account charge.""" id: ID """The net amount of the charge.""" netAmount: BigInt """The gross amount of the charge.""" grossAmount: BigInt """The sales tax amount of the charge.""" salesTaxAmount: BigInt """The climate change levy amount of the charge.""" cclAmount: BigInt """The reason for the charge.""" reason: String """The note for the charge.""" note: String """The display note for the charge.""" displayNote: String """JSON metadata containing unstructured data about the account charge.""" metadata: AccountChargeMetadataType } type AccountConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountConnectionType` and its cursor.""" type AccountConnectionTypeEdge { """The item at the end of the edge""" node: AccountType """A cursor for use in pagination""" cursor: String! } type AccountCreditMetadataType { data: JSONString! updatedAt: DateTime! } type AccountCreditType { id: ID! grossAmount: BigInt! netAmount: BigInt! salesTaxAmount: BigInt! note: String! reason: String! metadata: AccountCreditMetadataType } type AccountDebtPositionType { """The account number.""" accountNumber: String! """The delinquent debt position for each eligible ledger on the account.""" ledgerDebtPositions: [LedgerDebtPositionType]! } type AccountDoesNotHaveEmailErrorType implements GenericErrorInterface { message: String! } type AccountEstimatedUsageAndCostType { """Electricity usage (kWh) and cost estimation.""" electricityEstimation: ElecEstimatedUsageAndCostType """Gas usage (MJ) and cost estimation.""" gasEstimation: GasEstimatedUsageAndCostType } type AccountEventConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountEventConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountEventConnectionType` and its cursor.""" type AccountEventConnectionTypeEdge { """The item at the end of the edge""" node: AccountEvent """A cursor for use in pagination""" cursor: String! } type AccountFileAttachment implements Node & FileAttachment { """The ID of the object""" id: ID! filename: String! category: String! """Is the file uploaded to S3?""" isUploaded: Boolean """Is the file ready for use / downloadable?""" isReady: Boolean fetchUrl: String sizeInBytes: Int } type AccountFileAttachmentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountFileAttachmentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountFileAttachmentConnectionType` and its cursor.""" type AccountFileAttachmentConnectionTypeEdge { """The item at the end of the edge""" node: AccountFileAttachment """A cursor for use in pagination""" cursor: String! } type AccountIsNotAssociatedWithPropertyErrorType implements GenericErrorInterface { message: String! } type AccountLoyaltyPointsType { """The number of loyalty points the account (or user with the given id) has.""" loyaltyPoints: Int """The net monetary value of the loyalty points in the currency's sub-units.""" totalMonetaryAmount: Int } type AccountNotFound implements GenericErrorInterface { message: String! } type AccountNoteType { id: ID! body: String! isPinned: Boolean! createdAt: DateTime! unpinAt: DateTime } type AccountPaymentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountPaymentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountPaymentConnectionType` and its cursor.""" type AccountPaymentConnectionTypeEdge { """The item at the end of the edge""" node: AccountPaymentType """A cursor for use in pagination""" cursor: String! } type AccountPaymentType { """The ID of the payment.""" id: ID @deprecated(reason: "The 'id' field is deprecated. Please use uuid instead. - Marked as deprecated on 2026-05-28. - Scheduled for removal on or after 2027-05-28.") """Amount of payment in the currency's minor unit""" amount: BigInt! """The date this payment is scheduled to be debited""" paymentDate: Date! reference: String! """The transaction type of the payment.""" transactionType: AccountPaymentTransactionTypeChoices """The current status of the payment.""" status: AccountPaymentStatusOptions uuid: UUID! source: String! """The payment instruction that was used to make this payment.""" paymentInstruction: PaymentInstructionType """Surcharge amount generated by this payment.""" surchargeAmount: Int schedulabilityStatus(numDays: Int!): SchedulabilityStatusType @deprecated(reason: "The 'schedulabilityStatus' field is deprecated. This has been deprecated in favour of the `ReschedulePaymentErrorUnion` resolved by the `ReschedulePayment` mutation. This mutations error types provide a much more granular and richer set of parsable errors then can be supplied here. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-11-08.") """Maximum number of days the payment can be extended by.""" maxRescheduleDays: Int! """The amount that can be refunded from this payment.""" refundableAmount: Int } type AccountReferenceType { """ The namespace for the reference will be one of the following strings: origin.australia-post-client-reference-numbers origin.bpay-client-reference-numbers origin.broadband-client-account-numbers origin.centerpay-client-reference-numbers origin.centrepay-legacy-client-reference-numbers origin.fer-client-reference-numbers origin.eapa-client-reference-numbers origin.ivr-client-reference-numbers origin.heea-client-reference-numbers origin.spike-client-account-numbers origin.urgs-client-reference-numbers origin.ev-charger-reference-numbers origin.battery-reference-numbers origin.solar-sales-order-numbers """ namespace: String! value: String! createdAt: DateTime! updatedAt: DateTime! account: AccountType! } type AccountReminder { """The reminder type.""" reminderType: AccountReminderTypes """Reminder content.""" content: String """When the reminder is due.""" dueAt: DateTime } type AccountReminderConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountReminderConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountReminderConnectionType` and its cursor.""" type AccountReminderConnectionTypeEdge { """The item at the end of the edge""" node: Reminder """A cursor for use in pagination""" cursor: String! } type AccountRepaymentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountRepaymentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountRepaymentConnectionType` and its cursor.""" type AccountRepaymentConnectionTypeEdge { """The item at the end of the edge""" node: AccountRepaymentType """A cursor for use in pagination""" cursor: String! } type AccountRepaymentType { id: ID! """Amount of payment in the currency's minor unit""" amount: BigInt! """The date this payment is scheduled to be debited""" paymentDate: Date! """The current status of the repayment.""" status: AccountRepaymentStatusOptions """The reason for the repayment.""" reason: RepaymentReason """The UUID of the payment being refunded.""" paymentUuid: UUID } """A single account search hit""" type AccountSearchItemType { """The account found.""" account: AccountType """How well the account matched the search terms.""" score: Decimal } type AccountType implements AccountInterface { """The brand of the account.""" brand: String """The current status of the account.""" status: AccountStatus """The current account balance.""" balance(includeAllLedgers: Boolean = false): Int! """The current account overdue balance.""" overdueBalance: Int """Unique reference number from a 3rd party enrolment.""" urn: String """The billing name of the account.""" billingName: String """The billing sub name of the account.""" billingSubName: String """The billing email of the account.""" billingEmail: String """The billing address of the account.""" billingAddress: String billingAddressLine1: String billingAddressLine2: String billingAddressLine3: String billingAddressLine4: String billingAddressLine5: String billingAddressPostcode: String billingCountryCode: String billingDeliveryPointIdentifier: String """List of billing address lines.""" splitBillingAddress: [String] """ The billing address of this account, stored in the new libaddressinput-based format. Note that `name` and `organization` are very unlikely to be supplied here; the `billing_name` field on the account itself is generally used for that purpose instead. """ address: RichAddressType """A code that uniquely identifies the account.""" number: String """The portfolio this account is linked to.""" portfolio: PortfolioType """Ledgers provide the foundation of bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular customer account.""" ledgers(ledgerNumber: String, includeDebtLedgers: Boolean = true): [LedgerType] """Metadata associated with the account.""" metadata: [Metadata] """Whether the account can request a credit refund.""" canRequestRefund: Boolean """Details about the eligibility status for requesting a refund.""" requestRefundEligibility(ledgerNumber: String): RequestRefundEligibilityType """The payments made into an account from a payment instruction.""" payments( ledgerNumber: String status: AccountPaymentStatusOptions reason: PaymentReasonOptions includePromises: Boolean = true before: String after: String first: Int last: Int ): AccountPaymentConnectionTypeConnection """The repayments that have been requested for this account.""" repayments(statuses: [AccountRepaymentStatusOptions], before: String, after: String, first: Int, last: Int): AccountRepaymentConnectionTypeConnection """The payment plans that have been created for this account.""" paymentPlans(before: String, after: String, first: Int, last: Int): PaymentPlanConnectionTypeConnection """The schedules that describe how we would expect to take payments for an account on a given month.""" paymentSchedules( activeOnDate: Date active: Boolean includeDormant: Boolean = true ledgerType: Int ledgerNumber: String reason: PaymentScheduleReasonOptions before: String after: String first: Int last: Int ): PaymentScheduleConnectionTypeConnection """A list displaying the payment forecast for an account. The list starts from today's date (inclusive).""" paymentForecast(dateTo: Date!, ledgerNumber: String): [PaymentForecastType] @deprecated(reason: "The 'paymentForecast' field is deprecated. Please use 'paginatedPaymentForecast' instead. - Marked as deprecated on 2024-01-03. - Scheduled for removal on or after 2025-01-01.") """Paginated payment forecasts for an account. Starts from today's date (inclusive). The interface supports `last` but does not guarantee 'lastness'.""" paginatedPaymentForecast(dateTo: Date, ledgerNumber: String, before: String, after: String, first: Int, last: Int): PaymentForecastConnectionTypeConnection """The referrals created by this account.""" referrals(status: ReferralStatus, before: String, after: String, first: Int, last: Int): ReferralConnectionTypeConnection """Number of referrals created by this account.""" referralsCreated: Int """The rewards applied to this account.""" rewards: [RewardType] """The referral schemes currently active for this account.""" activeReferralSchemes: ReferralSchemeTypes """Fetch transactions that have taken place on the account.""" transactions( transactionTypes: [TransactionTypeFilter] = [] transactionTypesExcluded: [TransactionTypeFilter] = [] ledgerNumber: String includeAllLedgers: Boolean fromDate: Date toDate: Date orderBy: TransactionsOrderBy = POSTED_DATE_DESC offset: Int before: String after: String first: Int last: Int ): TransactionConnectionTypeConnection provisionalTransactions(before: String, after: String, first: Int, last: Int): ProvisionalTransactionConnectionTypeConnection """Fetch annual statements for the account.""" annualStatements(before: String, after: String, first: Int, last: Int): AnnualStatementConnectionTypeConnection """Fetch issued bills (invoices/statements) for the account.""" bills( includeBillsWithoutPDF: Boolean = false includeOpenStatements: Boolean = false includeHeldStatements: Boolean = false includeHistoricStatements: Boolean = true includeInvoices: Boolean = true onlyCurrentEmail: Boolean = false ledgerNumber: String fromDate: Date toDate: Date issuedFromDate: Date issuedToDate: Date orderBy: BillsOrderBy = FROM_DATE_DESC offset: Int before: String after: String first: Int last: Int ): BillConnectionTypeConnection """Information about the account's billing cycle.""" billingOptions: BillingOptionsType """The active billing trigger configuration for the account.""" billingTriggerConfiguration: BillingTriggerConfiguration """Fetch a specific issued bill (invoice/statement) for the account.""" bill(id: ID, identifier: String, billType: BillTypeEnum, ledgerNumber: String): BillInterface """The direct debit instructions of the account""" directDebitInstructions(statuses: [DirectDebitInstructionStatus], before: String, after: String, first: Int, last: Int): DirectDebitInstructionConnectionTypeConnection """The payment instructions of the account.""" paymentMethods(statuses: [PaymentInstructionStatus], before: String, after: String, first: Int, last: Int): PaymentInstructionConnectionTypeConnection """The account events that were recorded for the account.""" events(eventTypes: [AccountEventType], before: String, after: String, first: Int, last: Int): AccountEventConnectionTypeConnection """Applications by this account to become our customer. More recent applications will be listed first.""" applications(status: AccountApplicationStatus, before: String, after: String, first: Int, last: Int): AccountApplicationConnectionTypeConnection """The type of account.""" accountType: AccountTypeChoices """The company type of a business account.""" businessType: BusinessTypeOptions @deprecated(reason: "The 'businessType' field is deprecated. Use `business.businessType` instead - Marked as deprecated on 2022-03-09. - Scheduled for removal on or after 2024-01-01.") """Business info related to a business account.""" business: BusinessType """The method the account has specified they prefer we contact them.""" commsDeliveryPreference: CommsDeliveryPreference communicationDeliveryPreference: String @deprecated(reason: "The 'communicationDeliveryPreference' field is deprecated. Use `commsDeliveryPreference` instead - Marked as deprecated on 2022-05-27. - Scheduled for removal on or after 2024-01-01.") """The document accessibility preference of the account.""" documentAccessibility: DocumentAccessibilityChoices """Account references linked to this account.""" references: [AccountReferenceType] """Files attached to this account.""" fileAttachments: [AccountFileAttachment] """Files attached to this account.""" paginatedFileAttachments(id: Int, category: String, before: String, after: String, first: Int, last: Int): AccountFileAttachmentConnectionTypeConnection """The maximum amount a customer is allowed to request as a refund and the reason why that's the maximum amount.""" maximumRefund(ledgerNumber: String): MaximumRefundType """The campaigns associated with an account.""" campaigns: [AccountCampaignType] """True if there is an active Hardship Agreement for this account. False otherwise.""" isInHardship: Boolean """List of active hardship agreements for the user when is_in_hardship is True.""" activeHardshipAgreements: [HardshipAgreementType] """Notes for the account.""" notes: [AccountNoteType] """Contribution agreements for account.""" contributionAgreements: [ContributionAgreementType] """Assistance agreements for account.""" assistanceAgreements: [AssistanceAgreementType] """Debt collection proceedings for account.""" debtCollectionProceedings: [DebtCollectionProceedingType] """The datetime that the account was originally created.""" createdAt: DateTime """The language that the account preferred for communications.""" preferredLanguageForComms: String """Consents linked to this account.""" consents: [ConsentType!]! """The reminders associated with an account.""" reminders(before: String, after: String, first: Int, last: Int): AccountReminderConnectionTypeConnection """Get customer assets for an account.""" customerAssets: [CustomerAssetType] """The complaints associated with an account.""" complaints(before: String, after: String, first: Int, last: Int): ComplaintConnectionTypeConnection id: ID! """Retrieve all agreements under this account. Note that when `active` is set to false it actually means 'return both active and inactive agreements'.""" agreements(active: Boolean = false, id: ID): [AusAgreementInterface] properties(activeFrom: DateTime): [PropertyType] previousProperties: [PropertyType] """ Fetch a list of due charges for an account. Due charges are defined for each issued statement as: ``` Charges due = 0 - Closing balance of the statement - Sum of payments and credits received after the statement's `to_date` - Due charges on previous statements ``` (Remember that if the customer owes us money, then their balance will be negative, so subtracting it will result in a positive amount.) Usually, many of a customer's issued statements will have 0 due charges remaining. We omit most of these `0` results from the output. You may use `asOfDate` to request a historical view of due charges. If you set it, then statements issued after the `asOfDate` will be omitted, and payments and credits posted after that date will be ignored by the calculation. """ dueCharges(asOfDate: Date): [DueChargesType] """Information related to the viability of a payment extension.""" paymentExtensionInfo: PaymentExtensionInfoType """Account related life support details.""" lifeSupport: LifeSupportType """Account related service orders.""" serviceOrders: [ServiceOrderUnion] changeRequests: [ChangeRequestType] """Estimated energy usage and cost based on Energy Made Easy.""" estimatedUsageAndCost: AccountEstimatedUsageAndCostType """A list of user ids linked to this account through either portfolio roles or account roles.""" linkedUserIds: [ID] """True if the account has written off ledgers. False otherwise.""" hasWriteOffLedgers: Boolean """The current account total balance owing.""" totalBalanceOwing: Int """ **⚠️ This query is currently in preview. During this time, it may change without warning in backwards-incompatible ways.** Payment plan eligibility status of related account """ paymentPlanEligibilityStatus: PaymentPlanEligibilityStatuses } type AccountUserCanNotFoundErrorType implements GenericErrorInterface { message: String! } """Information about the preferences set up for a user.""" type AccountUserCommsPreferences { """Whether a user has opted in to receive messages from the client or client group. For example, for Octopus Energy this describes whether a user is opted in to offers from Octopus Investments.""" isOptedInToClientMessages: Boolean """Whether a user has opted in to receive messages offering discounts or other services not directly related to the services the client provides.""" isOptedInToOfferMessages: Boolean """Whether a user has opted in to receive messages we recommend they read, but are not vital to the utilities the client provides. For example, these could be reminders that the client will take a payment.""" isOptedInToRecommendedMessages: Boolean """Whether a user has opted in to receive messages updating them on client activities.""" isOptedInToUpdateMessages: Boolean """Whether a user has opted in to receive messages from the client's preferred third parties.""" isOptedInToThirdPartyMessages: Boolean """What format the user would like to receive their emails in.""" emailFormat: EmailFormats """Whether a user has opted to have inverted colours in their emails. This is currently only relevant to the Octopus Energy brand, whose emails have a dark background by default.""" isUsingInvertedEmailColours: Boolean """This setting allows the user to adjust the default font size of the communications sent to them.""" fontSizeMultiplier: Float """Whether the user has opted in to receive meter reading confirmation emails.""" isOptedInMeterReadingConfirmations: Boolean """Whether the user has opted in to receive SMS messages.""" isOptedInToSmsMessages: Boolean """Song which will be used as hold music for the user.""" preferredHoldMusic: Songs """The date the SMS opt-in was last changed.""" smsOptInLastChangeDate: DateTime """Whether the user is opted in to life support call.""" isOptedInToLifeSupportCall: Boolean } type AccountUserConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AccountUserConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AccountUserConnectionType` and its cursor.""" type AccountUserConnectionTypeEdge { """The item at the end of the edge""" node: AccountUserType """A cursor for use in pagination""" cursor: String! } """Information about the consents for an account user.""" type AccountUserConsents { """Consents linked to this user.""" consents: [ConsentType!]! } type AccountUserDetailType { """The namespace for the property.""" namespace: String """The property value.""" value: String """Whether the value is sensitive and encrypted.""" isSensitive: Boolean } type AccountUserIsNotEligibleErrorType implements GenericErrorInterface { message: String! } """Holds information about a specific permission.""" type AccountUserPermission { """The short name of the permission.""" permission: String } """The role a user has in association with one account.""" type AccountUserRoleType { id: ID! account: AccountType! user: AccountUserType! """The account role.""" role: RoleString } """User objects are the core of the authentication system. They typically represent a customer who manages a portfolio of one or more accounts.""" type AccountUserType { id: ID! """A code that uniquely identifies the account user.""" number: String givenName: String! familyName: String! email: String! mobile: String! landline: String! title: String """The user's pronouns e.g. 'she/her', 'he/him', 'they/them'.""" pronouns: String """Designates whether this user is deceased.""" isDeceased: Boolean! """The user's secret key to access the Developer API.""" liveSecretKey: String createdAt: DateTime! """Holds information about the permissions of the current viewer.""" permissions: [AccountUserPermission] """List of accounts that the user is linked to either via portfolio role or account role.""" accounts( allowedBrandCodes: [BrandChoices] restrictToPublicFacingBrands: Boolean restrictToAccountNumbers: [String] excludeAccountTypes: [AccountTypeChoices] excludeAccountsWithoutAgreements: Boolean ): [AccountInterface] """We recommend you use fullName instead of this field.""" displayName: String @deprecated(reason: "The 'displayName' field is deprecated. Please use fullName instead of this field. - Marked as deprecated on 2019-12-11. - Scheduled for removal on or after 2024-01-01.") """We recommend you use preferredName or fullName instead of this field.""" firstName: String @deprecated(reason: "The 'firstName' field is deprecated. Use 'givenName' instead. - Marked as deprecated on 2020-09-23. - Scheduled for removal on or after 2023-06-05.") """We recommend you use preferredName or fullName instead of this field.""" lastName: String @deprecated(reason: "The 'lastName' field is deprecated. Use 'familyName' instead. - Marked as deprecated on 2020-09-23. - Scheduled for removal on or after 2023-06-05.") """The user's full name.""" fullName: String """The user's preferred name.""" preferredName: String """Whether this user is active.""" isActive: Boolean """This user's address.""" address: RichAddressType """We recommend you use portfolioIds instead of this field.""" portfolioId: ID @deprecated(reason: "The 'portfolioId' field is deprecated. Please use 'portfolioIds' instead. - Marked as deprecated on 2022-08-04. - Scheduled for removal on or after 2024-01-01.") """List of portfolio ids that the user is linked to via their portfolio roles.""" portfolioIds(allowedBrandCodes: [BrandChoices], restrictToPublicFacingBrands: Boolean): [ID] """List of portfolios that the user is linked to via their portfolio roles.""" portfolios( allowedBrandCodes: [BrandChoices] restrictToPublicFacingBrands: Boolean before: String after: String first: Int last: Int ): PortfolioConnectionTypeConnection """List of businesses that the user has access to through their granted roles.""" businesses(before: String, after: String, first: Int, last: Int): BusinessConnectionTypeConnection specialCircumstances: SpecialCircumstancesType preferences: AccountUserCommsPreferences """AccountUser's date of birth.""" dateOfBirth: Date """A free text field to help identifying the customer (e.g. for a job title).""" label: String """The user's landline phone number.""" landlinePhoneNumber: String @deprecated(reason: "The 'landlinePhoneNumber' field is deprecated. Use 'landline' instead. - Marked as deprecated on 2021-03-22. - Scheduled for removal on or after 2024-01-01.") """List of alternative phone numbers for the account user.""" alternativePhoneNumbers: [String] """Whether there are family issues.""" hasFamilyIssues: Boolean """True if user is linked to an account with an active hardship agreement.""" isInHardship: Boolean """List of roles a user has for each account they're linked to.""" accountUserRoles(accountNumber: String): [AccountUserRoleType] """List of roles a user has for each portfolio they're linked to.""" portfolioUserRoles(portfolioNumber: String, accountNumber: String): [PortfolioUserRoleType] """The value set in the configured external ID details namespace.""" externalId: String """List of details linked to this user.""" details: [AccountUserDetailType] """Consents linked to this user.""" consents: [ConsentType!]! """List payment instructions linked to this user.""" paymentMethods(validAt: DateTime, statuses: [PaymentInstructionStatus], before: String, after: String, first: Int, last: Int): PaymentInstructionConnectionTypeConnection """Fetch issued bills (invoices/statements) for the account.""" bills( includeBillsWithoutPDF: Boolean = false includeOpenStatements: Boolean = false includeHeldStatements: Boolean = false includeHistoricStatements: Boolean = true onlyCurrentEmail: Boolean = false accountNumbers: [String] fromDate: Date toDate: Date issuedFromDate: Date issuedToDate: Date orderBy: BillsOrderBy = FROM_DATE_DESC offset: Int before: String after: String first: Int last: Int ): BillConnectionTypeConnection """A list of concessions for the user.""" concessions: [ConcessionType] """A list of possible concession card types for the user's jurisdiction.""" applicableConcessionCardTypes: [ConcessionCardApplicableRegionType] """ Retrieve Masquerade token used for temporary user login to client sites. The token expires in 10 seconds. This field requires the `Authorization` header to be set. """ masqueradeToken: String """A list containing a user's historical and present primary places of residence ordered by "fromDate" (descending).""" primaryPlacesOfResidence: [PrimaryResidenceType] """The datetime that the AccountUser was last updated.""" lastUpdatedAt: DateTime! """The state that the user primarily resides in.""" state: StateChoices """Fetch all transactions across all of the users accounts.""" transactions( excludeImportedTransactions: Boolean = false excludeUnissuedTransactions: Boolean = false fromDate: Date toDate: Date accountNumbers: [String] orderBy: TransactionsOrderBy = POSTED_DATE_DESC offset: Int before: String after: String first: Int last: Int ): TransactionConnectionTypeConnection } type AcquisitionProblemType { """The code of the problem.""" code: String! """A human readable description of the problem.""" description: String! } type ActorType { """Username of the Actor.""" username: String } type ActualizeContractOutput { """The contract actualized.""" contract: Contract } """ Add a business to a segment. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-11111: Segment does not exist. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AddBusinessToSegmentMutation { """The business segment period that was created.""" businessSegmentPeriod: BusinessSegmentPeriodType } """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-7427: No campaign found with given slug. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AddCampaignToAccount { """Whether the campaign was successfully added.""" campaignAdded: Boolean """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Add a child property to a parent property in a hierarchy. If the child is already in the hierarchy with a different parent, it will be reparented. If the child is already a child of the specified parent, this operation is idempotent and does nothing. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6634: Unable to add child to property. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AddChildToProperty { """The child property that was added to the parent.""" child: PropertyType } """ Add a custom event for an account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type AddCustomEventMutation { """ Resulting Kraken event This field requires the `Authorization` header to be set. """ event: CustomEventType } """ Add new items to the risk list. The possible errors that can be raised are: - KT-CT-12105: Risk list item addition failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddItemsToRiskList { """List of successfully added risk identifiers.""" riskIdentifiers: [RiskListItemType] } """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddNoteToInkConversation { """The ink conversation note.""" note: InkNote } type AddOnInvalidErrorType implements GenericErrorInterface { message: String! } """ Add a parent property to a child property in a hierarchy. If the child is already in the hierarchy with a different parent, it will be reparented. If the child is already a child of the specified parent, this operation is idempotent and does nothing. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6635: Unable to add parent to property. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AddParentToProperty { """The parent property that was added to the child.""" parent: PropertyType } """ Add an existing partner user to a partner team. The possible errors that can be raised are: - KT-CT-7725: Unauthorized. - KT-CT-7726: Unauthorized. - KT-CT-7729: The partner user and team must belong to the same organisation. - KT-CT-7730: The partner user is already a member of this team. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddPartnerUserToTeam { """The partner user that was added to the team.""" partnerUser: PartnerUserType } """ Add a reference to an existing portfolio. The possible errors that can be raised are: - KT-CT-9403: Received an invalid portfolioId. - KT-CT-9410: Conflicting portfolio reference. - KT-CT-9408: Invalid portfolio number format. - KT-CT-9409: Invalid portfolio reference. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddPortfolioReference { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Add a property to an account. The possible errors that can be raised are: - KT-CT-6623: Unauthorized. - KT-CT-6629: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddProperty { """The property that was added to the account.""" property: PropertyType } """ Add a property to a hierarchy as a root node. If the property is already a root node in the hierarchy, this operation is idempotent. If the property is already in the hierarchy as a child, an error will be raised. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-6633: Property is already in the hierarchy as a child. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddPropertyToHierarchy { """The property that was added to the hierarchy.""" property: PropertyType } """ Create a referral scheme reward for an organization. This allows businesses to issue rewards based on a referral scheme. The possible errors that can be raised are: - KT-CT-6723: Unauthorized. - KT-CT-6729: This scheme cannot be applied to given account. - KT-CT-6710: Unable to create referral. - KT-CT-6728: This referral scheme's usage is at capacity. - KT-CT-6712: Invalid reference. - KT-CT-6713: Referring and referred account brands do not match. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddSignupReferralOnAccount { """The created account referral instance.""" accountReferral: ReferralType } """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-7651: Only one storyline entry can be marked as the root cause. - KT-CT-7657: The provided analyzer result data is invalid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddStorylineToInkConversation { """The storyline that was added to the conversation.""" storyline: InkStoryline } """ Add an user to a portfolio with a specified role. The possible errors that can be raised are: - KT-CT-5461: Invalid role code. - KT-CT-5462: Invalid user number format. - KT-CT-5463: Unauthorized. - KT-CT-9407: Unauthorized. - KT-CT-9408: Invalid portfolio number format. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AddUserToPortfolio { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } type AddonFamilyType { """Add on family name associated with rates.""" family: String """Rates associated with addon.""" addonRates: [AddonRateType] } type AddonRateType { """Add on details for rate.""" addon: AddonType """Product rate for addon.""" productRate: RateInterface } type AddonType { """Product band associated with the addon.""" band: String """Simple name of addon.""" title: String """Shared family name of addon.""" family: String """Full description of addon.""" description: String """The percentage of green power, if any, as a decimal number between 0 and 1.""" percentGreen: Decimal } """Configuration for a single field in an address form.""" type AddressFieldConfigType { """Machine identifier for the field, e.g. 'locality' or 'postal_code'.""" name: String! """Country-specific human-readable label, e.g. 'Suburb' or 'Postcode'.""" label: String! """Input widget type to render for this field.""" fieldType: AddressFieldTypeEnum! """Client-side validation constraints for this field.""" validation: AddressFieldValidationRuleType! """Available options for SELECT fields with a fixed option list. Empty for autocompletable SELECT fields (see `hasAutocomplete`); fetch those via the autocompleteAddressFieldOptions query instead. Null for all other field types.""" options: [AddressFieldOptionType!] """Whether this field's SELECT options are fetched via the autocompleteAddressFieldOptions query rather than inlined in `options`. When true, `options` is empty and the client should call that query with this field's `name`.""" hasAutocomplete: Boolean! """Whether the user can interact with this field. False for hidden fields.""" userEditable: Boolean! """Pre-filled seed value shown before any user interaction. Null if not set.""" default: String """Submitted or pre-loaded form value. Null if not set.""" value: String """Validation error messages for this field. Empty when the field is valid or no validation has been run.""" errors: [String!]! } """Describes the structure of an address form for a given country, including all field groups, field configurations, and validation rules.""" type AddressFieldDescriptorType { """Ordered list of field groups making up the address form.""" fieldGroups: [AddressFieldGroupType!]! } """A named group of address fields forming a logical section of the form.""" type AddressFieldGroupType { """Machine identifier for the group, e.g. 'address_fields' or 'country_selection'.""" name: String! """Optional UI section heading. Null for unlabelled groups.""" label: String """Ordered list of fields in this group.""" fields: [AddressFieldConfigType!]! } """A single selectable option for a SELECT address field.""" type AddressFieldOptionType { """The raw value submitted with the form, e.g. 'NSW'.""" value: String! """Human-readable text shown in the dropdown, e.g. 'New South Wales'.""" label: String! } """Client-side validation constraints for an address field. These rules can be enforced without a server round-trip.""" type AddressFieldValidationRuleType { """Whether the field must be filled before submitting.""" required: Boolean! """Maximum number of characters allowed. Null if no limit.""" maxLength: Int """Regular expression the submitted value must match. Null if unrestricted.""" regex: String } type AddressOutput { """Line 1 of address.""" line1: String """Postcode of billing address.""" postcode: String """Country code of billing address.""" countryCode: String """Line 2 of address.""" line2: String """Line 3 of address.""" line3: String """Line 4 of address.""" line4: String """Line 5 of address.""" line5: String } """Metadata returned when generating a pre-signed post URL for an affiliate.""" type AffiliateAudioRecordingPresignedPostType { """The S3 bucket key.""" key: String! """The S3 bucket.""" bucket: String! """The fields to be included in the pre-signed post.""" fields: JSONString! """The pre-signed S3 URL.""" preSignedUrl: String! } """Affiliate link for the organization.""" type AffiliateLinkType { id: ID! subdomain: String! trainingStatus: LinkTrainingStatus! isBusiness: Boolean! contactName: String! contactEmail: String! landingUrl: String! """Affiliate Organisation.""" organisation: AffiliateOrganisationType } type AffiliateOrganisationType { """The ID of the affiliate organisation.""" id: ID! """Unique identifier for the organisation in the format O-XXXXXXXX.""" number: String! """The name of the affiliate organisation.""" name: String! """The primary contact email for the organisation.""" contactEmail: String! """Sales Channel.""" salesChannel: SalesChannelChoices @deprecated(reason: "The 'salesChannel' field is deprecated. Please use salesChannelCode instead. - Marked as deprecated on 2025-07-17. - Scheduled for removal on or after 2025-10-17.") """Sales Channel Code.""" salesChannelCode: String """Default Account Type.""" defaultAccountType: AccountTypeChoices """Are meter point registrations limited for profile classes 1 and 2 for registrations from csv or API.""" canRegisterBusinessMeterPoints: Boolean """Allow registration requests with exiting account user emails to add to the portfolio belonging to the account user.""" canRegisterPortfolioAccounts: Boolean """Allow registration requests with customers without an email address.""" canRegisterCustomersWithoutEmailAddress: Boolean """Allow this partner to skip validation that ensures all meter points belong to the same address.""" skipMeterPointAddressValidation: Boolean """Is this partner allowed to specify payment methods other than Direct Debit in the import csv or API.""" allowAlternativePaymentMethods: Boolean """Allow performing tariff renewals via API.""" canRenewTariffs: Boolean """Allow this partner access to the IVR support API (modify their own IVR handling through third party 'IVR Flow Editor').""" canUseIvrSupportApi: Boolean """Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels.""" isFieldSalesOnlyProduct: Boolean """External references attached to the organisation, keyed by namespace.""" references: [OrganisationReferenceType] } """A tracked session for the affiliate link.""" type AffiliateSessionType { id: ID! ipAddress: String userAgent: String! queryParams: JSONString! """Affiliate Link.""" link: AffiliateLinkType } type AgentAuxiliaryStatusType { """The ID of the agent auxiliary status.""" id: ID """The current auxiliary status of the agent.""" status: String """The timestamp when the status was last updated.""" updatedAt: DateTime } type AgentCallCenterStatusType { """The ID of the agent call center status.""" id: ID """The current status of the agent in the call center.""" status: String """The timestamp when the status was last updated.""" updatedAt: DateTime """The ID of the most recent call handled by the agent. If the agent status is BUSY then this will be the ID of the current call.""" mostRecentCallId: Int } type AgreementConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AgreementEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Agreement` and its cursor.""" type AgreementEdge { """The item at the end of the edge""" node: CommonAgreementType """A cursor for use in pagination""" cursor: String! } """Details of an agreement rescission""" type AgreementRescissionType { id: ID! """The current status of the agreement rescission.""" status: AgreementRescissionStatus failureReason: String! flowReference: String createdAt: DateTime! updatedAt: DateTime! agreement: UnmeteredElectricityAgreementType! } type AgreementRolloverType { id: ID! number: String! rolloverType: AgreementRolloverRolloverType! expectedSendDate: Date! status: AgreementRolloverStatus! params: JSONString! failureReason: String! actualSendDate: Date suppressComms: Boolean! createdAt: DateTime! updatedAt: DateTime! """List of tag names associated with this agreement rollover.""" tags: [String] agreement: UnmeteredElectricityAgreementType! rolledOnTo: UnmeteredElectricityAgreementType quoteRequests: [QuoteRequestType!]! } type AllocationIntentionType { """ID of the allocated transaction.""" transactionId: Int! """The type of the transaction.""" transactionType: TransactionTypes! """The amount of the transaction. A positive amount indicates money received from the customer (payments, credits). A negative amount indicates money paid to the customer (repayments).""" transactionAmount: Int! """The amount of the transaction that has been allocated to the billing document. A positive amount indicates money received from the customer (payments, credits). A negative amount indicates money paid to the customer (repayments).""" allocationAmount: Int! """Reason for the allocation intention.""" allocationReason: String } """Represents an allocation of a fulfilment to an obligation.""" type AllocationType { """The amount of the allocation (in minor currency units), unsigned.""" amount: Int! """The fulfilment that is allocated.""" fulfilment: FulfilmentType! } """ Allow a repayment to be submitted. The possible errors that can be raised are: - KT-CT-3944: Account repayment does not exist. - KT-CT-3945: Unable to allow a repayment to be submitted. - KT-CT-3950: The provided reason text is too long. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AllowRepaymentSubmission { """The repayment ID.""" repaymentId: ID """Resulting Repayment Intervention details.""" repaymentIntervention: RepaymentInterventionType } """Returned when an account already has a LINE account linked to it.""" type AlreadyLinkedError { """The type of error that occurred.""" type: LineLinkErrorType! } type AlternativeNumberDoesNotExistErrorType implements GenericErrorInterface { message: String! } type AlternativeNumberValidationErrorType implements GenericErrorInterface { message: String! } """ Amend an existing payment. The possible errors that can be raised are: - KT-CT-3924: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-3970: The account cannot amend payments. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AmendPayment { payment: AccountPaymentType } """A media element containing an animation, such as a Lottie.""" type AnimationType implements SizedItemInterface & MediaInterface & AccessibilityInterface & IdentifiableInterface { """The measurement of the element.""" width: ItemSizeType """The resource URL of the media.""" mediaUrl: String! """The horizontal alignment of the media.""" horizontalAlignment: Alignment """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String } type AnnualStatementConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AnnualStatementConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AnnualStatementConnectionType` and its cursor.""" type AnnualStatementConnectionTypeEdge { """The item at the end of the edge""" node: AnnualStatementType """A cursor for use in pagination""" cursor: String! } """Annual statements that are sent to the account. They summarize important information about usage and tariffs.""" type AnnualStatementType { periodStartsAt: DateTime! periodEndsAt: DateTime! id: ID pdfUrl: String } """An annulment is a billing document that annuls another billing document.""" type AnnulmentBillingDocumentType { """ID for the annulment billing document.""" id: Int! """ID of the billing document annulled by this annulment.""" annulledBillingDocumentId: Int! """First time the annulment was issued.""" firstIssued: DateTime """URL to the PDF of the annulment.""" pdfUrl: String } type AppSessionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [AppSessionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `AppSessionConnectionType` and its cursor.""" type AppSessionConnectionTypeEdge { """The item at the end of the edge""" node: AppSessionType """A cursor for use in pagination""" cursor: String! } type AppSessionType { startedAt: DateTime! stoppedAt: DateTime! addressLine1: String! addressLine2: String! addressLine3: String! """Post town""" addressLine4: String! """County""" addressLine5: String! id: UUID! isArchived: Boolean postcode: String! locationAt: DateTime """The location accuracy level in meters""" locationHorizontalAccuracy: Int locationLatitude: Decimal locationLongitude: Decimal salesMode: AppSessionSalesMode type: AppSessionType createdAt: DateTime! updatedAt: DateTime! account: AccountType link: AffiliateLinkType! """A list of outcomes associated with the app session.""" outcomes: [OutcomeType] } """Used by territory plugins (e.g. NLD) for agreement-level applicable_rates fields.""" type ApplicableRateConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ApplicableRateEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ApplicableRate` and its cursor.""" type ApplicableRateEdge { """The item at the end of the edge""" node: ApplicableRateType """A cursor for use in pagination""" cursor: String! } type ApplicableRateType { """The system the rate was sourced from.""" sourceSystem: String! """The display name of the rate.""" name: String! """Price per unit.""" pricePerUnit: Decimal! """Unit of the applicable rate.""" unit: String! """A human-readable display of the unit, e.g. 'p/kWh'.""" unitDisplay: String! """The variant profile for the applicable rate.""" variantProfile: VariantProfile! """Technical identifier of the applicable rate.""" rateId: Int """Override price for the applicable rate.""" overridePrice: Decimal """The currency the rate is priced in.""" currency: String """The category of the rate, e.g. 'CONSUMPTION_CHARGE' or 'STANDING_CHARGE'.""" category: String """The period during which the rate is valid.""" validityPeriod: ApplicableRateValidityPeriodType! """Whether the rate represents a sales tax.""" isSalesTax: Boolean! } """Represents the period during which a rate is valid.""" type ApplicableRateValidityPeriodType { """The date and time from which the rate is valid.""" start: DateTime """The date and time until which the rate is valid. Null indicates the rate has no end date.""" end: DateTime } """ Approve a repayment. The possible errors that can be raised are: - KT-CT-3934: Repayment request already approved. - KT-CT-3935: Repayment request cannot be paid. - KT-CT-3959: Unauthorized. - KT-CT-3973: Repayment request is not in a state to be approved. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ApproveRepayment { """The approved repayment.""" repayment: AccountRepaymentType } type AsOfDateInvalidErrorType implements GenericErrorInterface { message: String! } """ Assess a collection process record for pause and pause or unpause it based on the assessment. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AssessCollectionProcessRecordForPause { """Details of collection process after running the pause assessment.""" collectionProcessProcessed: AssessCollectionProcessRecordForPauseOutputType } """Output for assessing a Collection process for pause.""" type AssessCollectionProcessRecordForPauseOutputType { """The number of the collection process record.""" number: String """The pause status of the collection process.""" isPaused: Boolean } """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-7613: The Ink bucket was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AssignInkBucket { """The conversation that will be assigned to the bucket.""" conversation: InkConversation! """The bucket that the conversation will be assigned to.""" bucket: InkBucket! } """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13601: Estimation Group does not exist. - KT-CT-13602: Supply Point already has an Estimation Group. - KT-CT-13603: Supply Point does not exist. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AssignSupplyPointToEstimationGroup { """The created supply point estimation group mapping.""" supplyPointEstimationGroup: AssignedSupplyPointEstimationGroupType } type AssignedSupplyPointEstimationGroupType { """The code of the estimation group.""" estimationGroupCode: String! """The external identifier of the assigned supply point.""" supplyPointExternalId: String! } type AssignedUserType { """The ID of the assigned user.""" id: ID! """The username of the assigned user.""" username: String! } """A single Assistance Agreement.""" type AssistanceAgreementType { """The type of assistance provided by the agreement.""" assistanceType: String """The start datetime of the agreement.""" activeFrom: Date """The end datetime of the agreement, if any.""" activeTo: Date } """ The possible errors that can be raised are: - KT-CT-11818: Invalid archived call recordings input. - KT-CT-11820: Too many recordings to associate in a single request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AssociateArchivedCallRecordingsWithCalls { """Summary counts of the processing results.""" summary: AssociateArchivedRecordingsSummaryType """Per-recording processing results.""" results: [AssociateArchivedRecordingResultType] } type AssociateArchivedRecordingResultType { """The vendor call leg ID from the input.""" vendorCallLegId: String! """The ID of the recording, if one exists.""" recordingId: Int """The processing status: success, skipped, or error.""" status: AssociateArchivedRecordingResultStatus! """If skipped or errored, the reason why.""" reason: String } type AssociateArchivedRecordingsSummaryType { """Total number of recordings processed.""" total: Int! """Number of recordings that were successfully archived or skipped.""" successful: Int! """Number of recordings that failed to process.""" failed: Int! } """ The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11802: Call not found. - KT-CT-11808: Unable to associate account to call. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type AssociateCallWithAccount { """The call.""" call: InboundCallType } """ Associate an item to a collection process record. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11205: Item already associated to collection process. - KT-CT-11216: Invalid extra_details for associated item type. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AssociateItemToCollectionProcess { """Item associated to the collection process.""" collectionProcessAssociatedItem: AssociateItemToCollectionProcessOutputType } type AssociateItemToCollectionProcessOutputType { """The number of the collection process record.""" number: String """Associated item identifier.""" itemId: ID } type AttachAgreementsToContractsOutput { """True if the agreements were successfully attached.""" ok: Boolean! } """Represents a file to attach to a communication""" type AttachmentType { id: ID! filename: String! """Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page).""" temporaryUrl: String } type AudioRecordingType { id: UUID! contentType: String! duration: Float! fileSize: Int! startedAt: DateTime! stoppedAt: DateTime! s3Bucket: String! s3Key: String! createdAt: DateTime! updatedAt: DateTime! """The app session associated with this audio recording.""" appSession: AppSessionType } type AuthorizedApplication { """The name of the application.""" name: String """The client ID of the application.""" clientId: String } """ Award the specified number of Loyalty Points to the account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9204: Negative or zero points set. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-9211: Invalid reason for loyalty points award. - KT-CT-9212: Points exceed maximum limit. - KT-CT-9219: Loyalty points user not found. - KT-CT-9221: Idempotency key already used on ledger entry. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type AwardLoyaltyPoints { """The number of loyalty points that were awarded.""" pointsAwarded: Int """The ledger entry for the awarded loyalty points.""" ledgerEntry: LoyaltyPointLedgerEntryType } """ Returns an Action to perform, e.g. a screen to load. BackendScreenEvents are specific types of Action which trigger a mutation in the Kraken backend. They return an action (any type), such as a ScreenActionType (which is then used to load the next screen). Any action registered in the registry should really be an "event" with some side-effect in the backend. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-8002: No event found. - KT-CT-8003: Event has no execute function. - KT-CT-8004: Error executing event in the backend. - KT-CT-8007: Incorrect or missing parameters for backend screen event. - KT-GB-9310: Account ineligible for joining Octoplus. - KT-CT-1113: Disabled GraphQL field requested. """ type BackendScreenEvent { """An action to perform.""" action: ActionType } """An action which triggers some event in the Kraken backend.""" type BackendScreenEventActionType implements ActionInterface & IdentifiableInterface { """The name of the action object's type.""" typeName: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The ID of the event to trigger.""" eventId: String! """List of key-value pairs to pass as parameters to the event.""" params: [BackendScreenParam]! } """A key-value pair (both Strings) which is passed as a parameter to a screen.""" type BackendScreenParam { key: String! value: String! } type BalanceTriggeredScheduleType { """The ledger balance (in minor currency unit) which when passed will trigger a payment.""" balanceThreshold: Int """The target balance (in minor currency unit) for the ledger.""" targetBalance: Int } type BankDetailsValidationResult { """Indicates whether the provided bank details are valid.""" areValid: Boolean! """Provides additional information about validation result.""" message: String } type BaseUsageAndCostType { """Estimated usage amount.""" usageEnergy: Float! """Estimated cost in cents (GST excluded).""" usageCost: Int! """Estimated export amount.""" exportEnergy: Float """Estimated export cost in cents (GST excluded).""" exportEarning: Int """Estimated concession (GST excluded).""" concessionDiscount: Int! """Estimated total cost in cents (GST excluded).""" totalCost: Int! } """The BespokeRateConfiguration term.""" type BespokeRateConfigurationType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The schedules for the bespoke rate configuration.""" schedules: [BespokeRateScheduleType] } """Item for the BespokeRateConfiguration term.""" type BespokeRateItemType { """The price per unit for the bespoke rate item.""" pricePerUnit: Decimal """The rate specification code for the bespoke rate item.""" rateSpecificationCode: String """The rate specification type for the bespoke rate item.""" rateSpecificationType: BespokeRateItemTypeEnum """The variant profile for the bespoke rate item.""" variantProfile: VariantProfile } """Schedule for the BespokeRateConfiguration term.""" type BespokeRateScheduleType { """The items for the bespoke rate schedule.""" items: [BespokeRateItemType] """The product code for the bespoke rate schedule.""" productCode: String """The datetime the schedule of bespoke rates is valid from.""" validFrom: DateTime """The datetime the schedule of bespoke rates is valid to.""" validTo: DateTime """The external identifier of the supply point this schedule targets.""" supplyPointIdentifier: String } """This represents the Best Offer Details for an Agreement.""" type BestOfferForAgreement { """The estimated cost for the current product.""" estimatedCurrentProductCost: Int """All products checked for the agreement.""" allProductsChecked: [BestOfferProductEstimate] """The best offer report usage.""" usage: BestOfferReportUsage """The best offer product for the agreement.""" bestOfferProduct: Product """The estimated best offer product cost.""" estimatedBestOfferProductCost: Int """The cost difference between the current product and best offer.""" bestOfferDifference: Int """Whether or not solar export is included.""" includesSolarExport: Boolean } type BestOfferProductEstimate { """The product for the best offer product estimate.""" product: Product """The estimated cost for the best offer product.""" estimatedCost: Int } type BestOfferReportUsage { """The start at date time for the best offer report usage.""" startAt: DateTime """The end at date time for the best offer report usage.""" endAt: DateTime """The total for the best offer report usage.""" totalUsage: Decimal """The peak for the best offer report usage.""" peakUsage: Decimal """The off peak for the best offer report usage.""" offPeakUsage: Decimal """The shoulder for the best offer report usage.""" shoulderUsage: Decimal """The controlled load for the best offer report usage.""" controlledLoadUsage: Decimal } """A charge to the customer from the energy retailer.""" type BillCharge implements BillTransactionType { """The unique identifier for the transaction.""" id: ID """The date the transaction was posted.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """A user readable string that indicates what this transaction relates to.""" title: String """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String """If this charge is for consumption of a good or service, this field will contain details of how much was consumed. Omitted in cases where the charge is not for consumption, or where consumption information is not available (e.g. for some older records).""" consumption: Consumption """Supporting information about this charge (if any is available).""" detail: ChargeDetail } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type BillConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [BillConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `BillConnectionType` and its cursor.""" type BillConnectionTypeEdge { """The item at the end of the edge""" node: BillInterface """A cursor for use in pagination""" cursor: String! } """A credit to the customer from the energy retailer.""" type BillCredit implements BillTransactionType { """The unique identifier for the transaction.""" id: ID """The date the transaction was posted.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """A user readable string that indicates what this transaction relates to.""" title: String """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } """Represents bill due dates to be applied in a contract.""" type BillDueDateType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The number of days to pay a bill from issue date, after which the debt becomes delinquent.""" numberOfDays: Int """The type of day to consider (WORKING or CALENDAR).""" typeOfDays: DayType } """A payment from the customer to the energy supplier.""" type BillPayment implements BillTransactionType { """The unique identifier for the transaction.""" id: ID """The date the transaction was posted.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """A user readable string that indicates what this transaction relates to.""" title: String """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } """A refund to the customer from the energy supplier.""" type BillRefund implements BillTransactionType { """The unique identifier for the transaction.""" id: ID """The date the transaction was posted.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """A user readable string that indicates what this transaction relates to.""" title: String """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } """A connection that can provide links to the representations of a bill.""" type BillRepresentationConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [BillRepresentationConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `BillRepresentationConnectionType` and its cursor.""" type BillRepresentationConnectionTypeEdge { """The item at the end of the edge""" node: BillRepresentationType """A cursor for use in pagination""" cursor: String! } """Provides the rendering context data used to generate a bill representation, along with its associated JSON Schema metadata.""" type BillRepresentationContextType { """The raw template context used to render the bill representation. Returns null if the context data is unavailable.""" data: GenericScalar """The schema defining the expected structure of the `data` field. This is populated when the schema type is 'STRICT', and empty when the schema type is 'NONE'.""" schema: GenericScalar """The level of explicit structural typing applied to the context data. 'STRICT' indicates that the data conforms to a defined, typed schema; 'NONE' indicates that the data is untyped and no schema is enforced.""" schemaType: String """The unique code of the template associated with this context.""" templateCode: String } """representations are associated with a bill files and can be used to provide additional information to the customer.""" type BillRepresentationType { """The type of representation.""" code: String """The version of the representation.""" version: Int """The `TemporaryURL` type represents a temporary URL at which the file is available. It is intended for redirection purposes, NOT persistence in any form. (e.g. inclusion in emails or the body of a web page).""" temporaryUrl: String """The expiry datetime field of the temporary URL.""" temporaryUrlExpiresAt: DateTime """The name of the file.""" filename: String """The rendering context data and schema associated with this bill representation. Returns null if no context record exists.""" context: BillRepresentationContextType } type BillTransactionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [BillTransactionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `BillTransactionConnectionType` and its cursor.""" type BillTransactionConnectionTypeEdge { """The item at the end of the edge""" node: BillTransactionType """A cursor for use in pagination""" cursor: String! } type BillTriggeredBalanceTargetScheduleType { """The target balance (in minor currency unit) for the ledger.""" targetBalance: Int } type BillTriggeredScheduleType { """The day of the month at which to take payment, if specified.""" paymentDay: Int """The multiple of months at which payments are taken, if specified.""" frequencyMultiplier: Int } """A connection that can provide links to the attachments of the bill.""" type BillingAttachmentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [BillingAttachmentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `BillingAttachmentConnectionType` and its cursor.""" type BillingAttachmentConnectionTypeEdge { """The item at the end of the edge""" node: BillingAttachmentType """A cursor for use in pagination""" cursor: String! } """Attachments are associated with a bill files and can be used to provide additional information to the customer.""" type BillingAttachmentType { """The `TemporaryURL` type represents a temporary URL at which the file is available. It is intended for redirection purposes, NOT persistence in any form. (e.g. inclusion in emails or the body of a web page).""" temporaryUrl: String """The expiry datetime field of the temporary URL.""" temporaryUrlExpiresAt: DateTime """The name of the file.""" filename: String } type BillingDocumentPositionType { """The date when the payment is due for the billing document.""" dueDate: Date! """The expected amount for the billing document (in minor currency units).""" expectedAmount: Int! """The amount that remains to be paid for the billing document (in minor currency units).""" remainingAmount: Int! """Allocation intentions for the billing document.""" allocationIntentions: [AllocationIntentionType]! """Allocations for the billing document.""" allocations: [AllocationType]! } type BillingFrequencyNotValidType implements GenericErrorInterface { message: String! } """A billing operation frequency definition.""" type BillingOperationFrequency { """The type of billing operation.""" operationType: BillingTriggerOperationType! """The type of target this definition applies to.""" targetType: BillingTriggerTargetType! """The billing frequency.""" frequency: BillingTriggerFrequency! """The frequency multiplier (e.g., 2 for bi-monthly).""" multiplier: Int! """Day of the month when billing is triggered (1-31).""" triggerAtStartDay: Int! """Month of the year when billing starts (1-12).""" triggerAtStartMonth: Int! """Temporal parameters for operation parameters.""" temporalParams: [BillingOperationTemporalParamsType!]! } """Temporal parameters for billing frequency operations.""" type BillingOperationTemporalParamsType { """The key of the parameter (e.g., charge_to).""" paramKey: String! """Day of the month (1-31).""" startDay: Int! """Month of the year (1-12).""" startMonth: Int! } """Information about an account's billing schedule.""" type BillingOptionsType { """The day of the month on which the account's billing period should start.""" periodStartDay: Int periodLength: AccountBillingOptionsPeriodLength periodLengthMultiplier: Int """If true, this account is billed on specific day of a regular cycle. If false, the billing schedule is flexible, depending on when meter readings are submitted.""" isFixed: Boolean! """The date on which the current billing cycle started.""" currentBillingPeriodStartDate: Date """The date on which the current billing cycle will end. Null if the account is on flexible billing.""" currentBillingPeriodEndDate: Date """The next date on which this account will next be billed. This is the same as the start date for their next bill cycle. Null if the account is on flexible billing.""" nextBillingDate: Date } """ A billing trigger configuration with its effective period and operation frequencies. This represents a complete billing configuration for a target, including effective period and what operations should be performed at what frequencies. """ type BillingTriggerConfiguration { """When this configuration becomes effective.""" effectiveFrom: DateTime! """When this configuration stops being effective (null if no end date).""" effectiveTo: DateTime """Whether this configuration is currently active.""" isActive: Boolean! """The type of target this configuration applies to.""" targetType: BillingTriggerTargetType! """List of billing operation frequencies in this configuration.""" operationFrequencies: [BillingOperationFrequency!]! """Next date when a billing document will be issued (null if not calculable).""" nextIssueDate: Date } """Pagination object for billing trigger configurations.""" type BillingTriggerConfigurationsConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [BillingTriggerConfigurationsEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `BillingTriggerConfigurations` and its cursor.""" type BillingTriggerConfigurationsEdge { """The item at the end of the edge""" node: BillingTriggerConfigurationsForTarget """A cursor for use in pagination""" cursor: String! } """Billing trigger configurations for a single target.""" type BillingTriggerConfigurationsForTarget { """Reference to the target entity for these billing configurations.""" target: BillingTriggerTargetReference! """List of billing trigger configurations for this target.""" configurations: [BillingTriggerConfiguration!]! } """A reference to a billing trigger target.""" type BillingTriggerTargetReference { """The type of target (ACCOUNT, PORTFOLIO, or CHARGING_LEDGER).""" targetType: BillingTriggerTargetType! """The account or portfolio number (null for ledgers).""" number: String """The database ID of the target.""" id: ID! } """ Block a repayment from being submitted. The possible errors that can be raised are: - KT-CT-3944: Account repayment does not exist. - KT-CT-3946: Unable to block a repayment from being submitted. - KT-CT-3950: The provided reason text is too long. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type BlockRepaymentSubmission { """The repayment ID.""" repaymentId: ID """Resulting Repayment Intervention details.""" repaymentIntervention: RepaymentInterventionType } type BothHouseAndLotNumberErrorType implements GenericErrorInterface { message: String! } """ Break an active payment plan for a Customer. The possible errors that can be raised are: - KT-AU-3933: The payment plan was not found. - KT-AU-3938: The payment plan could not be broken. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type BreakPaymentPlan { """The payment plan that has been broken.""" paymentPlan: PaymentPlanType } """ Award Loyalty Points to multiple accounts in a single request. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9212: Points exceed maximum limit. - KT-CT-9221: Idempotency key already used on ledger entry. - KT-CT-9224: Duplicate idempotency keys provided in requested awards. - KT-CT-9225: Bulk award batch size exceeds the maximum limit. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type BulkAwardLoyaltyPoints { """Successfully inserted loyalty point awards.""" inserted: [BulkAwardLoyaltyPointsInsertedItemResult] """Failed loyalty point awards.""" failed: [BulkAwardLoyaltyPointsFailedItemResult] } type BulkAwardLoyaltyPointsFailedItemResult { """The account number for this failed item.""" accountNumber: String """The idempotency key for this failed item.""" idempotencyKey: UUID """Error code for failed items.""" errorCode: String """Error message for failed items.""" errorMessage: String } type BulkAwardLoyaltyPointsInsertedItemResult { """The account number for this item.""" accountNumber: String """The number of points awarded for this item when successful.""" pointsAwarded: Int """The created loyalty point ledger entry when successful.""" ledgerEntry: LoyaltyPointLedgerEntryType } """Paginator of Businesses""" type BusinessConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [BusinessConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `BusinessConnectionType` and its cursor.""" type BusinessConnectionTypeEdge { """The item at the end of the edge""" node: BusinessType """A cursor for use in pagination""" cursor: String! } type BusinessDetailType { """The key of the business detail.""" key: String! """The value of the business detail.""" value: String } type BusinessRole implements RoleInterface { """The unique code of the role.""" code: String! """The unique displayable name of the role.""" name: String! """The description of the role.""" description: String! """The permissions associated with the role.""" permissionCodes: [String]! } type BusinessSegmentPeriodType { """The ID of the business segment period.""" id: ID! """The segment associated with this period.""" segment: SegmentType! """The start date and time of the segment period.""" startAt: DateTime """The end date and time of the segment period.""" endAt: DateTime } type BusinessType { """The business ID.""" id: ID! """The business' name.""" name: String! """The business' number.""" number: String! """Kraken-generated, human-readable number for display purposes.""" displayableNumber: String """The company type of a business account.""" businessType: BusinessTypeOptions """The sectors the business operates in.""" sectors: [BusinessSectorString!]! """The details of the business.""" details: [BusinessDetailType] """The billing address of the business.""" billingAddress: RichAddressType """The legal address of the business.""" legalAddress: RichAddressType """ Account number linked to this business. The possible errors that can be raised are: - KT-CT-11102: Business without related account. - KT-CT-1113: Disabled GraphQL field requested. """ linkedAccountNumber: ID! @deprecated(reason: "The 'linkedAccountNumber' field is deprecated. Please use 'linkedAccountNumbers' instead, businesses can be related to multiple Accounts now. - Marked as deprecated on 2025-02-05. - Scheduled for removal on or after 2025-08-01.") """Account numbers linked to this business.""" linkedAccountNumbers: [ID]! """The segment this business is assigned to.""" segmentName: String """List payment instructions owned by this business.""" paymentMethods(validAt: DateTime, statuses: [PaymentInstructionStatus], before: String, after: String, first: Int, last: Int): PaymentInstructionConnectionTypeConnection """Which kind of business type the `number` field refers to. Returns MISSING if the `number` field is empty, and UNKNOWN if the value cannot be parsed as either ABN or ACN.""" numberType: BusinessNumberTypeEnum } """ Represents a C&I metering agreement term in a contract. Note: This type is a stub, and will be fleshed out in the future. """ type CIMeteringAgreementType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean } """Paginator of Calls""" type CallConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [CallConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `CallConnectionType` and its cursor.""" type CallConnectionTypeEdge { """The item at the end of the edge""" node: CallInterface """A cursor for use in pagination""" cursor: String! } type CallMetadataItemType { """The key of the call metadata item.""" key: String! """The value of the call metadata item.""" value: String! } type CallRecordingDetailEventType { """Data containing context of the event.""" data: JSONString """The type of event.""" eventType: String """Time in milliseconds, relative to the start of the recording.""" relativeOccurredAt: Int """Timestamp for when the event occurred.""" occurredAt: DateTime } type CallRecordingDetailType { """ID of the associated call.""" callId: ID """The direction the call was initiated.""" callDirection: String """Email of the call's main agent.""" primaryAgentEmail: String """Phone number of the callee.""" toPhoneNumber: String """Phone number of the caller.""" fromPhoneNumber: String """Start time of the call recording.""" startTime: DateTime """End time of the call recording.""" endTime: DateTime """A list of recording events.""" events: [CallRecordingDetailEventType] } """Paginator of Call Tags""" type CallTagConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [CallTagConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `CallTagConnectionType` and its cursor.""" type CallTagConnectionTypeEdge { """The item at the end of the edge""" node: CallTagType """A cursor for use in pagination""" cursor: String! } type CallTagType { """ID of the call tag.""" id: ID """Name of the tag that will be used to identify it.""" name: String """Whether the tag can currently be used to tag calls.""" isActive: Boolean } """Paginator of Call Transcripts""" type CallTranscriptConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [CallTranscriptConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `CallTranscriptConnectionType` and its cursor.""" type CallTranscriptConnectionTypeEdge { """The item at the end of the edge""" node: CallTranscriptType """A cursor for use in pagination""" cursor: String! } type CallTranscriptDownloadType { """Presigned S3 URL for the transcript file. Valid for one hour from the time the response is generated.""" url: String! """Whether `url` points to the REDACTED or UNREDACTED transcript file. REDACTED is preferred and returned whenever a redacted file exists. UNREDACTED is only returned to callers that hold an additional permission for unredacted access.""" type: CallTranscriptionType! """The time at which the presigned `url` stops working.""" expiresAt: DateTime! } type CallTranscriptType { """The ID of the transcription record.""" id: ID! """The call this transcription is for. May be null when the underlying recording is a participant-level recording whose participant is not associated with a call.""" call: CallInterface """The processing status of this transcription. A non-COMPLETED status means no `download` is available.""" status: CallTranscriptionStatus! """The transcription vendor that produced this record.""" vendor: String! """The time the vendor reported the transcription complete. Null until the transcription reaches COMPLETED status.""" transcribedAt: DateTime """The time at which this transcription record was created.""" createdAt: DateTime! """A presigned download for the transcript file, or null when the transcription is not COMPLETED, no eligible file exists, or the caller lacks permission for the only available file.""" download: CallTranscriptDownloadType } type CanNotCreateAgreementErrorType implements GenericErrorInterface { message: String! } """ Initiate a request to cancel an existing Centrepay Deduction. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-AU-3923: Centrepay Deduction with provided ID does not exist. - KT-AU-3924: You do not have permission to administer this Centrepay Deduction. - KT-AU-3925: Cannot cancel this Centrepay Deduction. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CancelCentrepayDeduction { """Details of Centrepay Deduction to be cancelled.""" centrepayDeduction: CentrepayDeductionType! } """ Mutation to cancel a triggered move in process for a given account The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CancelHouseMoveIn { account: AccountType error: CancelHouseMoveInErrorUnion } """ Mutation to cancel a triggered move out process for a given account The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CancelHouseMoveOut { account: AccountType error: CancelHouseMoveErrorUnion } """ Cancel an in-flight payment. The possible errors that can be raised are: - KT-CT-3924: Unauthorized. - KT-CT-3954: Payment cancellation failed. - KT-CT-3955: Payment cannot be cancelled. - KT-CT-3956: Temporary error occurred. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CancelPayment { """The cancelled payment.""" payment: AccountPaymentType } """ Cancel an active payment plan for a Customer. The possible errors that can be raised are: - KT-AU-3933: The payment plan was not found. - KT-AU-3937: The payment plan could not be cancelled. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CancelPaymentPlan { """The payment plan that has been cancelled.""" paymentPlan: PaymentPlanType } """ Cancel a repayment or refund request. The possible errors that can be raised are: - KT-CT-4231: Unauthorized. - KT-CT-3930: The repayment or refund request does not exist. - KT-CT-3931: This repayment or refund request cannot be cancelled. - KT-CT-1113: Disabled GraphQL field requested. """ type CancelRepaymentRequest { """The cancelled repayment/refund request.""" repaymentRequest: CancelRepaymentRequestOutputType } """Output from cancelling a repayment or refund request.""" type CancelRepaymentRequestOutputType { """The ID of the cancelled request.""" requestId: String """The current status of the cancelled request.""" status: RepaymentRequestStatus } type CannotProductSwitchOnUnrelatedAccountError implements GenericErrorInterface { message: String! } type CannotProductSwitchWithoutLoyaltyCardError implements GenericErrorInterface { message: String! } type CannotRescheduleForFixedPaymentCustomerErrorType implements GenericErrorInterface { message: String! } type CannotRescheduleForReRepresentedPaymentsErrorType implements GenericErrorInterface { message: String! } type CannotRescheduleWithMissingAccountStatementErrorType implements GenericErrorInterface { message: String! } type CannotRescheduleWithMoreThenOneRescheduledPaymentErrorType implements GenericErrorInterface { message: String! } """A card containing a list of items""" type CardComponentType implements AccessibilityInterface & IdentifiableInterface { """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The list of components.""" items: [CardItemType]! } type CarouselItemType implements IdentifiableInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The list of cards.""" cards: [CardComponentType]! } """Represents a product in the catalog.""" type CatalogProductType { """Unique identifier of the product.""" identifier: ID! """Internal name of the product.""" internalName: String! """Customer-facing name of the product.""" customerName: String! """Customer-facing description of the product.""" customerDescription: String! """Unique identifier of the component.""" code: String! """The market the product is associated with.""" marketName: String! """The type of product.""" sourceProductType: CatalogProductTypeEnum """Identifier of the product specification associated with this product.""" specificationIdentifier: ID """Tags associated with this product for classification.""" tags: [TagType] } type CentrepayDeductionType { """Kraken account number that the Deduction is associated with.""" accountNumber: String! """3-letter code indicating the type of social security payment.""" benefitGroup: CentrepayBenefitGroupEnum! """3-letter code indicating the product or service the Deduction is for.""" serviceReason: CentrepayServiceReasonEnum! """Customer Centrelink CRN.""" customerReferenceNumber: String! """Deduction payment amount (in cents).""" amount: Int! """An optional target total payment amount after which Centrelink will end the deduction (in cents).""" targetAmount: Int """Date this Deduction Instruction is valid to.""" validTo: Date """ID of Centrepay Deduction (empty for pending Create requests).""" id: ID """Date this Deduction Instruction is valid from.""" validFrom: Date! """Given name of customer that the Deduction is associated with.""" customerGivenName: String """Family name of customer that the Deduction is associated with.""" customerFamilyName: String """Date of birth of customer that the Deduction is associated with.""" customerDateOfBirth: String """Status for if this Deduction has a pending create, change or cancel request.""" changeStatus: CentrepayChangeStatusEnum } """ Initiate a request to change the details of an existing Centrepay Deduction. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-AU-3923: Centrepay Deduction with provided ID does not exist. - KT-AU-3924: You do not have permission to administer this Centrepay Deduction. - KT-AU-3928: Cannot Cannot change validFrom date of Deduction that is already active. - KT-AU-3920: Cannot provide both validTo and targetAmount values. - KT-AU-3927: No change data provided. - KT-AU-3926: Cannot change this Centrepay Deduction. - KT-AU-3930: Centrepay Deduction amount cannot be greater than Target Amount. - KT-AU-3916: Centrepay Deduction amount must be greater than $10.00. - KT-AU-3914: Centrepay Deduction valid_to date must be later than today. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ChangeCentrepayDeduction { """Details of Centrepay Deduction to be changed.""" centrepayDeduction: CentrepayDeductionType! } type ChangeRequestType { id: ID! identifier: String! status: ChangeRequestStatus! changeReason: String! proposedDate: Date actualChangeDate: Date actualEndDate: Date meterPoint: MeterPointType direction: DirectionChoices } """A characteristic associated with a product.""" type CharacteristicType { """The code of the characteristic.""" code: String! """The name of the characteristic.""" name: String! """The description of the characteristic.""" description: String! """The possible values for the characteristic (can be strings or integers).""" values: [CharacteristicValueUnion]! } """A charge to the customer.""" type Charge implements TransactionType { """Unique identifier for the transaction.""" id: ID """Date when the transaction was posted to the account.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """Unique identifier of the account the transaction belongs to.""" accountNumber: String """Gross amount including tax (when payable). Refer to the `amounts` field for a breakdown of this information.""" amount: Int """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.""" balanceCarriedForward: Int """Deprecated.""" isCredit: Boolean @deprecated(reason: "The 'isCredit' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountCharge: Boolean @deprecated(reason: "The 'isAccountCharge' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountPayment: Boolean @deprecated(reason: "The 'isAccountPayment' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.""" isHeld: Boolean """Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.""" isIssued: Boolean """Human-readable title describing the transaction.""" title: String """The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.""" billingDocumentIdentifier: ID """Returns None if a statement is not linked with the transaction.""" statementId: ID @deprecated(reason: "The 'statementId' field is deprecated. Use `billingDocumentIdentifier` instead. - Marked as deprecated on 2023-11-30. - Scheduled for removal on or after 2024-06-01.") isReversed: Boolean! """Returns True if the transaction is linked with a statement.""" hasStatement: Boolean """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String """If this charge is for consumption of a good or service, this field will contain details of how much was consumed. Omitted in cases where the charge is not for consumption, or where consumption information is not available (e.g. for some older records).""" consumption: Consumption """Supporting information about this charge (if any is available).""" detail: ChargeDetail """Whether the charge is based on one or more estimated readings.""" isBasedOnEstimatedReadings: Boolean @deprecated(reason: "The 'isBasedOnEstimatedReadings' field is deprecated. There are non-energy charges e.g. card payment fees, that are irrelevant to estimated readings. Use `basedOnEstimatedReadings` instead. - Marked as deprecated on 2023-06-14. - Scheduled for removal on or after 2024-06-14.") """Represents the basis used for calculating the charge, indicating whether it relies on estimated readings, actual readings, otherwise either Kraken doesn't support it yet, or falls into not applicable category.""" basedOnEstimatedReadings: EstimatedReadingsStatus """Components of the charge, itemised by rate.""" breakdownItems: [ChargeBreakdownItemType] """The line items that make up the charge.""" lineItems: [LineItemType] """The tax information about this charge.""" taxItems: [TaxItemType] } """A component of a charge representing consumption for a single rate/tariff.""" type ChargeBreakdownItemType { """The associated rate for the item.""" rate: RateInterface """When the consumption starts.""" periodStartAt: DateTime """When the consumption ends.""" periodEndAt: DateTime """The number of units consumed.""" numberOfUnits: Decimal """The amount charged for this item in cents (incl GST).""" grossAmount: Decimal """The amount charged for this item in cents (excl GST).""" netAmount: Decimal """The GST component of this item.""" salesTaxAmount: Decimal """Identifier for the supply point, e.g. the NMI for electricity or MIRN for gas.""" supplyPointIdentifier: String """Whether the item is based on estimated readings.""" consumptionIsEstimated: Boolean } type ChargeReasonType { """The charge reason code.""" code: String """The charge reason display text.""" display: String """Whether the charge reason is deprecated.""" isDeprecated: Boolean """Whether the charge reason is sales tax exempt.""" isTaxExempt: Boolean """Whether the charge reason is hidden.""" isHidden: Boolean """The group the charge reason belongs to (if applicable).""" group: String } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type ChargesBreakdownConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ChargesBreakdownConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ChargesBreakdownConnectionType` and its cursor.""" type ChargesBreakdownConnectionTypeEdge { """The item at the end of the edge""" node: ChargesBreakdownType """A cursor for use in pagination""" cursor: String! } type ChargesBreakdownType { """The start date of the period the charge is for (inclusive).""" periodStart: Date """The end date of the period the charge is for (exclusive).""" periodEnd: Date """Charge in minor currency.""" charge: Int } """GraphQL type for check result.""" type CheckResultType { """Name of the check.""" name: String """Status of the check.""" status: CheckResultStatus """Additional context about the check.""" context: String } """Object representing a Chroma transaction.""" type ChromaTransactionType { """The Kraken ID of the message.""" id: ID! """The industry ID of the message.""" messageId: ID """The industry ID of the transaction.""" transactionId: ID """The industry ID of the transaction that this message was in response to (if applicable).""" initiatingTransactionId: ID """The type of transaction.""" transactionType: String """The version of the message specification.""" messageRevision: String """Path to the raw XML file.""" xmlFile: String """Datetime that the message was created at.""" createdAt: DateTime """Priority of the message.""" priority: String } """Closes the screen.""" type CloseActionType implements ActionInterface & IdentifiableInterface & AccessibilityInterface { """The name of the action object's type.""" typeName: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String } """ Close the DCA proceeding for an account. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11602: Could not find DCA with that name. - KT-CT-11603: Could not stop debt collection proceeding. - KT-CT-11604: Active debt collection proceeding does not exist for account. - KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CloseDCAProceeding { """Whether the closure could be applied.""" dcaProceedingClosureStatus: DCAProceedingClosureStatus } """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CloseInkConversation { """The conversation that was closed.""" conversation: InkConversation } """ The possible errors that can be raised are: - KT-CT-7616: Not yet implemented. - KT-CT-7643: The Live Chat was not found. - KT-CT-7644: Ink Live Chat conversation not found. - KT-CT-7652: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CloseInkLiveChatConversation { """The live chat conversation.""" liveChatConversation: InkLiveChatConversation } """ Close the Open Print Batch if any. The possible errors that can be raised are: - KT-CT-9010: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CloseOpenPrintBatch { printBatch: PrintBatchType } """ Collect deposit for the given account. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-5711: No collection is required. - KT-CT-5712: Deposit agreement does not exist or has not been accepted. - KT-CT-5713: Payment instruction is not usable. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CollectDeposit { payment: CollectDepositOutput } type CollectDepositOutput { status: CollectDepositStatusChoices paymentDate: Date } """ Attempt to collect a one-off payment. If an instruction type is provided and there is an existing payment instruction, the payment can be collected immediately. A request to collect a payment at a future date can also be made, in which case the instruction input type is not necessary, but an instruction must exist at the specified collection date for the payment to be collected successfully. The possible errors that can be raised are: - KT-CT-3932: Invalid data. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CollectPayment { """Details about the collected payment. Note that we might not be able to collect the payment (e.g. if there is no usable payment instruction), in which case the status of the returned payment might be failed or cancelled.""" payment: AccountPaymentType } type Collection { """The name of the collection.""" name: String """The description of the collection.""" description: String """The order of the collection.""" order: Int """The fields of the collection.""" fields: [FunnelField] } """Collection process details type""" type CollectionProcessDetailsType { """The collection process record number.""" collectionProcessRecordNumber: String """The pause status of the collection process.""" isPaused: Boolean """The completion status of the collection process.""" isComplete: Boolean """The active status of the collection process.""" isActive: Boolean """What kind of completion happened.""" completionType: String """Items associated to the collection process.""" associatedItems: [CollectionProcessRecordAssociatedItemType] """Total number of days collection process were on pause.""" pausedDays: Int """The type of the collection process (ACCOUNT, LEDGER, or BILLING_DOCUMENT).""" collectionProcessType: CollectionProcessTypes """The identifier of the target object (account number, ledger number, or billing document ID) based on the collection process type.""" targetObjectIdentifier: String } """Output for creating a collection process event.""" type CollectionProcessEventOutputType { """The number of the collection process record this event belongs to.""" number: String } """Collection process pause record""" type CollectionProcessPauseStatusRecord { """Collection process pause name.""" name: String """Reason for pausing.""" reason: String """Start of pause period.""" pausedAt: DateTime """End of pause period.""" resumedAt: DateTime """Reason for ending pause period.""" resumedReason: String } """Item associated to collection process""" type CollectionProcessRecordAssociatedItemType { """Type of item.""" itemType: String! """Unique reference of item.""" itemReference: String! """Datetime of when action that resulted in item happened.""" occurredAt: DateTime! """Additional details of the item.""" extraDetails: JSONString } """Collection process step type""" type CollectionProcessStepType { """The step identifier.""" stepIdentifier: String """The status of the step.""" status: CollectionProcessStepStatus } type CollectiveBillType implements BillInterface { """The ID of the bill.""" id: ID """The type of the bill.""" billType: BillTypeEnum """The date of the bill is covered from.""" fromDate: Date """The date of the bill is covered to.""" toDate: Date """ Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. """ temporaryUrl: String @deprecated(reason: "The 'temporaryUrl' field is deprecated. This field is deprecated. Use the 'attachments' field instead. - Marked as deprecated on 2024-09-16. - Scheduled for removal on or after 2025-09-01.") """The date the bill was sent to the customer.""" issuedDate: Date attachments(before: String, after: String, first: Int, last: Int): BillingAttachmentConnectionTypeConnection """How many charges have been reversed after the close date.""" reversalsAfterClose: StatementReversalsAfterClose! """Constituents of the bill.""" constituents(before: String, after: String, first: Int, last: Int): ConstituentConnection """ The unique identifier of a bill. It will usually be present on the billing document itself. Note: a bill that hasn't been issued yet will not have an identifier; and not all issued bills will have an identifier assigned to them, in which case this will be null. """ identifier: String } type CombinedRateLimitInformation { """Information about points-allowance rate limit for viewer.""" pointsAllowanceRateLimit: PointsAllowanceRateLimitInformation """Information about the current state of the rate limiting for rate limited fields at the time of the request.""" fieldSpecificRateLimits(fields: [String], before: String, after: String, first: Int, last: Int): FieldSpecificRateLimitInformationConnectionTypeConnection! } """ Add commencement to an account. The possible errors that can be raised are: - KT-CT-11606: Debt Collection Agency cannot use campaign. - KT-CT-11601: Cannot start collection proceeding, proceeding for this account already exists. - KT-CT-11602: Could not find DCA with that name. - KT-CT-11607: Invalid ledger number for debt collection proceeding. - KT-CT-11608: Ledger does not belong to account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CommenceDCAProceeding { """Whether the commencement could be applied.""" dcaProceedingCommencementStatus: DCAProceedingCommencementStatus } type CommonAgreementType { id: ID! validFrom: DateTime! validTo: DateTime agreedAt: DateTime terminatedAt: DateTime ratesAgreedAt: DateTime! """The deadline until which the customer is allowed to rescind this agreement. If it is null, rescission is not permitted.""" rescissionDeadlineAt: DateTime """The account associated with the agreement.""" account: AccountType! """The agreement's supply point.""" supplyPoint: SupplyPointType! """The product associated with the agreement.""" product: SupplyProductType """Whether the agreement is currently active.""" isActive: Boolean """The characteristic values associated with the agreement.""" characteristicValues(at: DateTime): [CharacteristicValueInterface] """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """General parameters providing additional information about the agreement.""" params: JSONString } """Paginator of Complaint type.""" type ComplaintConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ComplaintConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ComplaintConnectionType` and its cursor.""" type ComplaintConnectionTypeEdge { """The item at the end of the edge""" node: ComplaintType """A cursor for use in pagination""" cursor: String! } """Paginator of Complaint contact type.""" type ComplaintContactConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ComplaintContactConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ComplaintContactConnectionType` and its cursor.""" type ComplaintContactConnectionTypeEdge { """The item at the end of the edge""" node: ComplaintContactType """A cursor for use in pagination""" cursor: String! } type ComplaintContactType { """Complainant name.""" name: String! """Description of action taken.""" actionTaken: String! """Status of complaint.""" status: String! """Created at for contact.""" createdAt: DateTime! """Complaint phone.""" mobile: String """Complaint email.""" email: String """Complaint landline.""" landline: String """Complaint preferred method.""" preferredCommunicationMethod: String """Complaint summary.""" summary: String } type ComplaintType { id: ID! """Complaint contacts.""" contacts(before: String, after: String, first: Int, last: Int): ComplaintContactConnectionTypeConnection """Complaint type.""" type: String """Complaint subtype.""" subtype: String """Complaint creation date.""" creationDate: Date """Complaint resolution date.""" resolutionDate: Date """Complaint Assignee.""" assigneeId: ID """Whether this is an official complaint.""" isOfficial: Boolean } """ Complete an approval by marking it as approved or rejected. The possible errors that can be raised are: - KT-CT-14802: Invalid input for completing approval. - KT-CT-14801: Approval not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CompleteApproval { """The result of completing the approval.""" completedApproval: CompletedApproval } """ Complete a reminder. The possible errors that can be raised are: - KT-CT-1406: Invalid data. - KT-CT-1407: Unable to complete reminder. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CompleteReminder { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Complete an initiated standalone payment. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3823: Unauthorized. - KT-CT-3974: Unauthorized. - KT-CT-3975: Unable to complete standalone payment. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CompleteStandalonePayment { """The completed standalone payment.""" payment: CompleteStandalonePaymentOutput } """Result of the complete standalone payment operation.""" type CompleteStandalonePaymentOutput { """The status of the standalone payment.""" status: PaymentIntentCompletionStatus! } type CompletedApproval { """The UUID of the completed approval.""" approvalUuid: UUID! } """ A list of components which comprise a screen. This is a legacy type; GenericBackendScreen should be preferred. This is because API clients should not need to explicitly query for screen attributes like `items` - these fields are embedded in the screenData field. """ type ComponentListType implements AccessibilityInterface & IdentifiableInterface & BackendScreenInterface { """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The name of the screen.""" name: String! """The refresh / polling frequency in milliseconds.""" refreshFrequency: Int """Serialized JSON representation of the screen.""" screenData: String """The list of components.""" items: [ItemType]! @deprecated(reason: "The 'items' field is deprecated. Access `items` via `screenData` instead. - Marked as deprecated on 2024-07-02. - Scheduled for removal on or after 2024-08-01.") } type ConcessionAlreadyExistsErrorType implements GenericErrorInterface { message: String! """The number of the existing concession card.""" existingCardNumber: String """The type of the existing concession card.""" existingCardType: ConcessionCardType } type ConcessionCardApplicablePeriodType { id: ID! fromDate: Date! toDate: Date } type ConcessionCardApplicableRegionType { """The card type.""" cardType: ConcessionCardType """Readable description for the card type.""" cardLabel: String } type ConcessionCardValidationType { id: ID! validatedAt: Date! isCardValid: Boolean! validationDt: DateTime failureCode: String failureReason: String notes: String method: String } type ConcessionType { id: ID! number: String cardIssueDate: Date cardExpiryDate: Date isCurrent: Boolean removalDate: Date nextValidationDate: Date applicablePeriods: [ConcessionCardApplicablePeriodType] cardType: ConcessionCardType """Readable description for the card type. NOTE: Do not rely on this field for string matching.""" cardLabel: String concessionValidations: [ConcessionCardValidationType] isCardValid: Boolean } """ Confirm a requested consent. This mutation will update the value of the consent associated with the provided token to ACCEPTED. The possible errors that can be raised are: - KT-CT-9016: Consent management not enabled. - KT-CT-9020: Invalid consent expiring token. - KT-CT-9021: Consent expiring token not found. - KT-CT-9022: Consent for given token already accepted. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ConfirmDoubleOptIn { """The consent that was created or updated.""" consent: ConsentType } """ The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11815: Unable to connect a call to an AI agent. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ConnectAiAgentToCall { """The call the AI agent was connected to.""" call: InboundCallType } type ConsentOutput { """The code of the consent type.""" code: String """The value to update the consent to.""" value: String } """A consent given by a signing identity for a consent type.""" type ConsentType { """id of the consent.""" id: BigInt! """Unique code given to this consent type.""" code: String! """Value of the consent.""" value: ConsentValue! """The type of the consent.""" type: ConsentTypeType } """A type of consent that a signing identity can accept or reject to.""" type ConsentTypeType { """Unique code given to this consent type.""" code: String! """Description of the consent type.""" description: String! """Name of the consent type.""" name: String! """Default value of the consent type.""" defaultValue: ConsentValue! } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type ConstituentConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ConstituentEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Constituent` and its cursor.""" type ConstituentEdge { """The item at the end of the edge""" node: ConstituentInterface """A cursor for use in pagination""" cursor: String! } type Consumption { """Start date of the consumption period.""" startDate: Date """End date of the consumption period.""" endDate: Date """Amount of energy or resource consumed.""" quantity: Decimal unit: ConsumptionUnit """Cost for the consumption usage in minor currency units.""" usageCost: Int """Supply charge amount in minor currency units.""" supplyCharge: Int } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type ConsumptionBreakdownConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ConsumptionBreakdownConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ConsumptionBreakdownConnectionType` and its cursor.""" type ConsumptionBreakdownConnectionTypeEdge { """The item at the end of the edge""" node: ConsumptionBreakdownType """A cursor for use in pagination""" cursor: String! } type ConsumptionBreakdownType { """Name of the market the charges are for.""" marketName: String """Charges grouped per displayed period.""" charges(before: String, after: String, first: Int, last: Int): ChargesBreakdownConnectionTypeConnection } """Pagination for energy consumption readings.""" type ConsumptionConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ConsumptionEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Consumption` and its cursor.""" type ConsumptionEdge { """The item at the end of the edge""" node: ConsumptionType """A cursor for use in pagination""" cursor: String! } type ConsumptionSplitType { """Specific time slot within the TOU scheme (e.g. PEAK, OFFPEAK, SHOULDER).""" timeSlot: String """Percentage split for this TOU time slot.""" splitPercentage: Decimal } """Energy consumption between two points in time.""" type ConsumptionType { value: Decimal startAt: DateTime endAt: DateTime } """A legally binding relationship agreed with a subject (e.g. an account).""" type Contract { """Unique identifier for the contract.""" identifier: NonEmptyString """Title of the contract.""" title: String """The party (Account or Business) that entered into this contract.""" party: ContractParty """The accounts impacted by this contract.""" subject: [AccountType] """The status of the contract.""" status: ContractStatus """Date from which the contract is valid.""" validFrom: DateTime """Date until which the contract is valid, null if the contract is rolling.""" validTo: DateTime """Date when the contract was signed.""" signedAt: DateTime """Date when the contract was cancelled, null if not cancelled.""" cancelledAt: DateTime """Date when the contract was rescinded, null if not rescinded.""" rescindedAt: DateTime """The current version information for this contract.""" lifecycle: ContractVersion """Notes associated with this contract.""" notes: [ContractNoteType] """The terms of the contract.""" terms: [TermInterface] } """Represents a version of a contract with its effective date.""" type ContractCreationContext { """The requested validity period for the associated contract.""" requestedValidityPeriod: ValidityPeriod """The confirmed validity period for the associated contract.""" confirmedValidityPeriod: ValidityPeriod } """Represents a Contract Creation Journey.""" type ContractCreationJourneyType implements ContractJourneyInterface { """The number of the contract journey.""" number: NonEmptyString! """The status of the contract journey.""" status: ContractJourneyStatus """The details of the associated contract.""" contractDetails: ContractDetails """The type of the contract journey.""" journeyType: ContractJourneyType """The date and time when the contract journey was requested.""" requestedAt: DateTime """The order reference associated with the contract journey.""" orderReference: String """Notes associated with this contract journey.""" notes: [ContractNoteType] """The context data for the contract creation journey.""" context: ContractCreationContext } """Details of a contract excluding terms.""" type ContractDetails { """Unique identifier for the contract.""" identifier: NonEmptyString """Title of the contract.""" title: String """The party (Account or Business) that entered into this contract.""" party: ContractParty """The accounts impacted by this contract.""" subject: [AccountType] """The status of the contract.""" status: ContractStatus """Date from which the contract is valid.""" validFrom: DateTime """Date until which the contract is valid, null if the contract is rolling.""" validTo: DateTime """Date when the contract was signed.""" signedAt: DateTime """Date when the contract was cancelled, null if not cancelled.""" cancelledAt: DateTime """Date when the contract was rescinded, null if not rescinded.""" rescindedAt: DateTime """The current version information for this contract.""" lifecycle: ContractVersion """Notes associated with this contract.""" notes: [ContractNoteType] } """Represents additional metadata for a contract term.""" type ContractMetaDataType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The additional metadata of the contract.""" metadata: JSONString } """A reason that can be associated with a contract note.""" type ContractNoteReasonType { """Unique slug identifier for this reason.""" slug: String """Human-readable description of this reason.""" description: String """The contract activity types this reason applies to.""" activityTypes: [ContractActivityTypeOptions] } """A note associated with a contract or contract journey.""" type ContractNoteType { """The reason associated with this note.""" reason: ContractNoteReasonType """The content of the note.""" note: String """The contract activity type this note is associated with.""" activityType: ContractActivityTypeOptions """When the note was created.""" createdAt: DateTime } """Represents a version of a contract with its effective date.""" type ContractVersion { """The reference number for this contract version.""" versionReference: Int """The date from which this version of the contract becomes effective.""" effectiveFrom: DateTime } type ContractedVolumeConfigurationType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The periods for the contracted volume configuration.""" periods: [ContractedVolumePeriodType] } type ContractedVolumePeriodType { """The decimal value of the quantity provided by the contracted volume.""" value: Decimal """The unit for the commodity provided by the contracted volume.""" unit: String """The market name the contracted volume applies to.""" marketName: String """The datetime the period the contracted volume is valid from.""" validFrom: DateTime """The datetime the period the contracted volume is valid to.""" validTo: DateTime } """A single Contribution Agreement.""" type ContributionAgreementType { id: ID! """The scheme to which the agreement contributes.""" contributionScheme: ContributionSchemeType """The frequency of contributions.""" interval: Interval """The start datetime of the agreement.""" activeFrom: DateTime """The end datetime of the agreement, if any.""" activeTo: DateTime """The amount contributed per interval. Note, this is in the smallest domination that the currecy support. e.g. Pence, Cents, Yen, etc.""" amount: Int """The periods over which contributions have been made.""" periods(before: String, after: String, first: Int, last: Int): ContributionPeriodConnection } """A component representing contribution items.""" type ContributionItemType { """The scheme name of the contribution.""" scheme: String! """The amount charged for this item in cents (incl. tax).""" grossAmount: BigInt! """The amount charged for this item in cents (excl. tax).""" netAmount: BigInt! """The amount charged for the tax component of this item.""" salesTaxAmount: BigInt } """Pagination for contribution periods.""" type ContributionPeriodConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ContributionPeriodEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ContributionPeriod` and its cursor.""" type ContributionPeriodEdge { """The item at the end of the edge""" node: ContributionPeriodType """A cursor for use in pagination""" cursor: String! } """A single Contribution Period.""" type ContributionPeriodType { id: ID! """When the contribution was fulfilled""" fulfilledAt: DateTime agreement: ContributionAgreementType! """The datetime the marks the beginning of the period.""" periodFrom: DateTime """The datetime the marks the end of the period.""" periodTo: DateTime } """A single Contribution Scheme.""" type ContributionSchemeType { id: ID! code: String! displayName: String! """Are contributions to this scheme taxable?""" taxable: Boolean! """Is this scheme currently accepting contributions?""" acceptingContributions: Boolean! } type CoordinatesType { latitude: Float longitude: Float } type CoreSiteworksRequestConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [CoreSiteworksRequestConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `CoreSiteworksRequestConnectionType` and its cursor.""" type CoreSiteworksRequestConnectionTypeEdge { """The item at the end of the edge""" node: CoreSiteworksRequestType """A cursor for use in pagination""" cursor: String! } """A Siteworks Request""" type CoreSiteworksRequestType { id: UUID! status: String! reason: String! createdAt: DateTime! """When the request status was last updated.""" lastStatusUpdateAt: DateTime! """List of supply points on request.""" marketSupplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection } """GraphQL output type for a per-market CorrectivePeriod configuration.""" type CorrectivePeriodMarketConfigType { """The market this corrective period configuration applies to.""" marketName: String """Supply point IDs this config applies to. NULL means all supply points in this market.""" supplyPointIds: [BigInt] """The length of the corrective period window.""" length: Int """The unit of time for the corrective period length.""" lengthUnit: String } """GraphQL output type for the CorrectivePeriod term.""" type CorrectivePeriodType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """Per-market corrective period configurations.""" marketConfigs: [CorrectivePeriodMarketConfigType] } type CostEstimation { """Total standing charge cost.""" standingCharge: Decimal """Estimated controlled load cost (CL1 + CL2 combined). When the CL1/CL2 split is available this equals the sum of the split cost fields, each of which is GST-rounded independently.""" estimatedControlledLoadCost: Int """Estimated controlled load standing charge (CL1 + CL2 combined). When the CL1/CL2 split is available this equals the sum of the split standing charge fields, each of which is GST-rounded independently.""" estimatedControlledLoadStandingCharge: Int """Estimated Controlled Load 1 cost. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.""" estimatedControlledLoad1Cost: Int """Estimated Controlled Load 1 standing charge. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.""" estimatedControlledLoad1StandingCharge: Int """Estimated Controlled Load 2 cost. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.""" estimatedControlledLoad2Cost: Int """Estimated Controlled Load 2 standing charge. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.""" estimatedControlledLoad2StandingCharge: Int """Estimated new plan with export costs.""" estimatedNewPlanWithExportCost: Int """Total cost estimate for a new plan.""" estimatedNewPlanCost: Int """Standard usage cost estimate for a new plan.""" estimatedStandardCost: Int """Standard standing charge for a new plan.""" estimatedStandingCharge: Int """Export cost estimate for a new plan.""" estimatedExportCost: Int """Export standing charge for a new plan.""" estimatedExportStandingCharge: Int } type CouldNotStartWorkflowErrorType implements GenericErrorInterface { message: String! } """ Mutation to create a new APICall instance. The possible errors that can be raised are: - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAPICall { """The created APICall.""" apiCall: APICallType } """ Mutation to create a new APIException instance. The possible errors that can be raised are: - KT-CT-7801: Received an invalid operationsTeamId. - KT-CT-7802: The external identifier already exists. - KT-CT-7805: Too many tags associated with this API Exception. - KT-CT-7806: Cannot create duplicate tags for the same API exception. - KT-CT-7811: Received an invalid assignedUserId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAPIException { """The created APIException.""" apiException: APIExceptionType } """ Mutation to create a new APIExceptionEvent instance. The possible errors that can be raised are: - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAPIExceptionEvent { """The created APIExceptionEvent.""" apiExceptionEvent: APIExceptionEventType } """ Mutation to create a new APIExceptionNote instance. The possible errors that can be raised are: - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAPIExceptionNote { """The created APIExceptionNote.""" apiException: APIExceptionType } """ Add charges to an account. The possible errors that can be raised are: - KT-CT-5211: The charge reason with the requested code is deprecated. - KT-CT-5212: The charge reason with the requested code does not exist. - KT-CT-5213: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAccountCharge { accountCharge: AccountChargeType } """ Add a note to an account, identified by account number or supply point. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4180: Account note must be a valid string. - KT-AU-4110: Either accountNumber or both supplyPointIdentifier and marketName must be provided. - KT-AU-4111: No account found for the given supply point. - KT-CT-4196: Unpin at date provided is in the past. - KT-CT-4195: Unpin at date provided for an unpinned note. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAccountNote { """Account, which has the added note.""" account: AccountType """The created account note.""" note: AccountNoteType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Replace an existing payment schedule with a new one that updates either the payment amount or payment day. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3815: No active payment schedule found for this account. - KT-CT-3822: Unauthorized. - KT-CT-3923: Unauthorized. - KT-CT-3941: Invalid data. - KT-CT-3942: An unexpected error occurred. - KT-CT-3947: An unexpected error occurred. - KT-CT-3960: Invalid value for payment day. - KT-CT-3961: Cannot update plan-associated payment schedule. - KT-CT-3962: No new value provided to update payment schedule. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAccountPaymentSchedule { """New payment schedule.""" schedule: PaymentScheduleType! } """ Create an account reference. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-8310: Invalid data. - KT-CT-8311: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAccountReference { accountReference: AccountReferenceType } """ Create an account reminder. The possible errors that can be raised are: - KT-CT-1401: Invalid data. - KT-CT-1402: Unable to create account reminder. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAccountReminder { """Account reminder.""" accountReminder: AccountReminder } """ Create a new account user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAccountUser { """The account user.""" accountUser: AccountUserType } """ Create an affiliate link for a new sales agent. The possible errors that can be raised are: - KT-CT-7711: Invalid data. - KT-CT-7713: Invalid data. - KT-CT-7714: Invalid data. - KT-CT-7715: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAffiliateLink { """The created affiliate link.""" affiliateLink: AffiliateLinkType } """ Create an affiliate organisation. The possible errors that can be raised are: - KT-CT-7716: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAffiliateOrganisation { """The created affiliate organisation.""" affiliateOrganisation: AffiliateOrganisationType } """ Create a session for an affiliate link. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAffiliateSession { """The created affiliate session.""" affiliateSession: AffiliateSessionType } """ Create a new agreement. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-4910: No product exists with the given input. - KT-CT-1503: Agreement valid_to date must be later than valid_from date. - KT-CT-1509: Unable to create agreement. - KT-CT-1511: Cannot create overlapping agreement. - KT-CT-1512: Account type does not support agreements. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAgreement { """The created agreement.""" agreement: CommonAgreementType } """ Create an agreement rollover for a specific account and agreement. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-4910: No product exists with the given input. - KT-CT-4924: Unauthorized. - KT-CT-13701: An active agreement rollover already exists for this agreement. - KT-CT-13702: Expected send date cannot be in the past. - KT-CT-13703: Rollover date cannot be in the past. - KT-CT-13704: Unable to create agreement rollover. - KT-CT-13708: Agreement rollover validation error. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAgreementRollover { """The new agreement rollover.""" agreementRollover: AgreementRolloverType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Create an audio recording for an affiliate session. The possible errors that can be raised are: - KT-CT-7720: Invalid S3 key format. - KT-CT-7721: Link not found. - KT-CT-7722: Invalid input for audio recording upload. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateAudioRecording { """The created audio recording.""" audioRecording: AudioRecordingType } """ Create a business. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11108: Invalid data. - KT-CT-11109: Invalid data. - KT-CT-11110: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateBusiness { """The created business.""" business: BusinessType } """ The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11806: Call metadata item key cannot be an empty string. - KT-CT-11807: A call metadata item with this key already exists for this call. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateCallMetadata { """The call metadata was attached to.""" call: CallInterface } """ The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11501: Voice campaign not found. - KT-CT-11503: One or more campaign items are invalid and cannot be created. - KT-CT-11504: The batch of campaign items is too large. - KT-CT-11506: Invalid campaign ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateCampaignItems { campaignItems: [VoiceCampaignItemType] """The identifier for this batch of items to assist in tracking and logging.""" batchIdentifier: String } """ Initiate a request to create a new Centrepay Deduction for an account. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3923: Unauthorized. - KT-AU-3913: Centrepay Deduction valid_from date cannot be before today. - KT-AU-3914: Centrepay Deduction valid_to date must be later than today. - KT-AU-3915: Centrepay Deduction valid_to date must be later than valid_from date. - KT-AU-3916: Centrepay Deduction amount must be greater than $10.00. - KT-AU-3920: Cannot provide both validTo and targetAmount values. - KT-AU-3912: Cannot create a Centrepay Deduction with these details. - KT-AU-3930: Centrepay Deduction amount cannot be greater than Target Amount. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateCentrepayDeduction { """Details of resulting request to add a Centrepay Deduction.""" centrepayDeduction: CentrepayDeductionType! } """ Create a collection process event to track significant events such as reactivations and errors. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateCollectionProcessEvent { """The created collection process event.""" collectionProcessEvent: CollectionProcessEventOutputType } """ Create a complaint. The possible errors that can be raised are: - KT-CT-10801: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateComplaint { """The complaint that has been created.""" complaint: ComplaintType } """ The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateConcession { concession: ConcessionType error: ConcessionCreationErrorUnion } """Output type for creating a contract.""" type CreateContractOutput { """Unique identifier for the created contract.""" identifier: NonEmptyString """Indicates whether a new contract was created (True) or an existing contract was matched (False). When False, the mutation is idempotent and returns the existing contract that matches the provided parameters.""" wasCreated: Boolean! } """ Create a contribution agreement for an account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-9601: Invalid data. - KT-CT-9602: Unable to create contribution agreement. - KT-CT-9605: Contribution amount cannot be 0 or negative. - KT-CT-9606: Scheme is not accepting contributions at this time. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateContributionAgreement { """The created contribution agreement.""" contributionAgreement: ContributionAgreementType } """ Create a credit transfer permission. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3827: The ledger is not valid. - KT-CT-3828: At least one of the provided ledgers must be a credit storage ledger. - KT-CT-3829: The credit transfer permission already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateCreditTransferPermission { """Datetime when the credit transfer permission is valid.""" validFrom: DateTime } """ Create unsubmitted customer feedback object. The possible errors that can be raised are: - KT-CT-5516: Invalid data. - KT-CT-1111: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateCustomerFeedback { """The created customer feedback object.""" customerFeedback: CustomerFeedbackType } """ Create electricity self meter reads. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type CreateCustomerSelfMeterReads { """Electricity readings generated from input.""" readings: [ElectricityAccumulationMeterReadingType] """Error types associated to handled errors during electricity reading generation.""" error: ReadingValidationSaveErrorUnion } """ Create a new deposit agreement for the account if it needs one. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateDepositAgreement { depositAgreement: CreateDepositAgreementOutput } type CreateDepositAgreementOutput { depositRequired: Boolean depositAmount: Int } """ Create new direct debit instruction This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3940: Invalid data. - KT-CT-3923: Unauthorized. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateDirectDebitInstruction { directDebitInstruction: DirectDebitInstructionType } """ Mutation to create an electricity quote for a different nmi for a related account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateElectricityQuote { """The quote created.""" quote: QuoteType """The meter point created (if the nmi is available).""" meterPoint: MeterPointType } """ Create an external account event. The possible errors that can be raised are: - KT-CT-7123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateExternalAccountEvent { """The new event data.""" event: ExternalAccountEvent """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Create an external account user event. The possible errors that can be raised are: - KT-CT-7123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateExternalAccountUserEvent { """The new event data.""" event: ExternalAccountUserEvent } """ Create an external message to record communications sent by external vendors. This allows you to import messages, such as emails, sent using other tools into Kraken. The possible errors that can be raised are: - KT-CT-14201: Vendor is empty. - KT-CT-14202: Vendor message ID is empty. - KT-CT-14203: Account number is empty. - KT-CT-14204: Message already exists. - KT-CT-14205: Unable to create the external message. - KT-CT-14206: An email body is missing. - KT-CT-14207: To email is empty. - KT-CT-14208: To email is not a valid email address. - KT-CT-14209: From email is empty. - KT-CT-14210: From email is an invalid format. - KT-CT-14211: A reply to email address is empty. - KT-CT-14212: A reply to email address is not a valid email address. - KT-CT-14214: An account number was provided, but no corresponding account could be found. - KT-CT-14215: Sent at datetime is in the future. - KT-CT-14216: Sent at datetime is missing timezone. - KT-CT-14219: Exactly one of emailContent or smsContent must be provided. - KT-CT-14220: SMS body is empty. - KT-CT-14221: To phone number is empty. - KT-CT-14222: From phone number is empty. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateExternalMessage { """The external message that was created.""" externalMessage: ExternalMessageType } """ Create a message event for an external message. This records a lifecycle event, such as a delivery confirmation, failure, or recipient interaction, for a message previously created via createExternalMessage. The possible errors that can be raised are: - KT-CT-14217: Message not found. - KT-CT-14218: Invalid event data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateExternalMessageEvent { """The external message event that was created.""" externalMessageEvent: ExternalMessageEventType } """ Creates an account event if the account has users with family issues and the trigger's audit trail confirms a life support comm was suppressed due to family issues. Returns the created event, or null if conditions were not met. The possible errors that can be raised are: - KT-CT-9904: Trigger not found. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateFamilyIssuesSuppressedCommAccountEvent { """The account event created if conditions were met, otherwise null.""" event: CustomEventType } """ Create a fixed payment schedule for the authenticated user. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateFixedPaymentSchedule { """The payment schedule created.""" paymentSchedule: PaymentScheduleType error: FixedPaymentScheduleErrorUnion } """ Mutation to create a gas quote for a property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateGasQuote { quoteRequest: QuoteRequestType error: CreateGasQuoteErrorUnion } """ Create gas self meter reads. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type CreateGasSelfMeterReads { """Gas readings generated from input.""" readings: [GasMeterReadingType] """Error types associated to handled errors during gas reading generation.""" error: GasReadingValidationSaveErrorUnion } """ Create a new supply point along with a property and a gas meter point. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateGasSupplyPoint { gasSupplyPoint: GasSupplyPointType error: CreateGasSupplyPointErrorUnion } """ Create a goods purchase. The possible errors that can be raised are: - KT-CT-8206: Invalid data. - KT-CT-1131: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateGoodsPurchase { """Goods purchase created.""" goodsPurchase: GoodsPurchase } """ Create a goods quote. The possible errors that can be raised are: - KT-CT-8202: Invalid data. - KT-CT-8205: Unable to create quote. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateGoodsQuote { """Goods quote created for the customer.""" goodsQuote: GoodsQuote } """ Create a goods quote without an account. The possible errors that can be raised are: - KT-CT-8202: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateGoodsQuoteWithoutAccount { """Goods quote created for the customer.""" goodsQuote: GoodsQuote } """ Create a new hardship agreement for an account. The possible errors that can be raised are: - KT-CT-11612: Overlapping hardship agreement exists. - KT-CT-12901: Account not found. - KT-CT-10950: Invalid date range. - KT-CT-1113: Disabled GraphQL field requested. """ type CreateHardshipAgreement { """The created hardship agreement ID.""" newHardshipAgreement: HardshipAgreementType } """ The possible errors that can be raised are: - KT-CT-11805: Invalid input for creating an inbound call. - KT-CT-11810: Caller is blocked. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateInboundCall { """The call that was created.""" call: InboundCallType } """ Register an Ink inbound message. The possible errors that can be raised are: - KT-CT-7622: Attachment bucket is invalid. - KT-CT-7623: Attachment path is invalid. - KT-CT-7621: Attachment not found. - KT-CT-7618: Unable to process message. - KT-CT-7625: Invalid email address. - KT-CT-7630: Message with this message ID has already been processed. - KT-CT-7632: The text content of the Ink Inbound Generic Message is too long. - KT-CT-7620: Channel not supported. - KT-CT-7627: The 'email' object is missing from the payload. - KT-CT-7628: The 'generic' object is missing from the payload. - KT-CT-7629: The 'post' object is missing from the payload. - KT-CT-7653: Account numbers on the message and message type must match if both are supplied. - KT-CT-7654: An account number was provided, but no corresponding account could be found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateInkInboundMessage { """The Ink message that was created.""" message: InkMessage! """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ The possible errors that can be raised are: - KT-CT-7616: Not yet implemented. - KT-CT-1111: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-7642: No account user was found for the given fromHandle. - KT-CT-7641: Live Chat message with this message ID has already been processed. - KT-CT-7645: The user is not authorized to access this Live Chat. - KT-CT-7622: Attachment bucket is invalid. - KT-CT-7623: Attachment path is invalid. - KT-CT-7621: Attachment not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateInkLiveChatMessage { """The live chat conversation.""" liveChatConversation: InkLiveChatConversation """The ID of the Ink Live Chat message that was created.""" messageRelayId: String! } """ Create a new internal company. The possible errors that can be raised are: - KT-CT-14402: Duplicated internal company. - KT-CT-14403: Invalid address. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateInternalCompany { """The result of the create internal company operation.""" internalCompany: CreateInternalCompanyResultType } """The result of the create internal company mutation.""" type CreateInternalCompanyResultType { """The ID of the internal company that was created.""" id: ID! } """ Create a lead with the provided details. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-8930: Unable to parse address. - KT-CT-8928: The funnel is not active and cannot be used to create this entity. - KT-CT-8902: Unable to create lead. - KT-CT-8919: Funnel initial stage not set. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8939: Extra detail value is required. - KT-CT-9017: Consent type not found. - KT-CT-8932: Lead contact details missing account holder. - KT-CT-8934: Lead contact details missing account representative. - KT-CT-8940: Lead contact role already exists. - KT-CT-8941: Invalid language preference code. - KT-CT-8935: National ID bad input. - KT-CT-4121: Invalid phone number. - KT-CT-8956: Conflicting address inputs. - KT-CT-8958: A lead contact must have at least one role. - KT-CT-8960: A lead already exists for this contact. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateLead { """The unique number of the lead.""" leadNumber: String } """ Create metadata on an object. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-4124: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6637: Unauthorized. - KT-CT-8411: Invalid data. - KT-CT-4323: Unauthorized. - KT-CT-8412: Invalid data. - KT-CT-8414: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateMetadata { metadata: Metadata } """ Create a Meter Data Issue Flow for a given Issue ID and Flow ID. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13801: A meter data issue flow already exists for this issue and flow. - KT-CT-13802: Meter data issue not found. - KT-CT-13803: An active flow already exists for this issue. - KT-CT-13806: Invalid market name provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateMeterDataIssueFlow { """Whether the meter data issue flow was successfully created.""" meterDataIssueFlowCreated: CreateMeterDataIssueFlowOutputType } """Output for creating a MeterDataIssueFlow.""" type CreateMeterDataIssueFlowOutputType { """The ID of the MeterDataIssue.""" issueId: Int """The current status of the flow.""" status: MeterDataIssueFlowStatus } """ Create a multi-factor authentication (MFA) device for a user. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-1151: MFA device not found. - KT-CT-1153: Unable to create MFA device. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateMfaDevice { """Email address to send the MFA code by default.""" deviceEmail: String """Phone number to send the MFA code by default.""" devicePhone: String """Secret to setup Time-based One-Time Passwords (TOTP) in your authenticator or password manager manually.""" totpSecret: String } """ Create a new agreement from an existing product switch process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4924: Unauthorized. - KT-CT-1509: Unable to create agreement. - KT-CT-1516: Requested product switch is not valid. - KT-CT-1507: Agreement product switch date is not within the acceptable range. - KT-CT-4626: No product selected for the given quote code. - KT-CT-1510: Product switch process not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreateNewAgreementFromProductSwitchProcess { """The new agreement created.""" agreement: CommonAgreementType } """ Create a quoting offer group. The possible errors that can be raised are: - KT-CT-12401: Unable to create offer group. - KT-CT-12405: Missing rates for quoting. - KT-CT-12406: Product not configured correctly for quoting. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateOfferGroupForQuoting { """Quoting Offer Group.""" offerGroup: CreateOfferGroupType } type CreateOfferGroupType { """Identifier of the Offer Group.""" identifier: ID """One or more Offers contained in the Offer Group.""" offers: [OfferType] } """ Create a Request. The possible errors that can be raised are: - KT-CT-13002: Supply point not found. - KT-CT-13003: Supply points must belong to the same account. - KT-CT-13004: No account found for the given supply points. - KT-CT-13006: No properties found for the given supply points. - KT-CT-13028: Agent not found. - KT-CT-13010: No booking adapter found for agent. - KT-CT-13007: At least one of the request checks failed. - KT-CT-13008: At least one of the request checks has warnings. - KT-CT-13009: On site jobs Request already exists. - KT-CT-13012: Viewer is not allowed to create a request. - KT-CT-13013: Reporter post init error. - KT-CT-13014: Request reason is not supported. - KT-CT-13015: Request sub_reason is not supported. - KT-CT-13041: User is not allowed to override request/appointment checks. - KT-CT-13042: Multiple supply points not supported by this booking adapter. - KT-CT-13045: Failed to update appointment assets. - KT-CT-13047: Multiple supply points found. - KT-CT-13048: Cannot provide both supply_point_identifier_to_market_name_mapping and supply_point_internal_ids. - KT-CT-13049: Neither supply_point_identifier_to_market_name_mapping nor supply_point_internal_ids provided. - KT-CT-13050: Cannot provide both supply_point_identifier_to_market_name_mapping and supply_point_internal_id when creating assets. - KT-CT-13051: Supply point not found when creating assets. - KT-CT-13052: Multiple supply points found when creating assets. - KT-CT-13063: Failed to derive property for the given supply points. - KT-CT-13064: Provided supply point(s) not supported by the On-Site Jobs market manager. - KT-CT-13066: Request reason is deprecated. - KT-CT-13067: Provided sub-reason for request is invalid. - KT-CT-13068: Property required for this request. - KT-CT-13069: Account required for this request. - KT-CT-13070: Provided status for request is invalid. - KT-CT-13071: Provided reason for request is invalid. - KT-CT-13078: Account users cannot set external references on requests. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateOnSiteJobsRequest { """The created request.""" onSiteJobsRequest: OnSiteJobsRequestType } """ Create an opportunity and lead with the provided details. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-8919: Funnel initial stage not set. - KT-CT-8930: Unable to parse address. - KT-CT-8907: Lead not found. - KT-CT-8901: Unable to create lead. - KT-CT-8902: Unable to create lead. - KT-CT-8935: National ID bad input. - KT-CT-4121: Invalid phone number. - KT-CT-8931: Extra detail value is invalid. - KT-CT-9017: Consent type not found. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8936: Only one address is required to create an opportunity. - KT-CT-8937: One or more Supply Points cannot be validated. - KT-CT-8946: A team must also be provided when assigning a user. - KT-CT-8947: The team you specified was not found. - KT-CT-8948: The user you specified was not found. - KT-CT-8949: The selected team does not belong to the specified partner. - KT-CT-8950: The selected user does not belong to the specified partner. - KT-CT-8951: The selected user is not a member of the specified team. - KT-CT-8956: Conflicting address inputs. - KT-CT-8958: A lead contact must have at least one role. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateOpportunityAndLead { """The unique number of the opportunity.""" opportunityNumber: String """The date the opportunity was created.""" dateOfCreation: DateTime """The stage of the opportunity.""" stage: String """The code of the funnel.""" funnelCode: String } """ Creates an Opportunity File Attachment. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateOpportunityFileAttachment { """Whether the operation was successful.""" result: String } """ Create an opportunity for a lead with the provided details. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-8919: Funnel initial stage not set. - KT-CT-8907: Lead not found. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8924: Unable to create opportunity. - KT-CT-8925: Unable to create opportunity. - KT-CT-8926: Unable to create opportunity. - KT-CT-8928: The funnel is not active and cannot be used to create this entity. - KT-CT-8930: Unable to parse address. - KT-CT-8936: Only one address is required to create an opportunity. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8937: One or more Supply Points cannot be validated. - KT-CT-8946: A team must also be provided when assigning a user. - KT-CT-8947: The team you specified was not found. - KT-CT-8948: The user you specified was not found. - KT-CT-8949: The selected team does not belong to the specified partner. - KT-CT-8950: The selected user does not belong to the specified partner. - KT-CT-8951: The selected user is not a member of the specified team. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateOpportunityForLead { """The unique number of the opportunity.""" opportunityNumber: String """The date the opportunity was created.""" dateOfCreation: DateTime } """ Create a Loyalty Card for the given account user. The possible errors that can be raised are: - KT-CT-5412: No account user exists with the given id. - KT-CT-8610: Invalid data. - KT-CT-8611: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateOrUpdateLoyaltyCardMutation { """Created or updated loyalty card.""" loyaltyCard: LoyaltyCardType } """ Summary information on the time series and associated variants once the creation and update operations have been completed. """ type CreateOrUpdateTimeSeriesEntries { """The time series code.""" code: String! """The product code associated to the time series.""" productCode: String """The time series display name.""" name: String! """The time series description.""" description: String """The time series unit value.""" unit: String! """The time series period size value.""" periodSize: String! """The time series meta information.""" meta: JSONString """The existing time series variants based on the prices created.""" variants: [VariantProfile!]! } """ Create a partner user and assign them to a partner team. The possible errors that can be raised are: - KT-CT-7725: Unauthorized. - KT-CT-7726: Unauthorized. - KT-CT-7727: Invalid email address. - KT-CT-7728: Unable to create partner user. - KT-CT-13501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePartnerUser { """The created partner user.""" partnerUser: PartnerUserType } """ Create a new payment action intent. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3980: Invalid ledger identifier. - KT-CT-3981: Unauthorized. - KT-CT-3982: Unauthorized. - KT-CT-3995: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePaymentActionIntent { """The action intent token.""" token: ID! } """ Creates payment extension according to the received options. Taken action would be one of the following: - if payment instruction is _NOT_ supplied and the account is on a manual payment, sets up one or two payment promise(s) - if payment instruction is _NOT_ supplied and the account is on an scheduled payment (direct debit/card), creates payment holiday - if payment instruction is supplied, sets up payment schedules for one or two instalment(s) A payment promise applies to an account that does not have automatic payments. It records that a customer has told us they'll pay an amount by an agreed-upon date. Payment Holiday means that when a customer is on a scheduled payment, the payments will not come out from customer's bank account for the period indicated. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-1113: Disabled GraphQL field requested. """ type CreatePaymentExtension { paymentExtension: PaymentExtensionUnionType } """ Create a new payment method action intent. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3971: Instruction owners are not valid. - KT-CT-3980: Invalid ledger identifier. - KT-CT-3981: Unauthorized. - KT-CT-3982: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePaymentMethodActionIntent { """The action intent token.""" token: ID! } """ Creates a new payment schedule This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePaymentSchedule { """The payment schedule created.""" paymentSchedule: PaymentScheduleType } """ Create a new portfolio. The possible errors that can be raised are: - KT-CT-9402: Received an invalid brandCode. - KT-CT-9401: Received an invalid operationsTeamId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePortfolio { """The created portfolio.""" portfolio: PortfolioType } """ Mutation to create a new portfolio user role. This will effectively link the user to the portfolio giving them all the permissions enabled for the specific role. The possible errors that can be raised are: - KT-CT-9403: Received an invalid portfolioId. - KT-CT-9404: Received an invalid accountUserId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePortfolioUserRole { """The created role for a user in association with a portfolio.""" portfolioUserRole: PortfolioUserRoleType } """ Create post delivery events from external vendors. The possible errors that can be raised are: - KT-CT-9907: Post events batch size exceeded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePostEvents { """Number of events successfully created.""" createdEventsCount: Int } """ Create a new primary residence for the given user and property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreatePrimaryResidence { primaryResidence: PrimaryResidenceType error: CreatePrimaryResidenceErrorUnion } """Output type for creating a product.""" type CreateProductOutput { """The created product.""" product: SupplyProductType } """ If the event is an update, and it is a "forced sync", then its isOverride flag should be set to True. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateProfileEventAndPublish { syncEvent: SyncEventType error: CreateUserProfileEventAndPublishErrorUnion } """ Create a quote for switching product. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. - KT-CT-4616: Unable to create a quote. - KT-CT-4631: Unable to quote for the chosen market. - KT-CT-4645: No supply point found belonging to the account for the provided identifier. - KT-CT-4924: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ type CreateQuoteForAccount { """Returns a quote request.""" quoteRequest: MarketSupplyQuoteRequestType } """ Mutation to create a quote for a property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateQuoteForProperty { """The error preventing a quote from being produced.""" error: CreateQuoteForPropertyErrorUnion """The QuoteRequest type field.""" quoteRequest: QuoteRequestType } """ Use a referral code to create a referral and trigger a referral reward. This is for customers to refer other customers so it only works with friend referrals and not partner referrals. This will try to find a user with given referral code as their personal referral code. If found, it will create an AccountReferral instance for the given account number. The possible errors that can be raised are: - KT-CT-6723: Unauthorized. - KT-CT-6710: Unable to create referral. - KT-CT-6711: Accounts may not self-refer. - KT-CT-6713: Referring and referred account brands do not match. - KT-CT-6712: Invalid reference. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateReferral { """The reward amount to be issued to the referred account, in smallest currency subunits.""" referredAccountRewardAmount: Int } """ Creates a new NTC override for the register under Meter point. The possible errors that can be raised are: - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-5611: Cannot find register with the provided ID. - KT-AU-5612: Error in creating the override. - KT-AU-5617: Override period falls outside the register's active period. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateRegisterNTCOverride { """The target meter point.""" meterPoint: MeterPointType } """ Create an account reminder. The possible errors that can be raised are: - KT-CT-1401: Invalid data. - KT-CT-1402: Unable to create account reminder. - KT-CT-1403: Missing user or team assignee. - KT-CT-1404: This reminder type is deprecated. - KT-CT-1405: Both user and team assignee provided. - KT-CT-1408: Missing account id. - KT-CT-1409: Missing business id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateReminder { """Account reminder.""" reminder: Reminder """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Create scheduled transactions. The possible errors that can be raised are: - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3830: Invalid action. - KT-CT-3831: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateScheduledTransactions { scheduledTransactions: [ScheduledTransactionType] } """ Create a shell account (a billable account with no property/energy supply). The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateShellAccountPayload { portfolioNumber: String givenName: String! familyName: String! billingName: String email: String! mobile: String landline: String brand: String dateOfBirth: Date billingAddressLine1: String billingAddressLine2: String billingAddressLine3: String billingAddressLine4: String billingAddressLine5: String billingPostcode: String """This must be a string-ified version of the JSON representation of RichAddressInput type.""" billingRichAddress: String """For fixed billing accounts only, the length of their billing period. Can be MONTHLY or QUARTERLY.""" billingPeriodLength: String """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.""" billingPeriodMultiplier: Int """Day to fixed bill on if billing_period_length set.""" billingPeriodDay: Int """Month to start billing from if billing_period_length set to QUARTERLY or the multiplier is > 1.""" billingPeriodMonth: Int isBusinessAccount: Boolean companyName: String companyNumber: String businessType: String taxNumber: String password: String passwordUpdateToken: String urn: String errors: [ErrorType] account: AccountInterface clientMutationId: String } """Time series information and existing variants based on the prices created.""" type CreateTimeSeriesPrices { """The time series code.""" code: String! """The product code associated to the time series.""" productCode: String """The time series display name.""" name: String! """The time series description.""" description: String """The time series unit value.""" unit: String! """The time series period size value.""" periodSize: String! """The time series meta information.""" meta: JSONString """The existing time series variants based on the prices created.""" variants: [VariantProfile!]! } """ Create a new alternative phone number for the user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type CreateUserAlternativeNumber { """List of alternative phone numbers for the account user.""" alternativePhoneNumbers: [String] """Potential error message for the mutation.""" error: AlternativeNumberErrorUnion } type CreateUserProfileEventAndPublishAccountNumberNotProvidedError implements GenericErrorInterface { message: String! } type CreateUserProfileEventAndPublishClientError implements GenericErrorInterface { message: String! } type CreateUserProfileEventAndPublishFinalBillNotFoundError implements GenericErrorInterface { message: String! } type CreateUserProfileEventAndPublishOtherValidationError implements GenericErrorInterface { message: String! } type CreateUserProfileEventAndPublishUserIdNotProvidedError implements GenericErrorInterface { message: String! } """A credit to the customer from the energy retailer.""" type Credit implements TransactionType { """Unique identifier for the transaction.""" id: ID """Date when the transaction was posted to the account.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """Unique identifier of the account the transaction belongs to.""" accountNumber: String """Gross amount including tax (when payable). Refer to the `amounts` field for a breakdown of this information.""" amount: Int """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.""" balanceCarriedForward: Int """Deprecated.""" isCredit: Boolean @deprecated(reason: "The 'isCredit' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountCharge: Boolean @deprecated(reason: "The 'isAccountCharge' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountPayment: Boolean @deprecated(reason: "The 'isAccountPayment' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.""" isHeld: Boolean """Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.""" isIssued: Boolean """Human-readable title describing the transaction.""" title: String """The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.""" billingDocumentIdentifier: ID """Returns None if a statement is not linked with the transaction.""" statementId: ID @deprecated(reason: "The 'statementId' field is deprecated. Use `billingDocumentIdentifier` instead. - Marked as deprecated on 2023-11-30. - Scheduled for removal on or after 2024-06-01.") isReversed: Boolean! """Returns True if the transaction is linked with a statement.""" hasStatement: Boolean """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } type CreditReasonType { """The credit reason code.""" code: String """The credit reason display text.""" display: String """Whether the credit reason is deprecated.""" isDeprecated: Boolean """Whether the credit reason is sales tax exempt.""" isTaxExempt: Boolean """Whether the credit reason is hidden.""" isHidden: Boolean """The group the credit reason belongs to (if applicable).""" group: String } type CreditTransferPermissionFromSourceLedgerType { """The number of the ledger linked to this permission.""" ledgerNumber: String """The number of the account linked to this permission.""" accountNumber: String """The datetime from which the permission is valid.""" validFrom: DateTime """The datetime to which the permission is valid.""" validTo: DateTime } type CreditTransferPermissionToTargetLedgerType { """The number of the ledger linked to this permission.""" ledgerNumber: String """The number of the account linked to this permission.""" accountNumber: String """The datetime from which the permission is valid.""" validFrom: DateTime """The datetime to which the permission is valid.""" validTo: DateTime } type CreditTransferPermissionsDataType { """Permissions for credit transfers when the ledger is the target.""" fromSourceLedgers: [CreditTransferPermissionFromSourceLedgerType] """Permissions for credit transfers when the ledger is the source.""" toTargetLedgers: [CreditTransferPermissionToTargetLedgerType] } type CurrentEligibilityStatusOutput { """The current eligibility status for a deposit return.""" isEligible: Boolean """The reasons why the account is currently ineligible for a deposit return.""" reasonsForIneligibility: [String] } type CustomEventType { occurredAt: DateTime! category: String! subcategory: String! content: JSONString account: String } """Customer asset type for GraphQL""" type CustomerAssetType { """Customer asset ID.""" id: ID """Physical device ID (e.g., VIN for a vehicle).""" physicalId: String """Asset name.""" name: String """Asset type.""" type: String """When the customer asset became active.""" activeFrom: DateTime """When device became inactive (null if active).""" activeTo: DateTime """Account number.""" accountNumber: String } """Paginator of Customer Feedback Form.""" type CustomerFeedbackFormConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [CustomerFeedbackFormConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `CustomerFeedbackFormConnectionType` and its cursor.""" type CustomerFeedbackFormConnectionTypeEdge { """The item at the end of the edge""" node: CustomerFeedbackFormType """A cursor for use in pagination""" cursor: String! } type CustomerFeedbackFormType { """The unique identifier for the customer feedback form.""" id: ID """The name of the customer feedback form.""" name: String } type CustomerFeedbackType { id: ID! """The value attached to the source""" rawScore: Int """The datetime the feedback was submitted""" submittedAt: DateTime } type DCAProceedingClosureStatus { """The account number.""" accountNumber: String! """The ledger identifier.""" ledgerNumber: String } type DCAProceedingCommencementStatus { """Whether the commencement could be applied.""" commencementStatus: Boolean! """The account number.""" accountNumber: String! """The ledger identifier.""" ledgerNumber: String """The agency.""" agency: String! """The campaign.""" campaign: String! } type DCAProceedingUpdateStatus { """Whether the update has been applied.""" commencementStatus: Boolean! """The account number.""" accountNumber: String! } """ Meter readings grouped by the date on which they occurred. Interval readings which occur on the same date are summed. Accumulation readings do not occur the same date. """ type DailyElectricityMeterReadingType { """The date of the meter reading.""" date: Date! """The register_id associated with the reading.""" registerId: String! """The value of the meter reading.""" value: Decimal! } """A list of components which comprise a dashboard screen.""" type Dashboard implements IdentifiableInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The list of sections for a dashboard.""" dashboardItems: [SectionType]! """The serialised dashboard items.""" serialisedDashboardItems: String! } type DebtCollectionAgencyType { name: String! code: String! isActive: Boolean! } type DebtCollectionCampaignType { code: String! displayName: String! deprecatedAt: DateTime requiresFieldVisit: Boolean! } type DebtCollectionProceedingType { """The campaign type of the collection proceedings.""" campaign: CollectionCampaignType @deprecated(reason: "The 'campaign' field is deprecated. Use `collectionCampaign` instead - Marked as deprecated on 2025-03-20. - Scheduled for removal on or after 2025-04-30.") amount: Int startedAt: DateTime! stoppedAt: DateTime stopReason: DebtCollectionProceedingStopReason """The agency responsible for the collection proceedings.""" agency: DebtCollectionAgencyType """The campaign type of the collection proceedings.""" collectionCampaign: DebtCollectionCampaignType } """Graphene type object to represent float values""" type DecimalType { """Value of this field.""" decimalValue: Decimal! } """ Deduct the specified number of Loyalty Points from the account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-5420: Unauthorized. - KT-CT-9211: Invalid reason for loyalty points award. - KT-CT-9219: Loyalty points user not found. - KT-CT-9204: Negative or zero points set. - KT-CT-9205: Insufficient Loyalty Points. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9221: Idempotency key already used on ledger entry. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type DeductLoyaltyPoints { """The number of loyalty points that were deducted.""" pointsDeducted: Int """The ledger entry for the deducted loyalty points.""" ledgerEntry: LoyaltyPointLedgerEntryType } """An action which navigates to the URL of another backend screen.""" type DeeplinkActionType implements ActionInterface & IdentifiableInterface { """The name of the action object's type.""" typeName: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The URL to navigate to.""" url: String! } """ Delete a reference for a particular account and namespace. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-8310: Invalid data. - KT-CT-8312: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type DeleteAccountReference { accountReference: DeleteAccountReferenceType } type DeleteAccountReferenceType { """The namespace associated with the removed AccountReference.""" namespace: String! } """ Delete a multi-factor authentication (MFA) device for the authenticated user. The possible errors that can be raised are: - KT-CT-1150: MFA device not found. - KT-CT-1154: Unable to delete MFA device. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type DeleteMfaDevice { """Flag to indicate if the MFA device has been successfully deleted.""" deviceDeleted: Boolean } """ Delete payment schedule for an account. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type DeletePaymentSchedule { """Account related to payment schedule.""" account: AccountType """Handled errors related to payment schedule deletion.""" error: DeletePaymentScheduleErrorUnion } """ Delete all descendants of a property in a hierarchy. This permanently deletes all descendant nodes (children, grandchildren, etc.) but keeps the property node itself in the hierarchy. This operation is idempotent - if the property is not in the hierarchy or has no descendants, it will succeed without error. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type DeletePropertyDescendants { """The property whose descendants were deleted.""" property: PropertyType } """ Delete a device token used for push notifications. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-5411: Invalid token or no push notification binding found for the given account user. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type DeletePushNotificationBinding { status: DeletePushNotificationBindingOutput } """ Delete an existing alternative phone number for the user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type DeleteUserAlternativeNumber { """List of alternative phone numbers for the account user.""" alternativePhoneNumbers: [String] """Potential error message for the mutation.""" error: AlternativeNumberErrorUnion } type DeletedSupplyPointEstimationGroupType { """The external identifier of the detached supply point.""" supplyPointExternalId: String! } type DepositAgreementOutput { """The deposit agreement key (unique).""" depositKey: String """The deposit agreement amount.""" depositAmount: Int """The timestamp at which the customer accepted the deposit agreement.""" acceptedAt: DateTime """The timestamp at which the deposit agreement was fulfilled.""" fulfilledAt: DateTime """The date on which a payment is requested for deposit collection (defaults to current date, if not specified in the deposit policy).""" collectionDate: Date """The date by which the deposit agreement must be fulfilled (defaults to 31-12-9999 i.e. deposit is never late, if not specified in the deposit policy).""" dueDate: Date """The return strategy used to return the deposit.""" returnStrategy: String """The current eligibility status for a deposit return.""" currentEligibilityStatus: CurrentEligibilityStatusOutput } type DepositReturnScheduleOutput { """The date by which the deposit return installment is due.""" dueDate: Date """The amount to be returned in this installment.""" amount: Int """The status of this return installment.""" status: String } type DetachAgreementsFromContractsOutput { """True if the agreements were successfully detached.""" ok: Boolean! } """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13603: Supply Point does not exist. - KT-CT-13604: Supply point has no estimation group assigned. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type DetachSupplyPointFromEstimationGroup { """The deleted supply point.""" supplyPoint: DeletedSupplyPointEstimationGroupType } type Device implements HasReadings { """Get readings from a readable device e.g., a supply point, device, or register.""" readings( startAt: DateTime! endAt: DateTime! readingType: ReadingTypes! timeGranularity: TimeGranularities timezone: String = "Etc/GMT-10" units: [Units] ): Readings """The id of the device. This field can only be provided in the output if device level readings are also requested.""" deviceIdentifier: String """The registers associated with this device.""" registers(registerIdentifiers: [String], before: String, after: String, first: Int, last: Int): RegistersConnection } type DeviceRegister implements HasReadings { """Get readings from a readable device e.g., a supply point, device, or register.""" readings( startAt: DateTime! endAt: DateTime! readingType: ReadingTypes! timeGranularity: TimeGranularities timezone: String = "Etc/GMT-10" units: [Units] ): Readings """The id of the register. This field can only be provided in the output if register level readings are also requested.""" registerIdentifier: String """The NMI suffix for this register data stream. This field is only provided when the operation includes the standard readings variables (startAt, endAt, readingType, timezone).""" nmiSuffix: NmiSuffix } """Pagination for devices.""" type DevicesConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [DevicesEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Devices` and its cursor.""" type DevicesEdge { """The item at the end of the edge""" node: Device """A cursor for use in pagination""" cursor: String! } type DigitalMeterRequestEligibility { """NMI the request is for.""" nmi: String """Whether the NMI is eligible for a digital meter request.""" isEligible: Boolean """Additional information about result.""" reason: String } type DirectDebitInstructionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [DirectDebitInstructionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `DirectDebitInstructionConnectionType` and its cursor.""" type DirectDebitInstructionConnectionTypeEdge { """The item at the end of the edge""" node: DirectDebitInstructionType """A cursor for use in pagination""" cursor: String! } """Direct Debit Instructions""" type DirectDebitInstructionType { id: ID! status: String! accountHolder: String! instructionType: String! cardPaymentNetwork: String cardExpiryMonth: Int cardExpiryYear: Int iban: String! sortCode: String! """The last four digits of the account number.""" lastFourDigitsOfAccountNumber: String @deprecated(reason: "The 'lastFourDigitsOfAccountNumber' field is deprecated. Use 'maskedAccountIdentifier' for a masked reference to the instruction. - Marked as deprecated on 2021-12-23. - Scheduled for removal on or after 2024-01-01.") """A masked reference to a recurring payment method.""" maskedAccountIdentifier: String """A masked version of the IBAN.""" maskedIban: String """The owners of the financial account this instruction represents.""" owners: [PaymentInstructionOwnerType] } """ Represents a direct metering term in a contract. Note: This type is a stub, and will be fleshed out in the future. """ type DirectMeteringType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean } """An agreement for an electricity distribution supply point. Returns rates that are active at the time the GraphQL query was made if the agreement is active. If not return rates that are active at the time the agreement ended.""" type DistributionAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String """The meter point for this agreement.""" meterPoint: MeterPointType supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement """The accounts for this agreement.""" account: AccountType } type DistributorType { """Long form distributor name.""" longName: String """Short form distributor name.""" shortName: String """Customer facing display name.""" displayName: String """Emergency Contact number.""" emergencyPhone: String """A unique code to identify the distributor eg ENERGYAP, AGLGNNWO.""" id: ID """An Error was encountered determining the distributor.""" error: String } type DmoReferenceType { id: ID! """The date on which the DMO first becomes effective""" effectiveFrom: Date! """The final date on which the DMO is effective""" effectiveTo: Date """Network Tariff Codes that applies to the DMO separate by comma""" ntcCombination: [String!]! tariffName: String! generalUsage: Int! controlledUsage: Int annualCost: Decimal! notRequired: Boolean """Total usage derived from controlled and general usage.""" totalUsage: Int } type DoesNotExistErrorType { """The input field that failed database lookup.""" field: String! } type DueChargesType { """Number of cents that the customer still needs to pay.""" amount: Int! """The statement that contained these charges. Note this value may be null.""" statement: StatementType """The billing document that contained these charges. Note this value may be null.""" billingDocument: PeriodBasedDocumentType """Date that the customer is expected to pay by.""" dueDate: Date! } type DuplicateNTCForStandingChargeErrorType implements GenericErrorInterface { message: String! } """A date-bounded volume cap period for an EEPA export contracted volume term.""" type EEPAExportContractedVolumePeriodType { """The contracted volume cap value.""" value: Decimal! """The unit of the volume cap (e.g. kilowatt_hour).""" unit: String! """The start of the period (inclusive).""" validFrom: DateTime! """The end of the period (exclusive).""" validTo: DateTime! """Supply point IDs this period applies to. Null means it applies to all supply points not covered by a specific config.""" supplyPointIds: [ID] } """ EEPA export contracted volume term. Defines contracted export volume caps across multiple time periods, optionally scoped to specific supply points. """ type EEPAExportContractedVolumeType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The volume cap periods for this term.""" periods: [EEPAExportContractedVolumePeriodType] } type ElecEstimatedUsageAndCostType implements EstimatedUsageAndCostInterface { """Failure reasons.""" failureReasons: String """Daily usage and cost estimation.""" dailyEstimation: BaseUsageAndCostType! """Weekly usage and cost estimation.""" weeklyEstimation: BaseUsageAndCostType! """Fortnightly usage and cost estimation.""" fortnightlyEstimation: BaseUsageAndCostType! """Monthly usage and cost estimation.""" monthlyEstimation: BaseUsageAndCostType! """Yearly usage and cost estimation.""" yearlyEstimation: BaseUsageAndCostType! } """An electricity meter reading. Accumulated usage.""" type ElectricityAccumulationMeterReadingType implements MeterReading & AccumulationMeterReading { id: ID! """Reading quality method.""" qualityMethod: String units: String! value: Decimal! """The datetime when the meter was read.""" readAt: DateTime """List of register readings.""" registers: [RegisterReading] """The source of the meter reading.""" source: source! """Indicates whether the reading is quarantined.""" isQuarantined: Boolean! """The direction of the reading.""" direction: ElectricityAccumulationMeterReadingDirection! """ Possible values: A: ACTUAL_METERING_DATA E: FORWARD_ESTIMATED_DATA F: FINAL_SUBSTITUTED_DATA N: NULL_DATA S: SUBSTITUTED_DATA V: VARIABLE_DATA """ qualityFlag: QualityFlag } """An agreement for an electricity supply point. Returns rates that are active at the time the GraphQL query was made if the agreement is active. If not return rates that are active at the time the agreement ended.""" type ElectricityAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String """The meter point for this agreement.""" meterPoint: MeterPointType supplyPoint: ElectricitySupplyPointType! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement """The accounts for this agreement.""" account: AccountType } """An electricity meter reading. Usage within a time window.""" type ElectricityAmphioIntervalMeterReadingType { intervalStartAt: DateTime! intervalEndAt: DateTime! units: String! direction: String! localDate: Date deviceId: String! registerIdentifier: String nmiSuffix: String! reasonCode: AmphioIntervalReadingReasonCode indexRead: Decimal indexReadAt: DateTime isValid: Boolean! isDeleted: Boolean! """Reading quality method.""" qualityMethod: String """Usage value of energy.""" value: Decimal! """ Possible values: A: ACTUAL_METERING_DATA E: FORWARD_ESTIMATED_DATA F: FINAL_SUBSTITUTED_DATA N: NULL_DATA S: SUBSTITUTED_DATA V: VARIABLE_DATA """ qualityFlag: QualityFlag } type ElectricityCostedConsumptionType implements CostedConsumptionInterface { """Summarized costed consumption data.""" summarizedConsumption: [SummarizedConsumptionType] """Registers associated with this consumption.""" registers: [ElectricityRegisterType] } """A data stream for one or more meter registers.""" type ElectricityDataStreamType { """Estimated energy used by the data stream for this register (kWh/day).""" averageDailyLoad: Float! } type ElectricityFiltersOutput { """Reading direction is based on the utility generated or consumed by the customer.""" readingDirection: ReadingDirectionType """The identifier of the register associated to this reading.""" registerId: String readingQuality: ReadingQualityType """The frequency of the reading.""" readingFrequencyType: ReadingFrequencyType """The identifier of the market supply point associated to this reading.""" marketSupplyPointId: String """The identifier of the device associated to this reading.""" deviceId: String } """An electricity meter reading. Usage within a time window.""" type ElectricityIntervalMeterReadingType implements MeterReading & IntervalMeterReading { """The start datetime of the interval reading.""" startAt: DateTime """The end datetime of the interval reading.""" endAt: DateTime """List of register readings.""" registers: [RegisterReading] } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type ElectricityMeterReadingConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ElectricityMeterReadingConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ElectricityMeterReadingConnectionType` and its cursor.""" type ElectricityMeterReadingConnectionTypeEdge { """The item at the end of the edge""" node: ElectricityMeterReadingType """A cursor for use in pagination""" cursor: String! } """An electricity meter is a collection of registers which store readings. Eco7 meters are an example of a meter with multiple registers (for day and night).""" type ElectricityMeterType implements Meter { id: ID! serialNumber: String! activeFrom: DateTime activeTo: DateTime status: MeterStatus! """The meter installation type code.""" installationType: MeterInstallationTypeCodeType nextScheduledReadDate: Date readTypeMethod: MeterReadTypeMethod readTypeMode: MeterReadTypeMode readTypeFrequency: MeterReadTypeFrequency """The units of consumption for a smart meter.""" consumptionUnits: String """Whether this meter requires a final change of tenancy (COT) reading.""" requiresCotFinalReading: Boolean """The type of fuel this meter uses.""" fuelType: String """Energy consumption recorded by the meter.""" consumption( startAt: DateTime! grouping: ConsumptionGroupings! timezone: String! before: String after: String first: Int last: Int ): ConsumptionConnection meterPoint: MeterPointType! """Whether this is a smart (interval) meter.""" isSmart: Boolean """Whether this meter supports remote reading.""" isRemotelyRead: Boolean """Whether this meter requires manual reading.""" isManuallyRead: Boolean """Whether this meter is a remotely read Manually Read Interval Meter (MRIM).""" isRemotelyReadMrim: Boolean """Whether this meter is a manually read Manually Read Interval Meter (MRIM).""" isManuallyReadMrim: Boolean """Whether this is an unmetered supply point (e.g. street lighting).""" isUnmetered: Boolean """Meter readings recorded by this meter.""" readings(includeQuarantined: Boolean = false, before: String, after: String, first: Int, last: Int): ElectricityMeterReadingConnectionTypeConnection """The registers on this meter that record consumption.""" registers: [ElectricityRegisterType] """The round number of the meter.""" roundNumber: String """The sequence number of the meter.""" sequenceNumber: String """Describes the type of control equipment that has been installed on behalf of the LNSP.""" controlEquipmentType: String """Describes the relationship between the location of the metering point and the connection point.""" location: String """The model of the meter.""" model: String """The Transmission Node Identifier (TNI) code from the AEMO CATS_TNI_CODES table.""" transmissionNodeIdentifier: String } type ElectricityMoveInDatesType { moveInDates: [Date] error: ElectricityMoveInDatesErrorUnion } type ElectricityPriceReferenceType implements PriceReferenceInterface { """Plan Id.""" planId: String """The date the reference became effective.""" effectiveFrom: Date! """The last date on which the reference is effective.""" effectiveTo: Date """The calculated annual cost, in $.""" annualCost: Decimal! """The savings percentage, relative to the Usage Reference annual cost.""" savingPercentage: Int! """Whether this tariff is regulated under the AER Default Market Offer. Non-regulated tariffs include demand tariffs and SME controlled load tariffs.""" isRegulated: Boolean! """The tariff structure type for this product: flat, tou, sso, or non_regulated. Used to determine the appropriate AER comparison wording per product. Null when the NTC combination cannot be classified (e.g. demand tariffs or malformed NTC data).""" tariffType: String """Whether this tariff has a controlled load component. Null when the NTC combination cannot be classified.""" hasControlledLoad: Boolean } """Product rates for electricity may be matched to registers using the network tariff code and time of day.""" type ElectricityRateType implements RateInterface { currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float """ID associated with electricity product rate.""" id: ID """Accumulation meters use the `ALLDAY` product rates.""" timeOfDay: String """Matches the Network Tariff Codes published by each LNSP.""" networkTariffCode: String """Description for the network tariff code.""" chargeDescription: String """Unbundled rate type.""" unbundledRateType: String """Whether the rate is for controlled load.""" isControlledLoad: Boolean """Whether the rate is for excess demand.""" isForExcessDemand: Boolean """Whether the rate is for solar export.""" isSolar: Boolean """Tariff periods for this rate, grouped by LNSP.""" tariffPeriods: [LNSPTariffPeriodType] } """A register on a meter. See _standing data for MSATS_ for more information.""" type ElectricityRegisterType { id: ID! """MSATS RegisterId.""" identifier: String! activeFrom: DateTime """Code to identify the time validity of register contents, as published by each LNSP.""" timeOfDay: String! """Multiplier to apply to the meter readings.""" multiplier: Decimal status: RegisterStatus! """From the Network Tariff Codes supplied and published by each LNSP.""" networkTariffCode: String! dialFormatDigits: Int dialFormatDecimals: Int suffix: String controlledLoad: String! unitOfMeasure: UnitOfMeasure! """Overrides to the current network tariff code for this register.""" networkTariffCodeOverride: [RegisterNTCOverrideType] isExportRegister(asAt: DateTime = null): Boolean! dataStream: ElectricityDataStreamType isActive: Boolean! """Whether the register measures reactive power.""" isReactive: Boolean! """ Fetch summaries of electricity meter readings. You need to pass in the readings granularity desired for the results (e.g. DAILY or MONTHLY). Optionally include readings that have been quarantined (these are excluded by default). Also optionally include/exclude estimated readings (included by default). Days where no meter readings occurred will be omitted. The summarised readings returned have the same semantic meaning as raw readings for this register; interval meters will return a consumption figure for this interval, and accumulation meters will return a raw read (that must be subtracted from the previous read to determine consumption). If this isn't what you want, use `consumptionSummary` instead. This field requires the `Authorization` header to be set. """ readingsSummary( startDate: Date! endDate: Date! readingsGranularity: ReadingsGranularity! includeQuarantined: Boolean = false includeEstimates: Boolean = true ): [DailyElectricityMeterReadingType] @deprecated(reason: "The 'readingsSummary' field is deprecated. This will not resolve for Amphio meterpoints. - Marked as deprecated on 2023-03-17. - Scheduled for removal on or after 2024-03-17.") """ NOTE: This consumptionSummary field is deprecated. Use the consumptionSummary field on the MeterPointType instead. Fetch consumption on this register, bucketed into time slices of a variable granularity. Unlike `readingsSummary`, this endpoint returns _consumption_; in particular, for accumulation meters, the returned value represents the absolute amount of energy consumed, rather than reading values. When the readings we have are less granular than the requested granularity (e.g. half-hourly or even monthly consumption requested on an interval meter), the consumption is divided evenly. Note that, because the way that humans measure time is weird, so too are the results of this endpoint. For instance, a day may not have exactly 48 half-hour periods (because a DST transition happened), and a three-month interval of meter readings may not appear to be spread evenly between months (because months have different numbers of days). The result will only include periods that are wholly between ``start_at`` and ``end_at``; so, for instance, if you have a ``start_at`` of midday and a ``granularity`` of ``DAILY``, you'll get results starting at midnight the following day. This field requires the `Authorization` header to be set. """ consumptionSummary( startAt: DateTime! endAt: DateTime! timezone: String! granularity: ConsumptionGranularity! includeQuarantined: Boolean = false includeEstimates: Boolean = true ): [SummarizedConsumptionType!]! @deprecated(reason: "The 'consumptionSummary' field is deprecated. Use MeterPointType > consumptionSummary instead. - Marked as deprecated on 2023-11-27. - Scheduled for removal on or after 2024-02-27.") """Effective network tariff code. May be sourced from a global override if `network_tariff_code_override` is not set.""" billableTariffCode: String } type ElectricityServiceOrderType implements ServiceOrderInterface { orderNumber: String """The service order type.""" type: ServiceOrderTypeChoices status: ServiceOrderStatus meterPoint: MeterPointType serviceOrder: Int responseCode: String scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection """The service order subtype.""" subtype: ServiceOrderSubTypeChoices """If applicable, the service order reason for de-energisation.""" deEnergisationReason: ServiceOrderDeEnergisationReasonChoices } type ElectricitySupplyPointType implements SupplyPointInterface { """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The electricity meter point for this supply point.""" meterPoint: MeterPointType } type ElectricityUsageReferenceType implements UsageReferenceInterface { """The date the reference became effective.""" effectiveFrom: Date! """The last date on which the reference is effective.""" effectiveTo: Date """Total amount of usage used for the reference.""" totalUsage: Int! """Relevant NTCs used for this reference.""" ntcCombination: [String]! """The reference annual cost, in $.""" annualCost: Decimal! """The name of the tariff.""" tariffName: String """Amount of general usage included in the total.""" generalUsage: Int! """Amount of controlled usage included in the total.""" controlledUsage: Int """Whether the reference is required or not.""" notRequired: Boolean! } """Represents a file to attach to a email message.""" type EmailAttachmentType { """The ID of the attachment.""" id: ID! """The filename of the attachment.""" filename: String! """Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page).""" temporaryUrl: String } type EmailEventType implements Node { """The ID of the object""" id: ID! eventType: String! occurredAt: DateTime! """Email message of the email event. Returns null for message's sent/received by other user's on the account.""" message: EmailType } """Represents an email communication""" type EmailType { """The ID of the email.""" id: ID! """The date and time the email was created.""" createdAt: DateTime! """The date and time the email was sent.""" sentAt: DateTime """The email template code.""" templateCode: String! """The email address of the recipient.""" toAddress: String! """The address the email was sent from.""" fromEmail: String! """Subject line of the email message.""" subject: String """Attachments of the email message.""" attachments: [EmailAttachmentType] """Text body of the email message.""" textBody: String """HTML body of the email message.""" htmlBody: String """URL to view the email in the support site.""" supportSiteUrl: String toNumber: String! fromNumber: String! channel: String! """Email sender.""" sender: String """Email recipient.""" recipient: String } type EmailVerificationStatus { """The email address to be checked.""" email: String! """The status of verification for associated email.""" status: VerificationRequestStatus } type EmbeddedElectricityAccumulationReadingConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [EmbeddedElectricityAccumulationReadingConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `EmbeddedElectricityAccumulationReadingConnectionType` and its cursor.""" type EmbeddedElectricityAccumulationReadingConnectionTypeEdge { """The item at the end of the edge""" node: EmbeddedElectricityAccumulationReadingType """A cursor for use in pagination""" cursor: String! } type EmbeddedElectricityAccumulationReadingEventConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [EmbeddedElectricityAccumulationReadingEventConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `EmbeddedElectricityAccumulationReadingEventConnectionType` and its cursor.""" type EmbeddedElectricityAccumulationReadingEventConnectionTypeEdge { """The item at the end of the edge""" node: EmbeddedElectricityAccumulationReadingEventType """A cursor for use in pagination""" cursor: String! } type EmbeddedElectricityAccumulationReadingEventType implements Node { id: ID! eventType: AccumulationReadingEventType! } type EmbeddedElectricityAccumulationReadingType implements Node { id: ID! units: String! reasonDescription: String! value: Decimal! marketTransactionId: String readingsNmiMdpKey: String readAt: DateTime! events(before: String, after: String, first: Int, last: Int): EmbeddedElectricityAccumulationReadingEventConnectionTypeConnection qualityFlag: EmbeddedElectricityReadQuality! qualityMethod: EmbeddedElectricityReadMethod! """Reason code.""" reasonCode: EmbeddedElectricityReadReason } type EmbeddedElectricityAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String """The meter point for this agreement.""" meterPoint: MeterPointInterface supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement account: AccountType! } type EmbeddedElectricityFiltersOutput { """Reading direction is based on the utility generated or consumed by the customer.""" readingDirection: ReadingDirectionType """The identifier of the register associated to this reading.""" registerId: String readingQuality: ReadingQualityType """The frequency of the reading.""" readingFrequencyType: ReadingFrequencyType """The identifier of the market supply point associated to this reading.""" marketSupplyPointId: String """The identifier of the device associated to this reading.""" deviceId: String } type EmbeddedElectricityMeterPointType implements MeterPointInterface { nmi: String! krakenStatus: MeterPointKrakenStatus parentNmi: String! nmiClassification: MeterPointNmiClassification! customerClassification: MeterPointCustomerClassification! customerClassificationThreshold: MeterPointCustomerClassificationThreshold! distributionLossFactorCode: String! jurisdictionCode: MeterPointJurisdictionCode sharedIsolationPointFlag: MeterPointSharedIsolationPointFlag lnspId: MeterPointLnspId! accessDetails: String hazards: [String!] outageContactEmail: String outageContactPhone: String hasManuallySetSensitiveLoad: Boolean! status: String """A list of agreements belonging to an account that is linked to the logged in user.""" agreements(includeInactive: Boolean = true): [AusAgreementInterface] """The database identifier of the meter point.""" id: Int """The external identifier for the meter point (NMI for electricity, MIRN for gas).""" identifier: String """Returns all meters by default, but can be filtered by meter id.""" meters(id: Int): [Meter] """The fuel/service type for this meter point.""" supplyType: String """Supply details including agreed capacity and connection units.""" supplyDetails: SupplyDetailsType property: PropertyType! marketSupplyPoint: SupplyPointInterface! """Site address.""" siteAddress: RichAddressType } type EmbeddedElectricityMeterType implements Meter { activeFrom: DateTime activeTo: DateTime manufacturer: String! model: String! location: String! hazard: String! status: MeterStatus! installationType: MeterInstallationType! nextScheduledReadDate: Date id: ID! serialNumber: String! """The units of consumption for a smart meter.""" consumptionUnits: String """Whether this meter requires a final change of tenancy (COT) reading.""" requiresCotFinalReading: Boolean """The type of fuel this meter uses.""" fuelType: String """Energy consumption recorded by the meter.""" consumption( startAt: DateTime! grouping: ConsumptionGroupings! timezone: String! before: String after: String first: Int last: Int ): ConsumptionConnection meterPoint: EmbeddedElectricityMeterPointType! """Read type method.""" readTypeMethod: ReadTypeMethod """Read type mode.""" readTypeMode: ReadTypeMode """Read type frequency.""" readTypeFrequency: ReadTypeFrequency """Registers.""" registers: [EmbeddedElectricityRegisterType] } """Product rates for embedded electricity.""" type EmbeddedElectricityRateType implements RateInterface { """ID associated with embedded electricity product rate.""" id: ID currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float } type EmbeddedElectricityRegisterType { id: ID! identifier: String! activeTo: DateTime unitOfMeasure: RegisterUnitOfMeasure! multiplier: Decimal! dialFormatDigits: Int! dialFormatDecimals: Int! suffix: String! meter: EmbeddedElectricityMeterType! status: RegisterStatus! accumulationReadings(before: String, after: String, first: Int, last: Int): EmbeddedElectricityAccumulationReadingConnectionTypeConnection } type EmbeddedElectricityServiceOrderType implements EmbeddedElectricityServiceOrderInterface { """The embedded electricity service order number.""" orderNumber: String """The embedded electricity service type.""" type: EmbeddedElectricityServiceOrderTypeChoices """The service order status.""" status: String """The embedded electricity meter point.""" meterPoint: MeterPointType """The service order pk.""" serviceOrder: Int """The service order response code.""" responseCode: String """The service order schedule date.""" scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection """The embedded electricity service subtype.""" subtype: EmbeddedElectricityServiceOrderSubTypeChoices """If applicable, the service order reason for de-energisation.""" deEnergisationReason: EmbeddedElectricityServiceOrderDeEnergisationReasonChoices } type EmbeddedElectricitySupplyPointType implements SupplyPointInterface { """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The associated meter point.""" meterPoint: EmbeddedElectricityMeterPointType } """Product rates for embedded gas.""" type EmbeddedGasRateType implements RateInterface { """ID associated with embedded gas product rate.""" id: ID currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float } """Represents an embedded network that holds multiple embedded properties.""" type EmbeddedNetworkType { id: ID! """A unique name/code for the network""" name: String! """Get details about properties in an embedded network.""" embeddedProperties: [EmbeddedPropertyType] } """Represents an embedded property in an embedded network.""" type EmbeddedPropertyType { id: ID! """The id of the physical property related to this embedded property type.""" propertyId: ID embeddedNetwork: EmbeddedNetworkType! } type EmbeddedWaterAccumulationReading implements Node { id: ID! value: Decimal! readAt: DateTime! events(before: String, after: String, first: Int, last: Int): EmbeddedWaterAccumulationReadingEventConnectionTypeConnection } type EmbeddedWaterAccumulationReadingConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [EmbeddedWaterAccumulationReadingConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `EmbeddedWaterAccumulationReadingConnectionType` and its cursor.""" type EmbeddedWaterAccumulationReadingConnectionTypeEdge { """The item at the end of the edge""" node: EmbeddedWaterAccumulationReading """A cursor for use in pagination""" cursor: String! } type EmbeddedWaterAccumulationReadingEventConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [EmbeddedWaterAccumulationReadingEventConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `EmbeddedWaterAccumulationReadingEventConnectionType` and its cursor.""" type EmbeddedWaterAccumulationReadingEventConnectionTypeEdge { """The item at the end of the edge""" node: EmbeddedWaterAccumulationReadingEventType """A cursor for use in pagination""" cursor: String! } type EmbeddedWaterAccumulationReadingEventType implements Node { id: ID! value: Decimal! quality: ReadingQuality! eventType: ReadingEventType! } type EmbeddedWaterAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String """The meter point for this agreement.""" meterPoint: MeterPointInterface supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement account: AccountType! } """Product rates for embedded water.""" type EmbeddedWaterRateType implements RateInterface { """ID associated with embedded water product rate.""" id: ID currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float } type EmbeddedWaterServiceOrderType implements EmbeddedWaterServiceOrderInterface { """The embedded water service order number.""" orderNumber: String """The embedded water service type.""" type: EmbeddedWaterServiceOrderTypeChoices """The service order status.""" status: String """The embedded water meter point.""" meterPoint: MeterPointType """The service order pk.""" serviceOrder: Int """The service order response code.""" responseCode: String """The service order scheduled date.""" scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection """The embedded water service subtype.""" subtype: EmbeddedWaterServiceOrderSubTypeChoices } """ End a contribution agreement for an account. The possible errors that can be raised are: - KT-CT-9603: Unable to find contribution agreement. - KT-CT-4123: Unauthorized. - KT-CT-9604: Unable to end contribution agreement. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type EndContributionAgreement { """The created contribution agreement.""" contributionAgreement: ContributionAgreementType } """ End a Meter Data Issue Flow by updating its status. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13804: Meter data issue flow not found. - KT-CT-13807: Invalid flow end status. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type EndMeterDataIssueFlow { """Whether the meter data issue flow was successfully ended.""" meterDataIssueFlowEnded: EndMeterDataIssueFlowOutputType } """Output for ending a MeterDataIssueFlow.""" type EndMeterDataIssueFlowOutputType { """The flow run identifier.""" flowRunIdentifier: String """The current status of the meter data issue flow.""" status: MeterDataIssueFlowStatus } """ The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11803: Unable to enqueue the call. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type EnqueueInboundCall { """The call that was enqueued.""" call: InboundCallType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Enroll an account into the loyalty program. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9213: ineligible loyalty points enrollment. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type EnrollAccountInLoyaltyProgram { """Outcome of the loyalty points campaign enrollment.""" outcome: EnrollAccountInLoyaltyProgramOutcome } type EnrollAccountInLoyaltyProgramOutcome { """Whether or not this account has been enrolled in the loyalty points campaign.""" hasEnrolled: Boolean } """Enrollment was successfully cancelled.""" type EnrollmentCancelled { """The message to display to the user on Enrollment initiation.""" message: String! """The Enrollment process that was cancelled.""" enrollmentProcess: EnrollmentProcess! } """Enrollment was successfully initiated.""" type EnrollmentInitiated { """The Enrollment processes that were initiated.""" enrollmentProcesses: [EnrollmentProcess]! """The message to display to the user on Enrollment initiation.""" message: String! } """Enrollment was successfully reversed.""" type EnrollmentReversed { """The message to display to the user on reversal.""" message: String! """The Enrollment process that was reversed.""" enrollmentProcess: EnrollmentProcess! } """Details of an ongoing enrolment process.""" type EnrolmentType { """Date the switch started.""" switchStartDate: Date """Target date for supply to start.""" supplyStartDate: Date """ PRE_REGISTRATION can transition to the following statuses:️ INITIATED. INITIATED can transition to the following statuses:️ REJECTED, PENDING_VALIDATION, CANCELLED, REQUESTED. PENDING_VALIDATION can transition to the following statuses:️ REQUESTED, REJECTED, CANCELLED, PENDING_CANCELLATION, OBJECTED, PENDING. REQUESTED can transition to the following statuses:️ PENDING, COMPLETED, OBJECTED, REJECTED, CANCELLED, PENDING_CANCELLATION, PENDING_VALIDATION. OBJECTED can transition to the following statuses:️ REQUESTED, CANCELLED, PENDING_CANCELLATION, OBJECTION_WITHDRAWN. REJECTED can transition to the following statuses:️ REJECTED. WITHDRAWN is a terminal status. PENDING can transition to the following statuses:️ COMPLETED, CANCELLED, PENDING_CANCELLATION, OBJECTED, REJECTED. COMPLETED is a terminal status. CANCELLED is a terminal status. PENDING_CANCELLATION can transition to the following statuses:️ CANCELLED. OBJECTION_WITHDRAWN can transition to the following statuses:️ REQUESTED, OBJECTED. """ status: ChangeOfSupplierStatusOptions } type EnumMappingType { """The abbreviation of the enum.""" abbreviation: String! """The full string of the enum.""" fullString: String! } type ErrorType { """The name of the field that caused the error.""" field: String! """A list of error messages for the field.""" messages: [String!]! } """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-7659: The Ink conversation could not be escalated. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type EscalateInkConversation { """The ID of the conversation that was escalated.""" conversationRelayId: ID! } type Estimate { """The estimated costs calculated.""" costEstimation: CostEstimation """Usage summary used to generate this estimate.""" usageSummary: UsageSummaryType """Error that occurred during estimation.""" error: ElectricityCostEstimateErrorUnion } type EstimatedMoneyType { """ Monetary cost of the statistic. This is the smallest unit of currency, e.g. cents for USD or yen for JPY. Because electricity is priced as a commodity, we must account for fractional cents and this field must be a Decimal. Values from this field should likely not be used for accounting purposes. """ estimatedAmount: Decimal! """Monetary currency of the statistic in ISO-4217 format.""" costCurrency: String! """Net price per unit of the statistic if applicable.""" pricePerUnit: PricePerUnit } """A single reading interval for a supply point, either actual or estimated.""" type EstimatedSupplyPointReadingType { """The inclusive start of this reading interval.""" intervalStart: DateTime! """The exclusive end of this reading interval.""" intervalEnd: DateTime! """The consumption value for this interval.""" value: Decimal! """The data quality of this reading (e.g. ACTUAL, ESTIMATE, CALCULATED).""" quality: String """True if this reading was produced by the estimation engine rather than measured.""" isEstimated: Boolean! } type ExceededMaxSchedulableWorkingDaysErrorType implements GenericErrorInterface { message: String! } type ExistingBillingOverMoveInAdjustmentErrorType implements GenericErrorInterface { message: String! } """Pagination for readings representing outgoing utility flow e.g., solar generation.""" type ExportReadingsConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ExportReadingsEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ExportReadings` and its cursor.""" type ExportReadingsEdge { """The item at the end of the edge""" node: Reading """A cursor for use in pagination""" cursor: String! } """ Solar export payment details for a customer account. Solar customers who export electricity to the grid can receive payments for their accumulated export credits. This shows when the next payment will be processed. """ type ExportRepaymentDetailsType { """Account number.""" accountNumber: String! """Whether export repayment details have been configured for this account. If false, the customer needs to set up their payment method first.""" isConfigured: Boolean! """Date when the next solar export payment will be processed. Returns null if not yet scheduled or no payment is due.""" nextRepaymentDate: Date """Date when the last solar export payment was processed. Returns null if no payment has been made yet.""" lastRepaymentDate: Date """Method of payment for solar export repayments. Can be 'CHEQUE' or 'DIRECT_DEBIT'. Returns null if not configured.""" paymentMethod: String } """ Extend the period of an agreement. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1501: Agreement not found. - KT-CT-1504: Account does not match with the agreement. - KT-CT-1505: Unable to edit agreement. - KT-CT-1506: Agreement period is not within the supply and property period. - KT-CT-1514: Extension valid_to date must be later than the current valid_to date. - KT-CT-1515: Agreement must have an end date to be extensible. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ExtendAgreementPeriod { """Agreement that we are going to extend.""" agreement: CommonAgreementType } type ExternalAccountEvent { id: ID! eventType: String! occurredAt: DateTime! category: String! subcategory: String! description: String content: JSONString } type ExternalAccountEventConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ExternalAccountEventConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ExternalAccountEventConnectionType` and its cursor.""" type ExternalAccountEventConnectionTypeEdge { """The item at the end of the edge""" node: ExternalAccountEvent """A cursor for use in pagination""" cursor: String! } type ExternalAccountUserEvent { id: ID! eventType: String! category: String! subcategory: String! occurredAt: DateTime! description: String content: JSONString } """A status update for an external message, such as delivery confirmation, a bounce, or an open.""" type ExternalMessageEventType { """The ID of the message event.""" id: ID! """The type of message event.""" eventType: MessageEventType! """The date and time this event occurred.""" occurredAt: DateTime! } """An external message, which is a record of a communication such as an email, sent by an external messaging vendor.""" type ExternalMessageType { """The ID in Kraken of the external message.""" id: ID! """The name of the external messaging vendor that sent this message.""" vendor: String! """The unique ID of the message in the external vendor's system.""" vendorMessageId: String! """The date and time this message was sent.""" sentAt: DateTime! } """ GraphQL type representing external sales information. This type is used to represent sales records that originate from external systems or processes outside of Kraken's direct tracking mechanisms. """ type ExternalSalesInfoType { """The unique identifier for the sales record.""" salesRecordIdentifier: String } type ExtraDetail { """The key of the extra detail item.""" key: String """The value of the extra detail item.""" value: GenericScalar """The extra detail metadata associated with the opportunity.""" field: FunnelField } type ExtraQuotingParamsType { """Forecast consumption entries for this quote configuration.""" forecastConsumption: [ForecastConsumptionEntryType!] } type ExtrasOutput { """Display label of the extra for the parent node.""" label: String """Description of the extra for the parent node.""" description: String """Value of the extra.""" value: String } type FailedDateRangeType { """The start date of the date range.""" startDate: Date """The end date of the date range.""" endDate: Date """The reason the PMD request failed for this date range.""" reason: String } type FailedPrimaryResidenceValidationErrorType implements GenericErrorInterface { message: String! } type FailedToRetrieveQuoteErrorType implements GenericErrorInterface { message: String! } type FailedToSwitchProductForAccountErrorType implements GenericErrorInterface { message: String! } type FailureStatusCodeInAEMOResponseErrorType implements GenericErrorInterface { message: String! } """ Fetch or generate payment fingerprint from vendor. The possible errors that can be raised are: - KT-CT-12101: Payment instruction not found. - KT-CT-12102: Payment vendor not supported. - KT-CT-12103: Missing payment metadata from vendor. - KT-CT-12104: Unable to fetch or generate payment fingerprint. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type FetchGeneratePaymentFingerprint { """Fetched or generated fingerprint from vendor.""" fingerprint: String """Vendor name.""" vendor: String } """ Fetch a pre-signed link for an opportunity file attachment. The possible errors that can be raised are: - KT-CT-8933: Opportunity file attachment not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type FetchPreSignedLinkForOpportunityAttachment { """The opportunity file attachment with pre-signed URL.""" opportunityFileAttachment: OpportunityFileAttachment } type FieldSpecificRateLimitInformation { """The name of the GraphQL field for which the rate is limited.""" field: String """Indicates the rate limit allowed for this field (e.g. 10/m).""" rate: String """Time to live: The time remaining before the user is unblocked from making requests to this field.""" ttl: Int """Whether the viewer is currently blocked from making requests to this field due to exceeding the allowed request rate.""" isBlocked: Boolean } type FieldSpecificRateLimitInformationConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [FieldSpecificRateLimitInformationConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `FieldSpecificRateLimitInformationConnectionType` and its cursor.""" type FieldSpecificRateLimitInformationConnectionTypeEdge { """The item at the end of the edge""" node: FieldSpecificRateLimitInformation """A cursor for use in pagination""" cursor: String! } type FinancialRiskLevelType { """The ID to be checked.""" identifierValue: ID """The ID type. Currently only 'meter_point' is supported.""" identifierType: String """Returns the level of risk for the supplied object between `0.0` and `1.0`. Higher is worse.""" riskLevel: Decimal """Returns True if the risk identifier is in the risk list.""" isInRiskList: Boolean } """Graphene type object to represent float values""" type FloatType { """Value of this field.""" floatValue: Float! } """ Force users of Kraken Tokens and refresh tokens issued to the viewer to reauthenticate. Calling this mutation will cause all Kraken Tokens and refresh tokens issued to the authenticated viewer before the mutation was called to become invalid. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type ForceReauthentication { """Reports whether the mutation applied successfully. Should always be 'true'.""" tokensInvalidated: Boolean! """The time at which forced reauthentication is effective. Kraken and refresh tokens issued before this time will be invalid.""" effectiveAt: DateTime! } type ForecastConsumptionEntryType { """Unique identifier for this forecast consumption entry.""" identifier: String """Start of the period this entry covers.""" validFrom: DateTime """End of the period this entry covers.""" validTo: DateTime """Unit of the consumption value.""" unit: String """Forecast consumption value.""" value: Decimal """Unique identifier of the time-of-use scheme for this entry.""" touName: String """Optional TOU split breakdown for this entry.""" consumptionSplit: [ConsumptionSplitType] } """ A screen type for forms with input fields. Combines display items with input fields (TextField, Checkbox, Toggle), and provides primary/secondary buttons for form submission. Note: header and footer are embedded in screenData and not exposed as separate GraphQL fields, following the pattern of ComponentListType. """ type FormScreenType implements AccessibilityInterface & IdentifiableInterface & BackendScreenInterface { """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The name of the screen.""" name: String! """The refresh / polling frequency in milliseconds.""" refreshFrequency: Int """Serialized JSON representation of the screen.""" screenData: String } type FormSubmissionOuput { id: Int content: JSONString errors: [SerializerFieldErrorsType] } """A fractional measurement.""" type FractionSizeType implements IdentifiableInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The fractional value.""" fraction: Decimal! } type FraudMeterPointCheckType { """The meter point ID.""" meterPointId: String """Returns True if the meter point ID is in the list of suspicious meter point IDs.""" isInSuspiciousList: Boolean } """Represents an amount of money that can be used to fulfil an obligation.""" type FulfilmentType { """The type of the fulfilment source, e.g. PAYMENT.""" sourceType: FulfilmentSourceType """The database ID of the fulfilment source, e.g. the database ID of the payment.""" sourceIdentifier: String """The amount of the fulfilment (in minor currency units), unsigned.""" amount: Int! } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type FundingSourceAmountConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [FundingSourceAmountConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `FundingSourceAmountConnectionType` and its cursor.""" type FundingSourceAmountConnectionTypeEdge { """The item at the end of the edge""" node: FundingSourceAmountType """A cursor for use in pagination""" cursor: String! } type FundingSourceAmountType { """Reason why the funding source was used.""" reason: String """Amount used from a funding source in minor currency.""" amount: Int } type FunnelField { """The code of the field.""" code: String! """The name of the field.""" name: String! """The type of the field.""" fieldType: FieldTypeChoices! """The choices for the field if applicable.""" textChoices: [String] """A regular expression that a field value must match, if populated.""" textRegex: String """Whether the field is deprecated.""" deprecated: Boolean! @deprecated(reason: "The 'deprecated' field is deprecated. Fields are not being deprecated - Marked as deprecated on 2026-04-20. - Scheduled for removal on or after 2026-05-20.") """The order of the field in the collection.""" orderInCollection: Int """Whether the field is required.""" required: Boolean } """An agreement for gas supply point. Returns rates that are active at the time the GraphQL query was made if the agreement is active. If not return rates that are active at the time the agreement ended.""" type GasAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String """The meter point for this agreement.""" meterPoint: GasMeterPointType supplyPoint: GasSupplyPointType! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement """The accounts for this agreement.""" account: AccountType } type GasEstimatedUsageAndCostType implements EstimatedUsageAndCostInterface { """Failure reasons.""" failureReasons: String """Daily usage and cost estimation.""" dailyEstimation: BaseUsageAndCostType! """Weekly usage and cost estimation.""" weeklyEstimation: BaseUsageAndCostType! """Fortnightly usage and cost estimation.""" fortnightlyEstimation: BaseUsageAndCostType! """Monthly usage and cost estimation.""" monthlyEstimation: BaseUsageAndCostType! """Yearly usage and cost estimation.""" yearlyEstimation: BaseUsageAndCostType! } """ Filter measurements by gas parameters. """ type GasFiltersOutput { """The identifier of the register associated to this reading.""" registerId: String """The frequency of the reading.""" readingFrequencyType: ReadingFrequencyType """The identifier of the market supply point associated to this reading.""" marketSupplyPointId: String """The identifier of the device associated to this reading.""" deviceId: String } type GasHouseMoveInFailedErrorType implements GenericErrorInterface { message: String! } type GasMeterPointType implements MeterPointInterface & GasAndElectricityMeterPointInterface { """The database identifier of the meter point.""" id: Int status: String """A list of agreements belonging to an account that is linked to the logged in user.""" agreements(includeInactive: Boolean = true): [AusAgreementInterface] """The external identifier for the meter point (NMI for electricity, MIRN for gas).""" identifier: String meters(id: Int, includeInactive: Boolean): [GasMeterType] """The fuel/service type for this meter point.""" supplyType: String """Supply details including agreed capacity and connection units.""" supplyDetails: SupplyDetailsType """Details about an enrolment of this meter point. Will be null if no enrolment is taking place.""" enrolment: EnrolmentType """The Financially Responsible Organisation status.""" supplyStatus: KrakenStatus supplyStartDate: DateTime supplyEndDate: DateTime """Whether the meter point is on supply.""" isOnSupply: Boolean """The physical state of the meter point.""" energizationStatus: GasEnergizationStatus distributor: ProviderType address: MeterPointAddressType } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type GasMeterReadingConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [GasMeterReadingConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `GasMeterReadingConnectionType` and its cursor.""" type GasMeterReadingConnectionTypeEdge { """The item at the end of the edge""" node: GasMeterReadingType """A cursor for use in pagination""" cursor: String! } """ A reading from an Australian gas meter, as Kraken receives it from industry. """ type GasMeterReadingType { id: ID! value: Decimal! readAt: DateTime! typeOfRead: ReadingTypeOfRead reasonForRead: ReadingReasonForRead volumeFlow: Decimal gasMeterUnits: ReadingGasMeterUnits averageHeatingValue: Decimal pressureCorrectionFactor: Decimal consumedEnergy: Decimal meter: GasMeterType! } type GasMeterType implements Meter { id: ID! serialNumber: String! meterTypeSizeCode: String kpaValue: Decimal supplyPointIdentifier: String numberOfDials: Int currentReadDate: Date currentReadPressureCorrectionFactor: Decimal nextScheduledReadDate: Date nextScheduledSpecialRead: Date meterMultiplier: Decimal activeFrom: DateTime activeTo: DateTime """The units of consumption for a smart meter.""" consumptionUnits: String """Whether this meter requires a final change of tenancy (COT) reading.""" requiresCotFinalReading: Boolean """The type of fuel this meter uses.""" fuelType: String """Energy consumption recorded by the meter.""" consumption( startAt: DateTime! grouping: ConsumptionGroupings! timezone: String! before: String after: String first: Int last: Int ): ConsumptionConnection status: GasMeterStatus meterType: AusGasMeterType installationType: GasMeterInstallationType meterMeasurementUnit: GasMeterMeasurementUnit meterReadFrequency: GasMeterReadFrequency readings(includeQuarantined: Boolean = false, before: String, after: String, first: Int, last: Int): GasMeterReadingConnectionTypeConnection } type GasMoveInDatesType { moveInDates: [Date] error: GasMoveInDatesErrorUnion } """Product rates for gas.""" type GasRateType implements RateInterface { currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float """ID associated with gas product rate.""" id: ID """Gas pricing zone.""" pricingZone: PricingZoneType } type GasServiceOrderType implements ServiceOrderInterface { orderNumber: String status: ServiceOrderStatus meterPoint: MeterPointType serviceOrder: Int responseCode: String scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection type: JobEnquiryCodeChoices } type GasSpecialReadType implements ServiceOrderInterface { orderNumber: String status: ServiceOrderStatus meterPoint: MeterPointType serviceOrder: Int responseCode: String scheduledDate: Date chargeRecords(before: String, after: String, first: Int, last: Int): ServiceOrderChargeRecordConnectionTypeConnection type: SpecialReadReasonCodeChoices } type GasSupplyPointType implements SupplyPointInterface { """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The meter point associated with this supply point.""" meterPoint: MeterPointInterface } """ Generate a pre-signed URL for uploading an audio file for use with affiliates. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GenerateAffiliatesAudioRecordingPreSignedUrl { """Input fields required to generate a presigned S3 post for affiliates audio recording.""" affiliatesAudioRecordingPreSignedUrl: AffiliateAudioRecordingPresignedPostType } """ The possible errors that can be raised are: - KT-CT-7620: Channel not supported. - KT-CT-7618: Unable to process message. - KT-CT-7624: Error when generating the presigned URL. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GenerateInkPresignedUrl { """A presigned URL for the user to upload to the quarantine bucket.""" uploadUrl: String! """The key for the item.""" key: String! """Presigned post fields required to upload the file.""" fields: JSONString! } """ Generate a pre-signed URL for downloading a leads attachment file. The possible errors that can be raised are: - KT-CT-8933: Opportunity file attachment not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GenerateLeadsFileAttachmentDownloadPreSignedUrl { """Pre-signed S3 URL for downloading the leads file attachment.""" leadsFileAttachmentDownloadPreSignedUrl: LeadsFileAttachmentDownloadPresignedUrlType } """ Generate a pre-signed URL for uploading a leads attachment file. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GenerateLeadsFileAttachmentsPreSignedUrl { """Input fields required to generate a presigned S3 post for leads file attachment.""" leadsFileAttachmentPreSignedUrl: LeadsFileAttachmentPresignedPostType } """ Mutation to generate a pre-signed token. The pre-signed, expiring and opaque tokens will be swapped for a limited scope JWT (Kraken Token). The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-1120: The Kraken Token has expired. - KT-CT-1131: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GeneratePreSignedToken { token: String tokenExpiryDatetime: DateTime scope: PreSignedTokenScope } """A generic backend screen that can be used to define any type of screen.""" type GenericBackendScreen implements BackendScreenInterface { """The name of the screen.""" name: String! """The refresh / polling frequency in milliseconds.""" refreshFrequency: Int """Serialized JSON representation of the screen.""" screenData: String } """ Get the client secret needed to create a new payment instruction using an embedded form. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3820: Received both ledger ID and number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GetEmbeddedSecretForNewPaymentInstruction { secretKey: String } """ Get the client secret needed to create a new stored payment instruction using an embedded form. This mutation is specifically for saving payment methods for future use, without immediately creating a payment instruction tied to a specific ledger or account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GetEmbeddedSecretForNewPaymentInstructionWithoutAccount { """The client secret needed to create a new stored payment instruction.""" secretKey: String } """ Get the external URL where the user can set up a payment instruction. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GetHostedUrlForNewPaymentInstruction { """URL at which payment instruction can be set up.""" url: String } """ Get an existing agreement or create a new one if it doesn't exist. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-4910: No product exists with the given input. - KT-CT-1503: Agreement valid_to date must be later than valid_from date. - KT-CT-1509: Unable to create agreement. - KT-CT-1511: Cannot create overlapping agreement. - KT-CT-1512: Account type does not support agreements. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GetOrCreateAgreement { """Indicates whether a new agreement was created (true) or an existing agreement was returned (false).""" created: Boolean """The agreement that was retrieved or created.""" agreement: CommonAgreementType } type GoodsGrant { """Grant type.""" type: String """Net amount.""" netAmount: Float """Gross amount.""" grossAmount: Float """Currency.""" currency: String } type GoodsProduct { """Product ID.""" id: Int """Market of the product.""" marketName: String """Type of the product.""" productType: GoodsProductType """Product code.""" code: String """Product internal name.""" internalName: String """Product customer name.""" customerName: String """Product notes.""" notes: String """Product description.""" description: String """Product available from.""" availableFrom: Date """Product available to.""" availableTo: Date """Price per unit.""" pricePerUnit: Float """Gross price per unit.""" grossPricePerUnit: Float """Currency.""" currency: String } type GoodsProductConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [GoodsProductConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `GoodsProductConnectionType` and its cursor.""" type GoodsProductConnectionTypeEdge { """The item at the end of the edge""" node: GoodsProduct """A cursor for use in pagination""" cursor: String! } type GoodsProductType { """Product type code.""" code: String """Product type name.""" internalName: String } type GoodsPurchase { """Purchase code.""" code: String """Ledger ID associated to the purchase.""" ledgerId: ID @deprecated(reason: "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.") """The ledger number associated to the purchase.""" ledgerNumber: String """Sale items in this purchase.""" goodsSaleItems: [GoodsSaleItem] """Grants that apply in this purchase.""" goodsGrants: [GoodsGrant] """Market name of the purchase.""" marketName: String! """Market parameters of the purchase.""" marketParams: JSONString """Client parameters of the purchase.""" clientParams: JSONString } type GoodsQuote { """ID of the quote.""" id: ID """Code of the quote.""" code: String """Total net amount of the quote in cents.""" totalNetAmount: Int """Date and time when the quote was created.""" quotedAt: DateTime """Products of this quote.""" goodsQuotedProducts: [GoodsQuotedProduct] """Indicates whether or not the quote is expired.""" hasQuoteExpired: Boolean } type GoodsQuoteShare { """The ID of the quote share.""" id: ID } type GoodsQuotedProduct { """Product code.""" product: String """Number of units.""" numberOfUnits: Int """Price per unit.""" pricePerUnit: Int """Net amount.""" netAmount: Int """Currency.""" currency: String } type GoodsSaleItem { """Product code.""" product: String """Number of units.""" numberOfUnits: Int """Price per unit.""" pricePerUnit: Float """Net amount.""" netAmount: Float """Gross amount.""" grossAmount: Float """Currency.""" currency: String } """ Grant user access to the business using the provided role. The possible errors that can be raised are: - KT-CT-5463: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-13501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type GrantUserAccessToBusiness { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """Represents a group of components presented as a choice.""" type GroupType { """Unique identifier of the group.""" identifier: ID! """Internal name for the group.""" internalName: String! """Customer-facing name for the group.""" customerName: String! """Customer-facing description of the group.""" customerDescription: String! """Minimum number of components that must be selected from this group.""" minCardinality: Int! """Maximum number of components that can be selected from this group.""" maxCardinality: Int! """Product components within this group.""" productComponents: [ProductComponentType] """Nested offering components within this group.""" offeringComponents: [OfferingComponentType] } """Represents a Hardship Agreement for a particular Account.""" type HardshipAgreementType { id: ID! hardshipType: HardshipAgreementHardshipType! """These are internal notes detailing the hardship.""" hardshipDetails: String! hardshipEntryReason: HardshipAgreementHardshipEntryReason paymentPlanDetails: String! startDate: Date! endDate: Date exitReason: HardshipAgreementExitReason """Extra details for the exit reason""" exitReasonDetails: String createdAt: DateTime! } """ Flag a user for Family Domestic Violence (FDV) / family issues. Note: The family issues flag can only be enabled (not disabled) through this mutation. The possible errors that can be raised are: - KT-AU-5418: Invalid input for family issues mutation. - KT-AU-5416: Family issues flag cannot be removed through this mutation. - KT-AU-5417: Account not found for user. - KT-AU-5419: Cannot set delivery preference 'EMAIL' for user without an email specified. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type HasFamilyIssues { """The updated account user.""" accountUser: AccountUserType } type HeldStatus { """Whether a statement is currently held.""" isHeld: Boolean """Reason for statement being held.""" reason: String } type HotWaterPlantType { id: ID! installationType: InstallationType! fuelType: PlantFuelType! temperature: PlantTemperature! embeddedNetwork: EmbeddedNetworkType! } type HouseMoveInCancelExceptionErrorType implements GenericErrorInterface { message: String! } type HouseMoveOutHasBeenPerformedErrorType implements GenericErrorInterface { message: String! } type HouseMoveProblemsErrorType implements GenericErrorInterface { message: String! """A list of problems that blocked the move in.""" problems: [AcquisitionProblemType]! } type IdentificationType { """The discovery process reference.""" reference: String """The market identifier discovered.""" marketIdentifier: String """Current status of discovery.""" discoveryStatus: Status } """A media element containing an image.""" type ImageType implements SizedItemInterface & MediaInterface & AccessibilityInterface & IdentifiableInterface { """The measurement of the element.""" width: ItemSizeType """The resource URL of the media.""" mediaUrl: String! """The horizontal alignment of the media.""" horizontalAlignment: Alignment """Whether the element is hidden from view.""" accessibilityHidden: Boolean """Accessible description of the element.""" accessibilityLabel: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String } """Pagination for readings representing incoming utility flow e.g., usage or consumption..""" type ImportReadingsConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ImportReadingsEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ImportReadings` and its cursor.""" type ImportReadingsEdge { """The item at the end of the edge""" node: Reading """A cursor for use in pagination""" cursor: String! } """ Import a tranche rate for a given contract and market. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-15111: Tranche target not found. - KT-CT-15112: A tranche rate already exists for this target and calculation period. - KT-CT-15113: Invalid tranche rate input. - KT-CT-15114: The provided calculation period does not line up with the calculation period frequency for this tranche target. - KT-CT-15115: Contract not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type ImportTrancheRate { """Unique identifier that references the new tranche rate.""" rateIdentifier: ID } type InboundCallAverageWaitTimeForAttributesType { """ The average number of seconds passed before an inbound call with the given routing attributes is answered. This value represents the calls received on the previous day. The possible errors that can be raised are: - KT-CT-11821: No calls found matching the given routing attributes. - KT-CT-1113: Disabled GraphQL field requested. """ yesterday: Int """ The average number of seconds passed before an inbound call with the given routing attributes is answered. This value represents the calls received in the last 30 minutes. The possible errors that can be raised are: - KT-CT-11821: No calls found matching the given routing attributes. - KT-CT-1113: Disabled GraphQL field requested. """ recent: Int } type InboundCallAverageWaitTimeType { """ The average number of seconds passed before an inbound call is answered. This value represents the calls received on the previous day. """ yesterday: Int """ The average number of seconds passed before an inbound call is answered. This value represents the calls received in the last 30 minutes. """ recent: Int } type InboundCallType implements CallInterface { """The ID of the call.""" id: ID! """If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.""" account: AccountType """Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).""" metadata: [CallMetadataItemType]! """Tags that have been applied to the call, for example during call wrap-up.""" tags: [CallTagType]! """When an inbound call is received, we identify all entities linked to the phone number of the caller.""" initialCallerIdentification: PhoneNumberIdentificationType! } type IndexationOptionsType { """The index code for the product rate override configuration.""" indexCode: String """The escalation start date for the product rate override configuration.""" escalationStartAt: DateTime } type InitializeAccountResult { """Was a new account created.""" isNewAccount: Boolean """The account number of the newly created account or the existing account to be re-used.""" accountNumber: String } type InitializeUserResult { """Was a new user created.""" isNewUser: Boolean """The user number of the newly created user or the existing user to be re-used.""" userNumber: String } """ Initiate a standalone payment and return the url where the customer can complete it. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3943: Invalid ledger. - KT-CT-3957: No collection method provided. - KT-CT-3958: Provide either ledger ID or ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type InitiateHostedStandalonePayment { """The details required to refer to and complete a hosted payment.""" payment: InitiateHostedStandalonePaymentOutput } """Tokens required to collect and retrieve a standalone payment.""" type InitiateHostedStandalonePaymentOutput { """The retrieval token for this standalone payment.""" retrievalToken: String! """The url for the customer to complete the payment.""" url: String! } """ Do a product switch for a user. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4619: Quote with given code not found. - KT-CT-4624: Unable to accept the given product code. - KT-CT-4924: Unauthorized. - KT-CT-4626: No product selected for the given quote code. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-1509: Unable to create agreement. - KT-CT-1507: Agreement product switch date is not within the acceptable range. - KT-CT-1516: Requested product switch is not valid. - KT-CT-4640: Unable to get market or client params from quoted product. - KT-CT-4627: No products are available for this quote. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type InitiateProductSwitch { """The selected product for a specific product switch.""" productCode: String! """The date at which the product switch becomes effective.""" switchDate: Date! } """ Initiate a standalone payment and return the client secret required to complete it. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-4177: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3943: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type InitiateStandalonePayment { payment: InitiateStandalonePaymentOutput } """Tokens required to collect and retrieve a standalone payment.""" type InitiateStandalonePaymentOutput { """The retrieval token for this standalone payment.""" retrievalToken: String! """The secret used to collect the payment.""" secretToken: String! } type InkBucket implements Node { """The ID of the object""" id: ID! """The ink bucket name.""" name: String! """The icon code point.""" icon: String } type InkContactChannelIdentities { """The default contact for this conversation.""" default: InkContactChannelIdentity """All contacts for this conversation.""" all: [InkContactChannelIdentity!]! } type InkContactChannelIdentity { """The channel of the contact.""" channel: InkCommunicationChannel! """The handle.""" handle: String! """The name to display to the user.""" displayName: String! } type InkConversation { id: ID! """The status of the conversation.""" status: InkConversationStatus! """The contact channel identities associated with this conversation.""" contactChannelIdentities: InkContactChannelIdentities! """The account users on the conversation.""" accountUsers: [AccountUserType!] """The number of the Kraken account that the conversation is from.""" accountNumber: String """Conversation events.""" events(before: String, after: String, first: Int, last: Int): InkConversationEventsConnection! """The buckets the conversation is currently in.""" buckets: [InkBucket!] """The tags on the conversation.""" tags: [InkTag!] """The timestamp of the most recent message in the conversation.""" lastMessageAt: DateTime } type InkConversationEventsConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [InkConversationEventsEdge!]! } """A Relay edge containing a `InkConversationEvents` and its cursor.""" type InkConversationEventsEdge { """The item at the end of the edge""" node: InkConversationEvent! """A cursor for use in pagination""" cursor: String! } type InkConversationsConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [InkConversationsEdge!]! } """A Relay edge containing a `InkConversations` and its cursor.""" type InkConversationsEdge { """The item at the end of the edge""" node: InkConversation! """A cursor for use in pagination""" cursor: String! } """This type wraps around the `Message` type for emails.""" type InkEmail { """The direction of the email.""" direction: InkMessageDirection! """The addresses that the message was sent to.""" toHandles: [String!] """From email address.""" fromHandle: String! """The delivery status of the message.""" delivery: InkMessageDelivery! """The contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """The time the message was sent/received.""" occurredAt: DateTime! """The email subject.""" subject: String! """The content of the current email (without previous emails from the email thread).""" displayContent: String! """Attachments on the message.""" attachments: [InkMessageAttachment!]! """CC recipients on the message.""" cc: [String!]! """Is this an message an email.""" isChannelEmail: Boolean! """All Tags associated with a message.""" tags: [InkTag!]! """The integer ID of the conversation this message belongs to.""" conversationId: Int! """The relay ID of the conversation this message belongs to.""" conversationRelayId: String! """The full email, including previous emails from the email thread if available, in plain text format.""" fullContentPlainText: String! """The full email, including previous emails from the email thread if available, in HTML.""" fullContentHtml: String! } """ This message type is used for messages that belong to contact channels without a more granular message type. """ type InkGenericMessage implements Node { """The ID of the object""" id: ID! """The direction of the message.""" direction: InkMessageDirection! """The identity the message was sent from.""" fromHandle: String! """The identity the message was sent to.""" toHandle: String! """The delivery status.""" delivery: InkMessageDelivery! """The contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """The time the message was sent/received at.""" occurredAt: DateTime! """The content of the message.""" displayContent: String! """The integer ID of the conversation this message belongs to.""" conversationId: Int! """The relay ID of the conversation this message belongs to.""" conversationRelayId: String! } """This type wraps around the `Message` type for LINE message.""" type InkLine { """The direction of the message.""" direction: InkMessageDirection! """From LINE id.""" fromHandle: String! """To LINE id.""" toHandle: String! """The delivery status of the message.""" delivery: InkMessageDelivery! """The contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """The time the message was sent/received.""" occurredAt: DateTime! """The line message content.""" lineMessage: LineMessage! """Is this a LINE message.""" isChannelLine: Boolean! """Attachments on the LINE message.""" attachments: [InkMessageAttachment!]! """All Tags associated with a message.""" tags: [InkTag!]! } """Ink live chat""" type InkLiveChatConversation { """The relay ID of the live chat conversation.""" relayId: ID! } """This type wraps around the `Message` type for a Live Chat message.""" type InkLiveChatMessage implements Node { """The ID of the object""" id: ID! """The direction of the message.""" direction: InkMessageDirection! """The identity the message was sent from.""" fromHandle: String! """The identity the message was sent to.""" toHandle: String! """The delivery status.""" delivery: InkMessageDelivery! """The contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """The time the message was sent/received at.""" occurredAt: DateTime! """The content of the message.""" displayContent: String! } type InkMessageAttachment { """The filename.""" filename: String! """The url for fetching the attachment.""" fetchUrl: String """The size in bytes.""" sizeInBytes: Int } type InkMessageAttributes { """The list of accounts related to the message.""" accounts: [String!]! """The type of the account linked to the conversation of the message.""" accountType: String """The list of the buckets the message is in.""" buckets: [String!] """The ID of the conversation this message belongs to.""" conversationId: Int! """The hour at which the message arrived in Ink.""" hourOccurredAt: Int! """The number of hours the customer has been waiting for a response to their previous message.""" hoursWaiting: Int! """Whether the conversation that the message belongs to is assigned to a user bucket.""" isAssignedToUserBucket: Boolean! """Whether the message is the first one sent by the contact.""" isFirstFromContact: Boolean! """Whether the message starts a new thread in its conversation.""" isNewThread: Boolean! """The operation team that handles the message.""" opsTeam: String """The codes of the auto replies that have been sent to the contact in the last 6 months.""" recentlyReceivedAutoReplies: [String!]! """The body of the latest comms SMS message sent to the customer, if the message is an sms.""" replyToCommsSms: String """The week day at which the message arrived in Ink.""" weekDayOccurredAt: Int! } type InkMessageDelivery { """Message delivery status.""" status: InkMessageDeliveryStatus! } """This types is used for both the message-received and message-sent conversation events.""" type InkNewMessage implements InkConversationEventInterface { """The time the conversation event occurred.""" occurredAt: DateTime! """The message.""" message: InkMessage! } type InkNote implements Node { """The ID of the object""" id: ID! """The content of the ink note.""" content: String! """The note is pinned, so that it's always visible in the conversation.""" isPinned: Boolean! """The datetime at which the conversation note occurred.""" occurredAt: DateTime! } """This type wraps around the `Message` type for Post.""" type InkPost { """The from property id.""" fromHandle: String! """The to property id.""" toHandle: String! """The notes left when a message was uploaded.""" displayContent: String! """The content of the message.""" rawPlainTextContent: String! """Determine if the message is a post message.""" isChannelPost: Boolean! """The contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """The integer ID of the conversation this message belongs to.""" conversationId: Int! """The relay ID of the conversation this message belongs to.""" conversationRelayId: String! } """This type wraps around the `Message` type for SMS.""" type InkSMS { """The direction of the message.""" direction: InkMessageDirection! """The phone number the message was sent from.""" fromHandle: String! """The phone number the message was sent to.""" toHandle: String! """The delivery status.""" delivery: InkMessageDelivery! """The contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """The time the message was sent/received at.""" occurredAt: DateTime! """The content of the message.""" displayContent: String! """Is this an SMS message.""" isChannelSms: Boolean! """All Tags associated with a message.""" tags: [InkTag!]! } type InkStoryline implements Node { """The ID of the object""" id: ID! topic: String! summary: String! """When the storyline was generated.""" generatedAt: DateTime! neuralinkRequestId: UUID! knowledgeArticleIds: [BigInt!] triggerId: String createdAt: DateTime! updatedAt: DateTime! """The entries in the storyline.""" entries: [InkStorylineEntry!]! """The analyzer results for this storyline.""" analyzerResults: [InkStorylineAnalyzerResult!]! } type InkStorylineAnalyzerResult implements Node { """The ID of the object""" id: ID! analyzerType: String! schemaVersion: String! data: JSONString! createdAt: DateTime! updatedAt: DateTime! } type InkStorylineEntry implements Node { """The ID of the object""" id: ID! """The type of the storyline entry.""" entryType: String! """The time the storyline entry occurred.""" occurredAt: DateTime! """The content of the storyline entry.""" content: String! """Optional URL related to the storyline entry.""" url: String """The optional related object ID of the entry.""" contentId: BigInt """Whether this entry is identified as the root cause of the issue.""" isRootCause: Boolean } type InkTag implements Node { """The ID of the object""" id: ID! """Tag for a message.""" name: String! } """This type wraps around the `Message` type for a Twilio WhatsApp message.""" type InkTwilioWhatsApp { """The direction of the message.""" direction: InkMessageDirection! """From WhatsApp number.""" fromHandle: String! """To WhatsApp number.""" toHandle: String! """Message delivery status.""" delivery: InkMessageDelivery! """Twilio WhatsApp message contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """Date when the conversation event was created.""" occurredAt: DateTime! """The vendor id.""" vendorId: String """Whatsapp message content.""" whatsappContent: WhatsAppTextMessage! """All Tags associated with a message.""" tags: [InkTag!]! } """This type wraps around the `Message` type for WhatsApp message.""" type InkWhatsApp { """The direction of the message.""" direction: InkMessageDirection! """From WhatsApp phone number.""" fromHandle: String! """Whatsapp contact phone number.""" toHandle: String! """Whatsapp message delivery status.""" delivery: InkMessageDelivery! """Whatsapp message contact channel identity.""" contactChannelIdentity: InkContactChannelIdentity! """Date when the conversation event was created.""" occurredAt: DateTime! """The vendor id.""" vendorId: String """Whatsapp message content.""" whatsappContent: WhatsAppTextMessage! """Whether or not the message is a whatsapp message.""" isChannelWhatsapp: Boolean! """All Tags associated with a message.""" tags: [InkTag!]! } """Represents a validation error for a specific input field.""" type InputFieldErrorType { """The key of the input field with the error.""" inputFieldKey: String! """The value that was submitted for the field.""" inputFieldValue: String! """The error message to display for this field.""" errorMessage: String! } type InstalmentByMonthlyAmountScheduleType { """The day of the month/week at which to take payment.""" paymentDay: Int """The base unit of frequency at which payments are to be taken.""" frequency: String """The multiple of the frequency at which payments are taken.""" frequencyMultiplier: Int """The date on which the instalment schedule will end.""" endDate: Date """The monthly amount to be paid as part of the instalment schedule.""" monthlyGrossAmount: Int } type InstalmentByTotalAmountScheduleType { """The day of the month/week at which to take payment.""" paymentDay: Int """The base unit of frequency at which payments are to be taken.""" frequency: String """The multiple of the frequency at which payments are taken.""" frequencyMultiplier: Int """The date on which the instalment schedule will end.""" endDate: Date """The total amount to be paid as part of the instalment schedule.""" totalGrossAmount: Int } type IntegerCharacteristicValueType implements CharacteristicValueInterface { """A string representation of a characteristic value, for convenience.""" value: String """The product characteristic.""" characteristic: CharacteristicType """The integer value of the characteristic.""" integerValue: Int! } """Graphene type object to represent integer values""" type IntegerType { """Value of this field.""" integerValue: Int! } type InternalCompanyConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [InternalCompanyConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `InternalCompanyConnectionType` and its cursor.""" type InternalCompanyConnectionTypeEdge { """The item at the end of the edge""" node: InternalCompanyType """A cursor for use in pagination""" cursor: String! } """Represents an internal company.""" type InternalCompanyType { """The internal company's ID.""" id: ID! """The internal company's displayable number, which is a human-friendly identifier.""" displayableNumber: String! """The internal company's name.""" name: String! """The primary registration number of the internal company.""" primaryRegistrationNumber: String """The secondary registration number of the internal company.""" secondaryRegistrationNumber: String """The primary tax identifier number of the internal company.""" primaryTaxIdentifierNumber: String """The legal address of the internal company.""" legalAddress: RichAddressType } type IntervalMeasurementType implements MeasurementInterface { """The data source of the measurement.""" source: String! """This type will return more granular data about the measurement.""" metaData: MeasurementsMetadataOutput """The value of the measurement.""" value: Decimal! """The unit of the measurement.""" unit: String! """The datetime the measurement was taken.""" readAt: DateTime! """The start datetime of the measurement.""" startAt: DateTime! """The end datetime of the measurement.""" endAt: DateTime! """The duration of the measurement.""" durationInSeconds: Int! accumulation: Decimal @deprecated(reason: "The 'accumulation' field is deprecated. This field is no longer required. - Marked as deprecated on 2024-10-15. - Scheduled for removal on or after 2024-11-01.") } type InvalidAddonErrorType implements GenericErrorInterface { message: String! } type InvalidContactDetails implements GenericErrorInterface { message: String! } type InvalidDiscoveryRequestErrorType implements GenericErrorInterface { message: String! } type InvalidLoyaltyCardNumberError implements GenericErrorInterface { message: String! } type InvalidPrimaryResidenceEndDateErrorType implements GenericErrorInterface { message: String! } type InvalidPrimaryResidenceFromDateErrorType implements GenericErrorInterface { message: String! } type InvalidStatusForRescheduleErrorType implements GenericErrorInterface { message: String! } type InvalidSupplyPointDateErrorType implements GenericErrorInterface { message: String! } type InvalidTimezoneReadAtDateValidationErrorType implements GenericErrorInterface { message: String! } type InvalidTransactionErrorType implements GenericErrorInterface { message: String! } type InvalidUserID implements GenericErrorInterface { message: String! } type InvalidVendorForRescheduleErrorType implements GenericErrorInterface { message: String! } type InvalidWithdrawalRequestErrorType implements GenericErrorInterface { message: String! } """ Invalidates a payment instruction. The possible errors that can be raised are: - KT-CT-3926: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type InvalidatePaymentInstruction { instruction: InvalidatePaymentInstructionOutput } """Output for invalidating an arbitrary payment instruction.""" type InvalidatePaymentInstructionOutput { id: Int } """ Invalidate a previously issued expiring/pre-signed token. To invalidate tokens issued to a particular user, use InvalidatePreSignedTokensForUser mutation. The possible errors that can be raised are: - KT-CT-1129: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ type InvalidatePreSignedToken { token: PreSignedToken } """ Invalidate pre-signed tokens previously issued to a particular user. This mutation can invalidate all pre-signed tokens issued to a customer, or only tokens of a given scope. The possible errors that can be raised are: - KT-CT-1129: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type InvalidatePreSignedTokensForUser { tokens: [PreSignedToken] } """ Invalidate a previously issued refresh token. To invalidate tokens issued to a particular user, use InvalidateRefreshTokensForUser. The possible errors that can be raised are: - KT-CT-1130: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type InvalidateRefreshToken { token: RefreshToken } """ Invalidate all refresh tokens previously issued to a particular user. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type InvalidateRefreshTokensForUser { tokens: [RefreshToken] } """An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.""" type InvoiceBillingDocumentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [InvoiceBillingDocumentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `InvoiceBillingDocumentConnectionType` and its cursor.""" type InvoiceBillingDocumentConnectionTypeEdge { """The item at the end of the edge""" node: InvoiceBillingDocumentType """A cursor for use in pagination""" cursor: String! } """An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.""" type InvoiceBillingDocumentType { """Unique identifier for the invoice billing document.""" id: Int """First time the invoice was issued.""" firstIssued: DateTime """URL to the PDF of the Invoice.""" pdfUrl: String """Billing document that annuls this invoice.""" annulledBy: AnnulmentBillingDocumentType """Whether the billing document is currently held.""" isHeld: Boolean """The unique billing document's reference that can be used for identifying it externally.""" number: String """The invoiced amount of the billing document.""" invoicedAmount: Int """The total amounts for all charges on the invoice.""" totalCharges: InvoiceTotalType """The total amounts for all credits on the invoice.""" totalCredits: InvoiceTotalType """Transactions on the invoice""" transactions(orderBy: TransactionsOrderBy = POSTED_DATE_DESC, before: String, after: String, first: Int, last: Int): BillTransactionConnectionTypeConnection """Position of the billing document in the delinquent debt tracking system.""" documentDebtPosition: BillingDocumentPositionType """The final date before missing payment is considered overdue.""" dueDate: Date """The planned date for payment (may be before the due_date).""" scheduledPaymentDate: Date """The date due for payment for the invoice.""" paymentDueDate: Date @deprecated(reason: "The 'paymentDueDate' field is deprecated. This field name is ambiguous and inconsistently populated. Use `paymentDate` for the date on which payment will be collected. Use `dueDate` for the last date any payment can be made before the bill is considered overdue. - Marked as deprecated on 2026-06-15. - Scheduled for removal on or after 2027-08-15.") } type InvoiceTotalType { """The net total amount for the statement (in minor currency units).""" netTotal: Int """The total amount of tax on the statement (in minor currency units).""" taxTotal: Int """The gross total amount for the statement (in minor currency units).""" grossTotal: Int } type InvoiceType implements BillInterface { """The ID of the bill.""" id: ID """The type of the bill.""" billType: BillTypeEnum """The date of the bill is covered from.""" fromDate: Date """The date of the bill is covered to.""" toDate: Date """ Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. """ temporaryUrl: String @deprecated(reason: "The 'temporaryUrl' field is deprecated. This field is deprecated. Use the 'attachments' field instead. - Marked as deprecated on 2024-09-16. - Scheduled for removal on or after 2025-09-01.") """The date the bill was sent to the customer.""" issuedDate: Date attachments(before: String, after: String, first: Int, last: Int): BillingAttachmentConnectionTypeConnection """How many charges have been reversed after the close date.""" reversalsAfterClose: StatementReversalsAfterClose! """ The unique identifier of a bill. It will usually be present on the billing document itself. Note: a bill that hasn't been issued yet will not have an identifier; and not all issued bills will have an identifier assigned to them, in which case this will be null. """ identifier: String """This field returns the total gross amount of the bill in pence.""" grossAmount: Int """Whether the billing document has been annulled.""" isAnnulled: Boolean! """Whether the billing document is currently held.""" isHeld: Boolean """The total amounts for all charges on the invoice.""" totalCharges: InvoiceTotalType """The total amounts for all credits on the invoice.""" totalCredits: InvoiceTotalType """The sum of all previous payments made that are included towards this invoice.""" totalPayments: Int """Transactions on the given billing document.""" transactions( ledgerNumber: String = null transactionTypes: [TransactionTypeFilter] = [] orderBy: TransactionsOrderBy = POSTED_DATE_DESC before: String after: String first: Int last: Int ): BillTransactionConnectionTypeConnection representations(code: String = null, before: String, after: String, first: Int, last: Int): BillRepresentationConnectionTypeConnection } """ Accept terms and conditions for a join supplier process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type JoinSupplierAcceptTermsAndConditions { """Indicator that the mutation has completed successfully.""" success: Boolean } type JoinSupplierLedgerAssignmentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [JoinSupplierLedgerAssignmentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `JoinSupplierLedgerAssignmentConnectionType` and its cursor.""" type JoinSupplierLedgerAssignmentConnectionTypeEdge { """The item at the end of the edge""" node: JoinSupplierLedgerAssignmentType """A cursor for use in pagination""" cursor: String! } """ A ledger with its associated supply points. Multiple supply points may be assigned to the same ledger. This type groups them for convenient querying. """ type JoinSupplierLedgerAssignmentType { """The ledger number.""" ledgerNumber: String """The ledger type.""" ledgerType: String """The ledger name.""" ledgerName: String """The supply points associated with the ledger.""" ledgerSupplyPoints: [LedgerSupplyPointType] } type JoinSupplierProcessConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [JoinSupplierProcessConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `JoinSupplierProcessConnectionType` and its cursor.""" type JoinSupplierProcessConnectionTypeEdge { """The item at the end of the edge""" node: JoinSupplierProcessType """A cursor for use in pagination""" cursor: String! } type JoinSupplierProcessDataType { """When the journey was requested.""" requestedAt: DateTime! """Sales channel.""" salesChannel: String """Sales subchannel.""" salesSubchannel: String """Affiliate link for the join supplier journey.""" affiliateLink: AffiliateLinkType """Unique identifier for the offer group.""" offerGroupIdentifier: NonEmptyString """The supply point context data.""" supplyPointContexts: [SupplyPointContextDataInterface] """The note associated with this join supplier process data.""" note: String """Reference to the stored payment method details.""" storedPaymentMethodDetailsReference: String """The payment schedule details chosen for this join supplier journey.""" paymentScheduleData: PaymentScheduleDataType } """Represents a Join Supplier process.""" type JoinSupplierProcessType implements AbstractSupplyPointProcessInterface { """The ID or the primary key of the lifecycle process.""" id: ID """The status of the process.""" status: LifecycleSupplyPointProcessStatus """The supply points associated with the process.""" supplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection! """The unique identifier of the process.""" number: String """The subtype of the process.""" subtype: String """Contract identifiers associated with this join supplier process.""" contractIdentifiers: [String] """The current process data associated with the Join Supplier process.""" currentProcessData: JoinSupplierProcessDataType """The ledgers associated with the supply points in the process.""" ledgerAssignments(before: String, after: String, first: Int, last: Int): JoinSupplierLedgerAssignmentConnectionTypeConnection """Current stage of the join supplier journey.""" stage: String } type KrakenDrivenSalesInfoType { """The unique identifier for the sales record.""" identifier: String """The opportunity code associated with the sales record.""" opportunityNumber: String } type KrakenTrackedSalesInfoType { """The unique identifier for the sales record.""" identifier: String """The sales channel associated with the sales record.""" salesChannel: String """The name of the affiliate organisation associated with the sales record.""" affiliateOrganisationName: String } """Information about what version of Kraken is being executed by this service.""" type KrakenVersionType { """The version number that is being executed.""" number: String """The git commit SHA that is being executed.""" SHA: String """Whether this version is pinned to a specific version.""" isPinned: Boolean } type LNSPTariffPeriodType { """The LNSP id (Local Network Service Provider).""" lnspId: String """Tariff periods for this rate and LNSP.""" tariffPeriods: [TariffPeriodType] } type LNSPType { """The AEMO participant identifier code for this provider.""" id: String! """The abbreviated name of the provider.""" shortName: String! """The full registered name of the provider.""" longName: String! """The customer-facing display name of the provider.""" displayName: String! """The emergency contact phone number for the provider.""" emergencyPhoneNumber: String! """The outage reporting phone number for the provider.""" outagePhoneNumber: String } """Represents later payment fees to be applied in a contract.""" type LatePaymentFeesType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The flat fee amount for late payment.""" flatFeeAmount: Int """The percentage fee for late payment.""" percentageFee: Decimal """The interval in days for the percentage fee (1=daily, 7=weekly, 30=monthly, 365=yearly).""" percentageIntervalDays: Int """The interest policy to use for late payment fee calculations.""" interestPolicyName: String } type Lead { """Lead number.""" number: String! """National Identifier of the lead.""" nationalId: String """The type of the lead.""" leadType: String """The sales funnel this lead is in.""" salesFunnel: SalesFunnel """The current stage of the sales funnel that this lead is in.""" stage: SalesFunnelStage """The sales channel that this lead was captured by.""" salesChannel: SalesChannelType @deprecated(reason: "The 'salesChannel' field is deprecated. Sales channel information is being removed from the Lead model. This is information is saved in the Opportunity. - Marked as deprecated on 2025-06-17. - Scheduled for removal on or after 2025-10-17.") """Affiliate organization assigned to this lead.""" assignedToOrganization: AffiliateOrganisationType @deprecated(reason: "The 'assignedToOrganization' field is deprecated. Please use 'assignedToTeamIdentifier' instead. - Marked as deprecated on 2026-05-07. - Scheduled for removal on or after 2026-07-07.") """The username of the user the lead is assigned to.""" assignedToUsername: String @deprecated(reason: "The 'assignedToUsername' field is deprecated. Please use 'assignedToUserIdentifier' instead. - Marked as deprecated on 2026-04-22. - Scheduled for removal on or after 2026-06-22.") """The identifier of the user the lead is assigned to.""" assignedToUserIdentifier: String @deprecated(reason: "The 'assignedToUserIdentifier' field is deprecated. Lead-level assignment is being removed. Assignment is managed at Opportunity level. - Marked as deprecated on 2026-05-19. - Scheduled for removal on or after 2026-07-19.") """The identifier of the team the lead is assigned to.""" assignedToTeamIdentifier: String @deprecated(reason: "The 'assignedToTeamIdentifier' field is deprecated. Lead-level assignment is being removed. Assignment is managed at Opportunity level. - Marked as deprecated on 2026-05-19. - Scheduled for removal on or after 2026-07-19.") """List of opportunities for the lead.""" opportunities(input: OpportunitiesQueryInput): [OpportunityOutput] """The contacts for the lead.""" contacts(input: LeadContactDetailsFiltersInput): [LeadContactDetailsType] } type LeadBlockListValidationOutput { """Indicates if the block list validation passed.""" valid: Boolean """List of block list hits found.""" blockListHits: [String] } type LeadContactDetailsType { """The given name of the contact.""" givenName: String """The family name of the contact.""" familyName: String """The email address of the contact.""" email: String """The phone number of the contact.""" phoneNumber: String """The roles of the contact.""" roles: [LeadContactRoles] """The preferred language of the contact as an ISO code (e.g. 'es-es').""" preferredLanguage: String """The address of the contact.""" contactAddress: RichAddressType """List of consents for the contact.""" consents: [ConsentOutput] } type LeadIdType { """The ID of the lead.""" leadId: ID! @deprecated(reason: "The 'leadId' field is deprecated. Use `number` instead. - Marked as deprecated on 2025-11-24. - Scheduled for removal on or after 2026-02-01.") """The number of the lead.""" number: String! } type LeadOutput { """Lead ID.""" leadId: ID """Lead's linked account number.""" accountNumber: String """Lead legal given name.""" givenName: String """Lead legal family name.""" familyName: String """Lead billing name.""" billingName: String @deprecated(reason: "The 'billingName' field is deprecated. Please use 'givenName' and 'familyName' on the lead contact with the ACCOUNT_HOLDER role instead. - Marked as deprecated on 2026-06-18. - Scheduled for removal on or after 2026-09-18.") """Lead billing address.""" billingAddress: AddressOutput @deprecated(reason: "The 'billingAddress' field is deprecated. Please use 'contactAddress' on the lead contact with the ACCOUNT_HOLDER role instead. - Marked as deprecated on 2026-06-18. - Scheduled for removal on or after 2026-09-18.") """Lead billing rich address.""" billingRichAddress: RichAddressType @deprecated(reason: "The 'billingRichAddress' field is deprecated. Please use 'contactAddress' on the lead contact with the ACCOUNT_HOLDER role instead. - Marked as deprecated on 2026-06-18. - Scheduled for removal on or after 2026-09-18.") """The contacts for the lead.""" contacts(input: LeadContactDetailsFiltersInput): [LeadContactDetailsType] """Lead account holder email.""" email: String """Lead account holder phone number.""" phoneNumber: String """Lead number.""" number: String """The lead funnel this lead is in.""" funnel: SalesFunnel """Current stage in a funnel.""" stage: String """Extra details about the lead.""" extraDetails: JSONString @deprecated(reason: "The 'extraDetails' field is deprecated. Use `extraDetailsItems` instead, which provides a structured key/value format. - Marked as deprecated on 2026-01-14. - Scheduled for removal on or after 2026-07-14.") """Extra details about the lead as key/value pairs.""" extraDetailItems: [ExtraDetail] """Lead brand.""" brand: String """Lead sales channel.""" salesChannel: String @deprecated(reason: "The 'salesChannel' field is deprecated. Sales channel information is being removed from the Lead model. This is information is saved in the Opportunity. - Marked as deprecated on 2025-06-17. - Scheduled for removal on or after 2025-10-17.") """Team assigned to this lead.""" assignedToTeam: String @deprecated(reason: "The 'assignedToTeam' field is deprecated. Please use 'assignedToTeamIdentifier' instead. - Marked as deprecated on 2026-04-22. - Scheduled for removal on or after 2026-06-22.") """User assigned to this lead.""" assignedToUser: String @deprecated(reason: "The 'assignedToUser' field is deprecated. Please use 'assignedToUserIdentifier' instead. - Marked as deprecated on 2026-04-22. - Scheduled for removal on or after 2026-06-22.") """The identifier of the user assigned to this lead.""" assignedToUserIdentifier: String @deprecated(reason: "The 'assignedToUserIdentifier' field is deprecated. Lead-level assignment is being removed. Assignment is managed at Opportunity level. - Marked as deprecated on 2026-05-19. - Scheduled for removal on or after 2026-07-19.") """The identifier of the team assigned to this lead.""" assignedToTeamIdentifier: String @deprecated(reason: "The 'assignedToTeamIdentifier' field is deprecated. Lead-level assignment is being removed. Assignment is managed at Opportunity level. - Marked as deprecated on 2026-05-19. - Scheduled for removal on or after 2026-07-19.") """National Identifier of the lead.""" nationalId: String """The type of the lead.""" leadType: String """The affiliate's name this opportunity is assigned to.""" assignedToAffiliateNumber: String @deprecated(reason: "The 'assignedToAffiliateNumber' field is deprecated. Lead-level assignment is being removed. Assignment is managed at Opportunity level. - Marked as deprecated on 2026-05-19. - Scheduled for removal on or after 2026-07-19.") } type LeadSupplyPointType { """Supply point identifier.""" externalIdentifier: String """Market code of the supply point.""" marketName: String } type LeadType { """The lead number.""" number: String! } type LeadsConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [LeadsEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Leads` and its cursor.""" type LeadsEdge { """The item at the end of the edge""" node: Lead """A cursor for use in pagination""" cursor: String! } """Metadata returned when generating a pre-signed download URL for a leads file attachment.""" type LeadsFileAttachmentDownloadPresignedUrlType { """The pre-signed S3 download URL.""" preSignedUrl: String! } """Metadata returned when generating a pre-signed post URL for a leads file attachment.""" type LeadsFileAttachmentPresignedPostType { """The S3 bucket key.""" key: String! """The S3 bucket.""" bucket: String! """The pre-signed S3 URL.""" preSignedUrl: String! """The fields to be included in the pre-signed post.""" fields: JSONString! } type LeavePropertyProcessConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [LeavePropertyProcessConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `LeavePropertyProcessConnectionType` and its cursor.""" type LeavePropertyProcessConnectionTypeEdge { """The item at the end of the edge""" node: LeavePropertyProcessType """A cursor for use in pagination""" cursor: String! } """Represents a Leave Property process.""" type LeavePropertyProcessType implements AbstractSupplyPointProcessInterface { """The ID or the primary key of the lifecycle process.""" id: ID """The status of the process.""" status: LifecycleSupplyPointProcessStatus """The supply points associated with the process.""" supplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection! } """Output of a LeaveSupplier journey cancellation.""" type LeaveSupplierCancelled { """The message to display to the user on cancellation.""" message: String! } """Termination was successfully initiated.""" type LeaveSupplierInstigated { """The number of the newly created or existing leave supplier process.""" number: ID! """The ID of the newly created or existing leave supplier process.""" leaveSupplierProcessId: ID @deprecated(reason: "The 'leaveSupplierProcessId' field is deprecated. Process IDs are deprecated, please use 'number' instead. - Marked as deprecated on 2025-08-06. - Scheduled for removal on or after 2025-09-30.") """The message to display to the user on termination initiation.""" message: String! } type LeaveSupplierProcessConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [LeaveSupplierProcessConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `LeaveSupplierProcessConnectionType` and its cursor.""" type LeaveSupplierProcessConnectionTypeEdge { """The item at the end of the edge""" node: LeaveSupplierProcessType """A cursor for use in pagination""" cursor: String! } """Represents a Leave Supplier process. Conceptually, it contains information related to supply points that are associated with a Leave Supplier journey.""" type LeaveSupplierProcessType implements AbstractSupplyPointProcessInterface { """The ID or the primary key of the lifecycle process.""" id: ID """The status of the process.""" status: LifecycleSupplyPointProcessStatus """The unique identifier of the process.""" number: String """The supply points associated with the process.""" supplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection! """The subtype of the process.""" subtype: String """Current stage of the leave supplier journey.""" stage: String } """Output of a LeaveSupplier journey reversal.""" type LeaveSupplierReversed { """The message to display to the user on reversal.""" message: String! } """Leave supplier was successfully updated.""" type LeaveSupplierUpdated { """The message to display to the user on leave supplier update.""" message: String! } type LedgerDebtPositionType { """The ledger number.""" ledgerNumber: String! """The total amount of delinquent debt for this ledger (in minor currency units, e.g. pence/cents). A value of 0 means the ledger has no delinquent debt. Null if the status is not OK.""" delinquentDebtAmount: Int """The status of the debt position for this ledger. OK means the delinquent_debt_amount is available and accurate. UNAVAILABLE means the position could not be determined.""" status: LedgerDebtPositionStatus! } type LedgerSupplyPointType { """Supply point external identifier. Empty string if not set.""" externalIdentifier: String """Market name for the supply point.""" marketName: String } """Ledgers provide the foundation of Kraken’s bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular Kraken account.""" type LedgerType implements LedgerInterface { id: ID @deprecated(reason: "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.") """The display name of the ledger.""" name: String """The canonical name of the ledger.""" number: String """The ledger type code.""" ledgerType: String """The current balance on the ledger in minor units of currency.""" balance: Int """The amount owed from the customer perspective. A positive value implies the customer owes the business, while a negative amount implies the customer is in credit.""" amountOwedByCustomer: Int """Whether this ledger's balance contributes to the account's balance.""" affectsAccountBalance: Boolean """A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.""" statements(statementId: Int, orderBy: _BillingDocumentsOrderBy, before: String, after: String, first: Int, last: Int): StatementBillingDocumentConnectionTypeConnection """An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.""" invoices( invoiceId: Int orderBy: _BillingDocumentsOrderBy excludeExternallyIssued: Boolean = false before: String after: String first: Int last: Int ): InvoiceBillingDocumentConnectionTypeConnection """Transactions on the given ledger.""" transactions( transactionTypes: [TransactionTypeFilter] = [] fromDate: Date toDate: Date orderBy: TransactionsOrderBy = POSTED_DATE_DESC before: String after: String first: Int last: Int ): TransactionConnectionTypeConnection """Repayment requests for a given ledger.""" repaymentRequests(before: String, after: String, first: Int, last: Int): RepaymentRequestConnectionTypeConnection """Refund requests for a given ledger.""" refundRequests(before: String, after: String, first: Int, last: Int): RefundRequestConnectionTypeConnection """Whether payments can be posted onto this ledger.""" acceptsPayments: Boolean paymentAdequacy: PaymentAdequacyDetailsType """Permissions data for credit transfers involving the given ledger.""" creditTransferPermissionsData: CreditTransferPermissionsDataType """The customer's preferred payment methods.""" paymentPreferences(before: String, after: String, first: Int, last: Int): PaymentPreferenceConnectionTypeConnection """ The customer's preferred payment method at a point in time. The possible errors that can be raised are: - KT-CT-3976: The ledger has no configured payment preference. - KT-CT-3977: Ledger was not accepting payments at this time. - KT-CT-1113: Disabled GraphQL field requested. """ paymentPreferenceAtTime(atTime: DateTime!): PaymentPreferenceUnion """The debt ledger assigned to this ledger.""" debtLedger: LedgerType """The charged supply agreements of the ledger.""" agreements(before: String, after: String, first: Int, last: Int): AgreementConnection """The usable payment instructions for this ledger.""" usablePaymentInstructions(usableAt: DateTime, before: String, after: String, first: Int, last: Int): PaymentInstructionConnectionTypeConnection """ The active billing trigger configuration for the ledger. The possible errors that can be raised are: - KT-CT-9709: Billing trigger configuration only supports SupplementaryLedger type. - KT-CT-1113: Disabled GraphQL field requested. """ billingTriggerConfiguration: BillingTriggerConfiguration """Is it possible for this ledger to contain statements.""" supportsStatements: Boolean """Is it possible for this ledger to contain invoices.""" supportsInvoices: Boolean """True if the current direct debit instruction has been invalidated by vendor. False otherwise.""" currentDirectDebitInstructionInvalidatedWithVendor: Boolean """Payments with non-concluded re-presentation.""" paymentsWithNonConcludedRePresentation(before: String, after: String, first: Int, last: Int): PaymentWithNonConcludedRePresentationConnectionTypeConnection } """Represents the characteristics and configuration of an ordered item.""" type LegacyItemProfileType { """The characteristic values for this item profile.""" characteristics: JSONString } """Represents the details of an `Order`.""" type LegacyOrderDetailsType { """ The order details. The possible errors that can be raised are: - KT-CT-13101: Order not found. - KT-CT-1113: Disabled GraphQL field requested. """ order: LegacyOrderType """ The current status of the order. The possible errors that can be raised are: - KT-CT-13101: Order not found. - KT-CT-1113: Disabled GraphQL field requested. """ status: OrderStatus """ The resources associated with the order. The possible errors that can be raised are: - KT-CT-13101: Order not found. - KT-CT-1113: Disabled GraphQL field requested. """ resources: [LegacyOrderResource] } """Represents an item being ordered.""" type LegacyOrderItemType { """The profile containing characteristics of the item.""" profile: LegacyItemProfileType """Market-specific data for the item.""" marketData: JSONString """The code identifying the item.""" code: NonEmptyString } """Represents a period defined by specific start and end dates.""" type LegacyOrderLineDateRangeType { """The start date and time of the period.""" start: DateTime! """The end date and time of the period. Null indicates an infinite/rolling period.""" end: DateTime } """Represents a period defined by duration in seconds.""" type LegacyOrderLineDurationType { """The duration in seconds.""" duration: Float! } """Represents a line item in an order.""" type LegacyOrderLineType { """The item being ordered.""" item: LegacyOrderItemType """The period for which this order line is valid. Can be a range or a duration.""" period: LegacyOrderLinePeriodType """The target customer for this order line.""" target: AccountType """The terms applicable to this order line.""" terms: [TermInterface] } """Represents a resource associated with an order.""" type LegacyOrderResource { """The type of the resource.""" resourceType: NonEmptyString """The unique identifier of the resource.""" resourceIdentifier: NonEmptyString } """Represents an order in the system.""" type LegacyOrderType { """Unique identifier for the order.""" identifier: NonEmptyString """The customer who placed the order.""" customer: LegacyOrderCustomerType """The order lines in this order.""" lines: [LegacyOrderLineType] """The date and time when the order was placed.""" orderedAt: DateTime """The terms applicable to this order.""" terms: [TermInterface] """The sales record associated with this order, if any.""" sale: SalesRecordType """The source offering that generated this order.""" source: String } """Output type for the result of processing an order.""" type LegacyProcessOrderOutput { """The status of the order processing.""" status: OrderStatus """The unique identifier of the processed order.""" identifier: NonEmptyString """The resources associated with the processed order.""" resources: [LegacyOrderResource!] } type LegacyQuoteType implements QuoteType { id: ID code: String postcode: String includesElectricity: Boolean includesGas: Boolean includesExport: Boolean createdAt: DateTime products: [QuotedProduct] @deprecated(reason: "The 'products' field is deprecated. Use quotedProducts instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-10-02.") quotedProducts(filterHeroProducts: Boolean = false): [QuotedProduct] """Return the DMO Reference Data for the quoted NMI.""" referenceUsage: DmoReferenceType @deprecated(reason: "The 'dmoReference' field is deprecated. Replace with `QuotedProductType.priceReference` which works across markets. - Marked as deprecated on 2023-11-28. - Scheduled for removal on or after 2024-05-28.") """Quoted Supply Point.""" quotedSupplyPoints: [QuotedSupplyPointType] } type LegacyQuotedProduct implements QuotedProduct { id: ID name: String code: String description: String monthlyAmount: String @deprecated(reason: "The 'monthlyAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") annualAmount: String @deprecated(reason: "The 'annualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") elecAnnualAmount: String @deprecated(reason: "The 'elecAnnualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") gasAnnualAmount: String @deprecated(reason: "The 'gasAnnualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") isRecommended: Boolean marketSupplyProduct(filteredRatesByQuoteNmi: String = null, relativeToMeterPointNmi: String = null): Product """Return the Usage Reference for the quoted product.""" usageReference: UsageReferenceInterface priceReference: PriceReferenceInterface """Cost and usage estimation.""" estimate: Estimate } type LifeSupportRecordType { id: ID! lifeSupportDate: Date details: String lifeSupportStatus: LifeSupportStatus lifeSupportEquipment: LifeSupportEquipment isOwnedByKraken: Boolean preferredContactMethod: LifeSupportPreferredContactMethod } type LifeSupportType { """If the account has a current or past life support record, takes a conservative approach on this unless we have explicit confirmation that they are NOT on life support.""" hasLifeSupportRecord: Boolean records: [LifeSupportRecordType] } type LifecycleProcessesType { """List of LeaveSupplierProcess for an account.""" leaveSupplierProcesses(before: String, after: String, first: Int, last: Int): LeaveSupplierProcessConnectionTypeConnection """List of JoinSupplierProcess for an account.""" joinSupplierProcesses(before: String, after: String, first: Int, last: Int): JoinSupplierProcessConnectionTypeConnection """List of OccupyPropertyProcess for an account.""" occupyPropertyProcesses(before: String, after: String, first: Int, last: Int): OccupyPropertyProcessConnectionTypeConnection """List of LeavePropertyProcess for an account.""" leavePropertyProcesses(before: String, after: String, first: Int, last: Int): LeavePropertyProcessConnectionTypeConnection } """Represents the lifecycle of an offering.""" type LifecycleType { """Unique lifecycle code.""" code: String! """Current version of the offering.""" version: Int! """Maximum version number reached.""" maxVersion: Int! """Identifier of the previous version of this offering.""" previousOffering: ID """Current status of the offering.""" status: CatalogComponentStatus! """DateTime when the offering was activated.""" activatedAt: DateTime } """A base error type. Should be used for general application or lower level errors.""" type LineCommonError { """The error message to display to the user.""" message: String! """The field that for which this error should be associated.""" field: String } """ A LINE specific emoji object. refs: https://developers.line.biz/en/reference/messaging-api/#text-message """ type LineEmoji { """The location of the emoji in the message.""" index: Int! """The length of the emoji string placeholder.""" length: Int """The product id.""" productId: String! """The emoji id.""" emojiId: String! } type LineImageMessage { id: ID! } """The smallest component of a charge on the bill.""" type LineItemType { supplyType: String! periodStartAt: DateTime! periodEndAt: DateTime! numberOfUnits: Decimal! pricePerUnit: Decimal! netAmount: Decimal! chargeTarget: String! """The associated rate for the item.""" rate: RateInterface """The charge.""" charge: AccountChargeType """Whether the consumption for this line item was estimated. Note that if the value returned is null, it means that the data is not available.""" consumptionIsEstimated: Boolean currency: LineItemCurrency! } """Link Successful. Complete link process with LINE.""" type LineLinkRedirectResponse { redirectUrl: String! } type LineStickerMessage { """Sticker package id.""" packageId: String! """Sticker id.""" stickerId: String! """Sticker resource type.""" resourceType: String! """Keywords describing the sticker.""" keywords: [String!]! """Text used to customize some stickers.""" text: String! } type LineTextMessage { """The display content.""" displayContent: String! """The emojis in the message.""" emojis: [LineEmoji!] } type LineUnlinkedResponse { message: String! } """ Link an account to a business. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11104: Business role already allocated. - KT-CT-11105: Business role already allocated. - KT-CT-11106: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type LinkAccountToBusiness { """The business the account was linked to.""" business: BusinessType } """An action which navigates to any URL.""" type LinkActionType implements ActionInterface & IdentifiableInterface { """The name of the action object's type.""" typeName: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The URL to navigate to.""" url: String! } """Returned when no LineAccountLink record matching the parameters exists.""" type LinkTokenNotFound { """The type of error that occurred.""" type: LineLinkErrorType! } type LivePaymentAdequacyCalculation { """The suggested monthly payment amount in minor currency following the payment adequacy review.""" suggestedNewMonthlyAmount: Int """Breakdown of customer's estimated or real usage per market and per month.""" consumption(before: String, after: String, first: Int, last: Int): ConsumptionBreakdownConnectionTypeConnection """The combined average montly cost for all markets based on usage.""" averageMonthlyCharge: Int """The amount the customer is paying monthly at the time of the review.""" existingMonthlyAmount: Int """Suggested temporary adjustment to ongoing usage amount to cover debt or overpayment.""" balanceAdjustment: Int """The balance the ledger has at the time of review.""" currentBalance: Int """The balance we expect the ledger to have at the end period of the review.""" targetBalance: Int """The date that we used to calculate the review of the ledger.""" reviewedOn: Date } """A loyalty card.""" type LoyaltyCardType { id: ID! """The scheme of the loyalty card.""" scheme: String """The number of the loyalty card.""" number: String """The status of the loyalty card.""" status: String } """A Loyalty Point ledger entry.""" type LoyaltyPointLedgerEntryType { id: ID! """The `LedgerEntryType`. Either CHARGE or CREDIT.""" ledgerType: String """The value of the charge or credit.""" value: String """Equal to the `balance_carried_forward` from the previous ledger entry or zero if this is the first one.""" balanceBroughtForward: String """Equal to the `balance_brought_forward` plus or minus the value depending on the ledger_type.""" balanceCarriedForward: String """The reason the entry was being added.""" reasonCode: String """A unique idempotency key for the operation.""" idempotencyKey: UUID """The date the points were added to the ledger.""" postedAt: DateTime """The account number associated with the entry.""" accountNumber: String } type LoyaltyPointsProgramEligibilityType { """Whether the account is eligible to join the loyalty points program.""" isEligible: Boolean """The primary reason for ineligibility, if any.""" primaryIneligibilityReason: String } type LoyaltyType { """The loyalty scheme in use.""" scheme: String } type MDHXProcessDiscoveryType { id: ID! correlationId: String! processType: MDHXProcessType currentStatus: MDHXStatusReason statusReason: String } type MIRNCheckType { """Whether the MIRN searched for is currently on supply.""" isOnSupply: Boolean """Meter point Status for the MIRN in Kraken. It will be null if the MIRN is not on supply.""" krakenStatus: KrakenStatus """Date since when the MIRN is on supply. It will be null if the MIRN is not on supply.""" supplyStartDate: Date """Whether the account associated with MIRN is an occupier account. This will be null if there is no linked account.""" isOccupier: Boolean """The account number associated with the MIRN. This will be null if there is no linked account.""" accountNumber: String @deprecated(reason: "The 'accountNumber' field is deprecated. Use account to access the account.number instead. - Marked as deprecated on 2024-01-19. - Scheduled for removal on or after 2024-06-01.") """The account associated with the MIRN. This will be null if there is no linked account.""" account: AccountType } type MIRNDiscoveryRequestAlreadyTriggeredErrorType implements GenericErrorInterface { message: String! } """ Make Payment with a new card and save the card. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type MakePaymentWithNewCard { """The new payment.""" accountPayment: AccountPaymentType """The credit card instruction used.""" creditCardInstruction: DirectDebitInstructionType } """ Make a payment with a saved credit card instruction. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type MakePaymentWithSavedCard { accountPayment: AccountPaymentType } """ Mark a Meter Data Issue as manually reviewed by setting its status to IN_REVIEW. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13802: Meter data issue not found. - KT-CT-13806: Invalid market name provided. - KT-CT-13808: No active flow exists for this issue. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type ManualReviewMeterDataIssue { """The manually reviewed meter data issue.""" meterDataIssueManualReviewed: ManualReviewMeterDataIssueOutputType } """Output for marking a MeterDataIssue as manually reviewed.""" type ManualReviewMeterDataIssueOutputType { """The ID of the MeterDataIssue.""" issueId: Int """The new status of the meter data issue.""" status: MeterDataIssueStatus } """ Mark a closed print batch as processed. The possible errors that can be raised are: - KT-CT-9011: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type MarkPrintBatchAsProcessed { printBatch: PrintBatchType } type MarketMismatchErrorType implements GenericErrorInterface { message: String! """The input field that failed database lookup.""" field: String! } type MarketParticipantType { """The participant ID.""" participantId: String """The participant name.""" participantName: String """The participant type.""" participantType: String """The market type.""" marketType: String } type MarketSupplyQuoteRequestAsLegacyQuoteType implements QuoteType { id: ID code: String postcode: String includesElectricity: Boolean includesGas: Boolean includesExport: Boolean createdAt: DateTime products: [QuotedProduct] @deprecated(reason: "The 'products' field is deprecated. Use quotedProducts instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-10-02.") quotedProducts(filterHeroProducts: Boolean = false): [QuotedProduct] """Return the DMO Reference Data for the quoted NMI.""" referenceUsage: DmoReferenceType @deprecated(reason: "The 'dmoReference' field is deprecated. Replace with `QuotedProductType.priceReference` which works across markets. - Marked as deprecated on 2023-11-28. - Scheduled for removal on or after 2024-05-28.") """The quoted supply point.""" quotedSupplyPoints: [QuotedSupplyPointType] } """A quote request.""" type MarketSupplyQuoteRequestType { acceptedAt: DateTime requestedAt: DateTime """The code of the created quote.""" code: String """List of quoted supply points.""" quotedSupplyPoints(before: String, after: String, first: Int, last: Int): MarketSupplyQuotedSupplyPointConnectionTypeConnection """List of terms and conditions applicable to the quote.""" termsAndConditions(before: String, after: String, first: Int, last: Int): TermsAndConditionsConnectionTypeConnection } type MarketSupplyQuotedProductAsLegacyQuotedProduct implements QuotedProduct { id: ID name: String code: String description: String monthlyAmount: String @deprecated(reason: "The 'monthlyAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") annualAmount: String @deprecated(reason: "The 'annualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") elecAnnualAmount: String @deprecated(reason: "The 'elecAnnualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") gasAnnualAmount: String @deprecated(reason: "The 'gasAnnualAmount' field is deprecated. Replaced with new estimate field. - Marked as deprecated on 2023-07-10. - Scheduled for removal on or after 2023-08-10.") isRecommended: Boolean marketSupplyProduct(filteredRatesByQuoteNmi: String = null, relativeToMeterPointNmi: String = null): Product """Return the Usage Reference for the quoted product.""" usageReference: UsageReferenceInterface priceReference: PriceReferenceInterface """Cost and usage estimation.""" estimate: Estimate } """Pagination for quoted products.""" type MarketSupplyQuotedProductConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [MarketSupplyQuotedProductConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `MarketSupplyQuotedProductConnectionType` and its cursor.""" type MarketSupplyQuotedProductConnectionTypeEdge { """The item at the end of the edge""" node: MarketSupplyQuotedProductType """A cursor for use in pagination""" cursor: String! } """A product quoted for a supply point.""" type MarketSupplyQuotedProductType { id: ID! wasSelected: Boolean! """The product associated with the quoted product.""" product: SupplyProductType """A JSON object containing client parameters on the quoted product.""" clientParams: JSONString } """Pagination for quoted supply points.""" type MarketSupplyQuotedSupplyPointConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [MarketSupplyQuotedSupplyPointConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `MarketSupplyQuotedSupplyPointConnectionType` and its cursor.""" type MarketSupplyQuotedSupplyPointConnectionTypeEdge { """The item at the end of the edge""" node: MarketSupplyQuotedSupplyPointType """A cursor for use in pagination""" cursor: String! } """A supply point quoted as part of a quote request.""" type MarketSupplyQuotedSupplyPointType { """The market this supply point belongs to.""" marketName: String """The ID of the quoted supply point.""" id: ID """The identifier of the quoted supply point, if one exists.""" identifier: String """Details of all products quoted for this supply point.""" quotedProducts(before: String, after: String, first: Int, last: Int): MarketSupplyQuotedProductConnectionTypeConnection """The supply point being quoted.""" supplyPoint: SupplyPointType """A JSON object containing client parameters on the quoted product.""" clientParams: JSONString } """ Provide a temporary token to get an auth token. This is intended to allow support users to view customer data through the brand interface. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type MasqueradeAuthentication { """A Kraken Token that can be used to authenticate to the API, masquerading as the desired user.""" token: String """A list of any errors that occurred while running this mutation.""" errors: [ErrorType] } type MaximumRefundType { """The maximum amount available to be requested as a refund.""" amount: Int """The reason why a specific amount is the maximum available to be requested as a refund.""" reasonToRecommendAmount: MaximumRefundReasonChoices """The recommended minimum balance an account should have when asking for a refund.""" recommendedBalance: Int } """Pagination for measurements.""" type MeasurementConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [MeasurementEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Measurement` and its cursor.""" type MeasurementEdge { """The item at the end of the edge""" node: MeasurementInterface """A cursor for use in pagination""" cursor: String! } type MeasurementType implements MeasurementInterface { """The data source of the measurement.""" source: String! """This type will return more granular data about the measurement.""" metaData: MeasurementsMetadataOutput """The value of the measurement.""" value: Decimal! """The unit of the measurement.""" unit: String! """The datetime the measurement was taken.""" readAt: DateTime! } type MeasurementsMetadataOutput { """The source information relating to the parent measurement node.""" utilityFilters: UtilityFiltersOutput """Statistics relating to the parent measurement node.""" statistics: [StatisticOutput] """Extras relating to the parent measurement node.""" extras: [ExtrasOutput] } type Message { """The channel that the message was sent through.""" channel: Channel! """The date/time that Kraken dispatched the message to the vendor.""" dispatchedAt: DateTime """The date/time that the message was confirmed as having failed to send.""" failedAt: DateTime """The ID of the transactional message.""" id: String! """The account associated with this transactional message.""" account: AccountType """The account user associated with this transactional message.""" accountUser: AccountUserType } type MessageConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [MessageEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Message` and its cursor.""" type MessageEdge { """The item at the end of the edge""" node: Message """A cursor for use in pagination""" cursor: String! } """Represents a communication.""" type MessageType { id: ID! channel: MessageChannel! toAddress: String! fromEmail: String! toNumber: String! fromNumber: String! templateCode: String! createdAt: DateTime! sentAt: DateTime """Attachments of the message.""" attachments: [AttachmentType] } type Metadata { """The key for the metadata.""" key: String! """The metadata value.""" value: JSONString } """Meter Details. Can be sourced from within Kraken or elsewhere""" type MeterDetails { """The meter identific of the search result address.""" mirn: String """The Australian address of the meter.""" address: MirnSearchResultMeterAddress """Indicates whether or not these meter details/MIRN are already known.""" existingSupplyPoint: Boolean } type MeterPointAddressType { dpid: Int buildingName: String flatNumber: String flatType: String floorNumber: String floorType: String houseNumber: Int houseNumberSuffix: String locationDescriptor: String lotNumber: String streetName: String streetSuffix: String streetType: String locality: String state: String postcode: String } type MeterPointIdentifierInvalidErrorType implements GenericErrorInterface { message: String! } """ Note that this is electricity specific. Use `GasMeterPointType` for gas meter points. """ type MeterPointType implements MeterPointInterface & GasAndElectricityMeterPointInterface { """The database identifier of the meter point.""" id: Int """The Financial Responsible Market Participant status.""" status: String @deprecated(reason: "The 'status' field is deprecated. Use supplyStatus instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-10-10.") """A list of agreements belonging to an account that is linked to the logged in user.""" agreements(includeInactive: Boolean = true): [AusAgreementInterface] """The external identifier for the meter point (NMI for electricity, MIRN for gas).""" identifier: String """The electricity meters installed at this meter point.""" meters(id: Int, includeInactive: Boolean): [ElectricityMeterType] """The fuel/service type for this meter point.""" supplyType: String """Supply details including agreed capacity and connection units.""" supplyDetails: SupplyDetailsType """Details about an enrolment of this meter point. Will be null if no enrolment is taking place.""" enrolment: EnrolmentType """The Financial Responsible Market Participant status.""" supplyStatus: KrakenStatus supplyStartDate: DateTime supplyEndDate: DateTime """Whether the meter point is on supply.""" isOnSupply: Boolean """The check character that is sometimes suffixed to the NMI. For the NMI itself, refer to the `identifier` field.""" nmiChecksum: String smartStartDate: Date """The Local Network Service Provider responsible for this meter point.""" lnsp: LNSPType """The physical state of the meter point.""" energizationStatus: EnergizationStatus """The AEMO market participant roles assigned to this meter point.""" roles: RoleType """We recommend you use siteAddress instead of this field.""" address: MeterPointAddressType @deprecated(reason: "The 'address' field is deprecated. Use siteAddress instead. - Marked as deprecated on 2022-08-22. - Scheduled for removal on or after 2022-09-30.") """The structured address of the meter point site.""" siteAddress: RichAddressType """Instructions for physical access to the meter point site.""" accessDetails: String """A list of known hazards at the meter point site.""" hazards: [String] """The classification of the end user at this connection point: BUSINESS or RESIDENTIAL.""" customerClassification: String """The NMI classification describing the flow of electricity at the connection point, e.g. SMALL, LARGE, GENERATR.""" nmiClassification: String """The consumption threshold code as defined in National Energy Retail Regulations: LOW, MEDIUM, or HIGH.""" customerClassificationThreshold: String """The Australian state or territory where the meter point is located, e.g. NSW, QLD, VIC.""" jurisdiction: String """The distribution feeder classification for this meter point.""" feederClass: String """The Transmission Node Identifier (TNI) code from the AEMO CATS_TNI_CODES table.""" transmissionNodeIdentifier: String """The Distribution Loss Factor (DLF) code from the AEMO CATS_DLF_CODES table.""" distributionLossFactorCode: String """Whether the meter point has a sensitive load designation. A registered Life Support record takes precedence over this flag.""" sensitiveLoad: Boolean """The solar feed-in tariff scheme in place at the meterpoint, if any.""" solarScheme(asAt: DateTime): SolarType """ MVP solution for calculating a predicted bill based on costed consumption and standing charges for a given meter point. The prediction is calculated by the following algorithm: P(A, B, C, D, E, F) = ( (A + ((B+C)/2)*D ) * E ) + F Where: A = Aggregated consumption for each register within this meter point in the billing period to date (kWh). B = 7 day average rolling window consumption per day (kWh). C = Average existing usage per day for the current billing period (kWh). D = Remaining days in the current billing period. E = Rate costs. F = Total standing charges for the billing period assuming the customer stays in the same current product rate. Exceptions: 1. In the first day of the billing cycle, the variable C would tend towards zero. This would result in a poor result for the equation above. Instead, we replace the component ((B+C)/2)*D by B*D. Notes: 1. The process of getting a meter reading and storing it usually takes about 24-48h in Kraken. This means that the prediction bill is always lagging 1 or 2 days behind. In order to circumvent this, concepts such as "usage to date" are translated as "usage until the date of the last reading" so that the calculation becomes more precise. In future, Kraken will start digesting and storing readings quicker, so that the date of the last reading will be today and the algorithm will catch up. 2. Building a predicted bill can be computationally expensive so we've imposed a cache of 600 seconds on the query. This MVP Excludes: - accounts with flexible billing options. - Anything more or less granular than DAILY consumptions/standing charges. - Concessions. - Credits. - Rebates. - Seasonality. """ predictedBill( includeQuarantined: Boolean = false includeEstimates: Boolean = false includeBasicMeters: Boolean = false includeUnbillableRegisters: Boolean = true supportSteppedTariffs: Boolean = false ): PredictedBillType """ Fetch standing charges on this meter point, bucketed into time slices of a variable granularity. The result will only include periods that are wholly between ``start_at`` and ``end_at``; so, for instance, if you have a ``start_at`` of midday and a ``granularity`` of ``DAILY``, you'll get results starting at midnight the following day. This field requires the `Authorization` header to be set. """ standingChargesSummary(startAt: DateTime!, endAt: DateTime!, timezone: String!, granularity: ConsumptionGranularity!): [SummarizedConsumptionType!]! @deprecated(reason: "The 'standingChargesSummary' field is deprecated. Use standingChargesWindow instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-11-02.") """ Fetch standing charges on this meter point, bucketed into time slices of a variable granularity. The result will only include periods that are wholly between ``start_at`` and ``end_at``; so, for instance, if you have a ``start_at`` of midday and a ``granularity`` of ``DAILY``, you'll get results starting at midnight the following day. This field requires the `Authorization` header to be set. """ standingChargesWindow(input: StandingChargesWindowInput!): StandingChargesWindowType """ Fetch consumption for this meterpoint, bucketed into time slices of a variable granularity. When the readings we have are less granular than the requested granularity (e.g. half-hourly or even monthly consumption requested on an interval meter), the consumption is divided evenly. Note that, because the way that humans measure time is weird, so too are the results of this endpoint. For instance, a day may not have exactly 48 half-hour periods (because a DST transition happened), and a three-month interval of meter readings may not appear to be spread evenly between months (because months have different numbers of days). The result will only include periods that are wholly between ``start_at`` and ``end_at``; so, for instance, if you have a ``start_at`` of midday and a ``granularity`` of ``DAILY``, you'll get results starting at midnight the following day. This field requires the `Authorization` header to be set. """ consumptionSummary( startAt: DateTime! endAt: DateTime! timezone: String! granularity: ConsumptionGranularity! includeEstimates: Boolean = true includeBasicMeters: Boolean = false ): [ElectricityCostedConsumptionType!]! branchCode: String """When the energization status was last changed.""" energizationStatusFrom: Date """When the energization status record is recorded until.""" energizationStatusTo: Date } """Paginator for estimations of meter readings.""" type MeterReadingEstimationReadingConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [MeterReadingEstimationReadingEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `MeterReadingEstimationReading` and its cursor.""" type MeterReadingEstimationReadingEdge { """The item at the end of the edge""" node: MeterReadingEstimationReadingType """A cursor for use in pagination""" cursor: String! } type MeterReadingEstimationReadingType { """The start date of the reading interval.""" intervalStart: DateTime! """The end date of the reading interval.""" intervalEnd: DateTime! """The value of the reading.""" value: Decimal! """Denotes if the reading was estimated.""" isNewlyEstimated: Boolean! """The algorithm used for the estimation.""" estimatedByAlgorithm: String } type MfaDevice { """The type of MFA device.""" deviceType: String """Whether the MFA device is confirmed or not.""" isConfirmed: Boolean } """Represents the minimum term of a contract.""" type MinimumContractLengthType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The minimum length of the contract.""" length: Int """The unit of time for the contract length.""" unitOfTime: String } type MirnAlreadyExistsErrorType implements GenericErrorInterface { message: String! } type MirnSearchResult { """Details of the gas meter point.""" meterDetails: [MeterDetails] """An error that occurred during the search.""" error: MirnSearchResultErrorType } type MirnSearchResultErrorType implements GenericErrorInterface { message: String! } type MirnSearchResultMeterAddress { """House number of the meter address.""" houseNumber: String """House number suffix of the meter address.""" houseNumberSuffix: String """Street name of the meter address.""" streetName: String """Street type of the meter address.""" streetType: StreetType """Suburb of the meter address.""" suburbLocality: String """State of the meter address.""" stateTerritory: StateChoices """Postcode of the meter address.""" postcode: String """Street suffix of the meter address.""" streetSuffix: String """Flat or unit type of the meter address.""" flatUnitType: String """Flat or unit number of the meter address.""" flatUnitNumber: String """Floor or level type of the meter address.""" floorType: String """The floor number of the meter address.""" floorNumber: String """Building name of the meter address.""" buildingName: String """Location descriptor of the meter address.""" locationDescriptor: String """Lot number of the meter address.""" lotNumber: String """Dpid number of the meter address.""" dpidNumber: String """Address information. Formatted as a single line and derived from other fields on the Address.""" address: String } type MissingAccountForRegisterValidationErrorType implements GenericErrorInterface { message: String! } type MissingActiveAgreement implements GenericErrorInterface { message: String! } type MissingActiveGasSupplyPoint implements GenericErrorInterface { message: String! } type MissingHouseAndLotNumberErrorType implements GenericErrorInterface { message: String! } type MissingPaymentDetailsErrorType implements GenericErrorInterface { message: String! } type MissingReadingsValidationErrorType implements GenericErrorInterface { message: String! } type MoveInAdressDetailIsMissingErrorType implements GenericErrorInterface { message: String! } type MoveInDatesType { """Suitable dates for a move in.""" moveInDates: [Date] """Potential error message for the query.""" error: MoveInDatesErrorUnion } type MoveInDetailsHaveTooManyHazardsErrorType implements GenericErrorInterface { message: String! } type MoveInDetailsInValidErrorType implements GenericErrorInterface { message: String! } type MoveInFailedToCompleteErrorType implements GenericErrorInterface { message: String! } type MoveOutDatesType { moveOutDates: [Date] error: MoveOutDatesErrorUnion } """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type MoveToBucket { """The conversation that was moved to the bucket.""" conversation: InkConversation! } type MultipleMeterpointsValidationErrorType implements GenericErrorInterface { message: String! } type MultipleObjectsReturnedErrorType { """The input field that matched more than one object in the database.""" field: String! } type Mutation { """ You probably want email authentication instead of this. Provide user's API Key to receive a token. The token should be used as the `Authorization` header for any authenticated requests. This form of authentication is used when the interface in question already has the API Key and it would be inappropriate to show the user a login screen. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ apiKeyAuthentication(apiKey: String!): APIKeyAuthentication @deprecated(reason: "The 'apiKeyAuthentication' field is deprecated. Please use obtainKrakenToken instead of this mutation. - Marked as deprecated on 2021-09-03. - Scheduled for removal on or after 2024-01-01.") """ The possible errors that can be raised are: - KT-CT-11801: Call recording in a confused state. - KT-CT-7813: Support user not found with that username. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setCallRecordingState(input: SetCallRecordingStateInput!): SetCallRecordingState """ Verify supply abolishment job. The possible errors that can be raised are: - KT-AU-11710: Supply abolishment verification is not enabled. - KT-AU-11711: Verification code is not in expected format: {job_id}_{verification_code}. - KT-AU-11712: Supply abolishment job not found. - KT-AU-11713: Supply abolishment journey is not in a proper status. - KT-AU-11714: Job is not subject to verification. - KT-AU-11715: Job is already verified. - KT-AU-11716: Verification code does not match. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ verifySupplyAbolishment(input: VerifySupplyAbolishmentInput!): VerifySupplyAbolishment """ Offer a payment plan to a Customer. The possible errors that can be raised are: - KT-AU-3918: Unable to create payment plan. - KT-AU-3921: The specified account ledger wasn't found. - KT-AU-3931: The payment plan had no payment components. - KT-AU-3932: The payment plan offer expiry must be before the first payment. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ offerPaymentPlan(input: CreatePaymentPlanOfferInput!): OfferPaymentPlan """ Accept (and activate) a payment plan which has been offered to a Customer. The possible errors that can be raised are: - KT-AU-3933: The payment plan was not found. - KT-AU-3934: The ledger has an existing payment plan. - KT-AU-3935: The payment plan offer has expired. - KT-AU-3936: The payment plan could not be accepted. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ acceptPaymentPlan(input: AcceptPaymentPlanInput!): AcceptPaymentPlan """ Cancel an active payment plan for a Customer. The possible errors that can be raised are: - KT-AU-3933: The payment plan was not found. - KT-AU-3937: The payment plan could not be cancelled. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelPaymentPlan(input: CancelPaymentPlanInput!): CancelPaymentPlan """ Break an active payment plan for a Customer. The possible errors that can be raised are: - KT-AU-3933: The payment plan was not found. - KT-AU-3938: The payment plan could not be broken. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ breakPaymentPlan(input: BreakPaymentPlanInput!): BreakPaymentPlan """ Update an existing credit card instruction. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-3926: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ updateCreditCardInstruction(input: UpdateCreditCardInstructionInput!): UpdateCreditCardInstruction """ Make Payment with a new card and save the card. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ makePaymentWithNewCard(input: MakePaymentWithNewCardInput!): MakePaymentWithNewCard @deprecated(reason: "The 'makePaymentWithNewCard' field is deprecated. This mutation only applies to clients using the legacy finanicals system. Use a combination of `storePaymentInstruction` and `collectPayment` instead. - Marked as deprecated on 2025-05-26. - Scheduled for removal on or after 2026-07-26.") """ Setup the payment schedules and payment instructions, usually after a product switch. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setupPaymentDetails(input: SetupPaymentDetailsInput!): SetupPaymentDetails @deprecated(reason: "The 'setupPaymentDetails' field is deprecated. This mutation only applies to the legacy financial system,which no client uses anymore. Use cashflow mutation equivalents instead. - Marked as deprecated on 2026-07-03. - Scheduled for removal on or after 2026-10-03.") """ Create a new hardship agreement for an account. The possible errors that can be raised are: - KT-CT-11612: Overlapping hardship agreement exists. - KT-CT-12901: Account not found. - KT-CT-10950: Invalid date range. - KT-CT-1113: Disabled GraphQL field requested. """ createHardshipAgreement(input: CreateHardshipAgreementInput!): CreateHardshipAgreement """ Update an existing hardship agreement for an account. The possible errors that can be raised are: - KT-CT-11611: Hardship agreement not found. - KT-CT-11612: Overlapping hardship agreement exists. - KT-CT-10950: Invalid date range. - KT-CT-1113: Disabled GraphQL field requested. """ updateHardshipAgreement(input: UpdateHardshipAgreementInput!): UpdateHardshipAgreement """ Trigger a C4 request to be sent to the market gateway. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-13814: Invalid C4 request parameters. - KT-AU-13815: Unable to send C4 request. - KT-AU-13816: C4 request already in progress. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ triggerC4Request(input: TriggerC4RequestInputType!): TriggerC4Request """ Trigger a VMD (Verify Meter Data) request to be sent to the market gateway. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13817: Invalid VMD request parameters. - KT-AU-13818: Unable to send VMD request. - KT-AU-13819: VMD request precondition not met. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ triggerVmdRequest(input: TriggerVmdRequestInputType!): TriggerVmdRequest """ Trigger a PMD (Provide Meter Data) request to be sent to the market gateway. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13821: PMD request precondition not met. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ triggerPmdRequest(input: TriggerPmdRequestInputType!): TriggerPmdRequest """ Publish the transactional messaging trigger to send an email to the meter data issue's MDP. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13820: No operational contact found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ publishMeterDataIssueEmail(input: PublishMeterDataIssueEmailInput!): PublishMeterDataIssueEmail """ Send a Change NMI Details request to create a pending data update. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13822: Change NMI details request precondition not met. - KT-AU-13823: Redundant NMI status update. - KT-AU-13824: Unable to verify NMI status against SDR. - KT-AU-13825: Change NMI details request blocked because the connection point has safety de-energisation enabled. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendChangeNmiDetailsRequest(input: SendChangeNMIDetailsRequestInputType!): SendChangeNMIDetailsRequest """ Mutation to update a meter point's access details. The possible errors that can be raised are: - KT-CT-6420: Unauthorized. - KT-CT-4011: No meter points found with the given ID. - KT-AU-7810: Missing mutation inputs. - KT-AU-5610: Max number of meter point hazards exceeded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateElecMeterPointAccessDetails(input: UpdateElecMeterPointAccessDetailsInputType): UpdateElecMeterPointAccessDetails """ Creates network tariff code override for the register under Meter point. The possible errors that can be raised are: - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-5611: Cannot find register with the provided ID. - KT-AU-5612: Error in creating the override. - KT-AU-5617: Override period falls outside the register's active period. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createRegisterNtcOverride(input: CreateRegisterNTCOverrideInputType): CreateRegisterNTCOverride """ Updates network tariff code override for the register under Meter point. The possible errors that can be raised are: - KT-AU-5611: Cannot find register with the provided ID. - KT-AU-5612: Error in creating the override. - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-5614: Cannot find register network tariff code override with the provided ID. - KT-AU-5617: Override period falls outside the register's active period. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateRegisterNtcOverride(input: UpdateRegisterNTCOverrideInputType): UpdateRegisterNTCOverride """ Trigger a SiteAccessNotification to be sent to industry. The possible errors that can be raised are: - KT-AU-5613: Cannot find meter point with the provided ID. - KT-CT-4502: Market message already sent. - KT-CT-4503: Market message failed validation. - KT-AU-4511: Error communicating with Chroma. - KT-AU-4512: Chroma request validation error. - KT-AU-4513: Chroma response validation error. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendSiteAccessNotification(input: SendSiteAccessNotificationInput!): SendSiteAccessNotification """ Trigger a CustomerDetailsRequest to be sent to industry. The possible errors that can be raised are: - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-12604: Could not create Customer Details Request for NMI. - KT-AU-12605: There was no repsonse to your request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendCustomerDetailsRequest(input: SendCustomerDetailsRequestInputType!): SendCustomerDetailsRequest """ Fetch or generate payment fingerprint from vendor. The possible errors that can be raised are: - KT-CT-12101: Payment instruction not found. - KT-CT-12102: Payment vendor not supported. - KT-CT-12103: Missing payment metadata from vendor. - KT-CT-12104: Unable to fetch or generate payment fingerprint. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ fetchGeneratePaymentFingerprint(input: FetchGeneratePaymentFingerprintInput!): FetchGeneratePaymentFingerprint """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13601: Estimation Group does not exist. - KT-CT-13602: Supply Point already has an Estimation Group. - KT-CT-13603: Supply Point does not exist. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ assignSupplyPointToEstimationGroup(input: AssignSupplyPointToEstimationGroupInput!): AssignSupplyPointToEstimationGroup """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13603: Supply Point does not exist. - KT-CT-13604: Supply point has no estimation group assigned. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ detachSupplyPointFromEstimationGroup(input: DetachSupplyPointFromEstimationGroupInput!): DetachSupplyPointFromEstimationGroup """ Mutation to publish an event for an account or account user The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createProfileEventAndPublish(input: CreateUserProfileEventAndPublishInput!): CreateProfileEventAndPublish """ Mutation to create an electricity quote for a different nmi for a related account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createElectricityQuote(input: CreateElectricityQuoteInput!): CreateElectricityQuote """ Mutation to create a gas quote for a property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createGasQuote(input: CreateGasQuoteInput!): CreateGasQuote """ Mutation to create a quote for a property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createQuoteForProperty(input: CreateQuoteForPropertyInput!): CreateQuoteForProperty """ Create new direct debit instruction This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3940: Invalid data. - KT-CT-3923: Unauthorized. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createDirectDebitInstruction(input: CreateDirectDebitInstructionInput!): CreateDirectDebitInstruction @deprecated(reason: "The 'createDirectDebitInstruction' field is deprecated. Use `setUpDirectDebitInstruction` instead. - Marked as deprecated on 2024-02-05. - Scheduled for removal on or after 2024-08-01.") """ Delete payment schedule for an account. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ deletePaymentSchedule(input: DeletePaymentScheduleInput!): DeletePaymentSchedule """ Update a payment schedule for an account. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updatePaymentSchedule(input: UpdatePaymentScheduleInput!): UpdatePaymentSchedule """ Replaces the active payment schedule with a new payment schedule. Requires the new schedule type to be passed in, as well as whether the schedule should be fixed. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ replaceLatestPaymentSchedule(input: ReplaceLatestPaymentScheduleInput!): ReplaceLatestPaymentSchedule """ Creates a new payment schedule This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createPaymentSchedule(input: PaymentScheduleInput!): CreatePaymentSchedule """ Create a fixed payment schedule for the authenticated user. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createFixedPaymentSchedule(input: FixedPaymentScheduleInput!): CreateFixedPaymentSchedule """ Preview a new payment plan, or create it if requested. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3923: Unauthorized. - KT-AU-3917: Unable to preview payment plan. - KT-AU-3919: Unable to create payment plan. - KT-AU-3918: Unable to create payment plan. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ previewAndCreatePaymentPlan(input: PaymentPlanInput!): PreviewAndCreatePaymentPlan """ Make a payment with a saved credit card instruction. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ makePaymentWithSavedCard(input: MakePaymentWithSavedCardInput!): MakePaymentWithSavedCard @deprecated(reason: "The 'makePaymentWithSavedCard' field is deprecated. This mutation only applies to clients using the legacy finanicals system. Use `collectPayment` instead. - Marked as deprecated on 2025-05-26. - Scheduled for removal on or after 2026-07-26.") """ Initiate a request to create a new Centrepay Deduction for an account. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3923: Unauthorized. - KT-AU-3913: Centrepay Deduction valid_from date cannot be before today. - KT-AU-3914: Centrepay Deduction valid_to date must be later than today. - KT-AU-3915: Centrepay Deduction valid_to date must be later than valid_from date. - KT-AU-3916: Centrepay Deduction amount must be greater than $10.00. - KT-AU-3920: Cannot provide both validTo and targetAmount values. - KT-AU-3912: Cannot create a Centrepay Deduction with these details. - KT-AU-3930: Centrepay Deduction amount cannot be greater than Target Amount. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createCentrepayDeduction(input: CreateCentrepayDeductionInputType!): CreateCentrepayDeduction """ Initiate a request to cancel an existing Centrepay Deduction. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-AU-3923: Centrepay Deduction with provided ID does not exist. - KT-AU-3924: You do not have permission to administer this Centrepay Deduction. - KT-AU-3925: Cannot cancel this Centrepay Deduction. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelCentrepayDeduction(input: CancelCentrepayDeductionInputType!): CancelCentrepayDeduction """ Initiate a request to change the details of an existing Centrepay Deduction. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-AU-3923: Centrepay Deduction with provided ID does not exist. - KT-AU-3924: You do not have permission to administer this Centrepay Deduction. - KT-AU-3928: Cannot Cannot change validFrom date of Deduction that is already active. - KT-AU-3920: Cannot provide both validTo and targetAmount values. - KT-AU-3927: No change data provided. - KT-AU-3926: Cannot change this Centrepay Deduction. - KT-AU-3930: Centrepay Deduction amount cannot be greater than Target Amount. - KT-AU-3916: Centrepay Deduction amount must be greater than $10.00. - KT-AU-3914: Centrepay Deduction valid_to date must be later than today. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ changeCentrepayDeduction(input: ChangeCentrepayDeductionInputType!): ChangeCentrepayDeduction """ Update the method of payment for a solar export repayment. Allows customers to add or change their payment method for receiving solar export repayments. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3823: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateExportPaymentMethod(input: UpdateExportPaymentMethodInput!): UpdateExportPaymentMethod """ Creates payment extension according to the received options. Taken action would be one of the following: - if payment instruction is _NOT_ supplied and the account is on a manual payment, sets up one or two payment promise(s) - if payment instruction is _NOT_ supplied and the account is on an scheduled payment (direct debit/card), creates payment holiday - if payment instruction is supplied, sets up payment schedules for one or two instalment(s) A payment promise applies to an account that does not have automatic payments. It records that a customer has told us they'll pay an amount by an agreed-upon date. Payment Holiday means that when a customer is on a scheduled payment, the payments will not come out from customer's bank account for the period indicated. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-1113: Disabled GraphQL field requested. """ createPaymentExtension(input: CreatePaymentExtensionInput!): CreatePaymentExtension """ Reschedule an existing payment by a certain number of days This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ reschedulePayment(input: ReschedulePaymentInput!): ReschedulePayment """ Create electricity self meter reads. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ createElectricitySelfMeterReads(readings: [CustomerSelfMeterReadInput]!, shouldTriggerCustomerToBillReminder: Boolean = false): CreateCustomerSelfMeterReads """ Quarantine electricity self meter read. The possible errors that can be raised are: - KT-AU-5611: Cannot find register with the provided ID. - KT-AU-6411: Cannot find reading with the provided ID. - KT-AU-6412: Missing quarantine reading reason. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ quarantineElectricitySelfMeterRead(input: QuarantineElectricityReadingInputType!): QuarantineElectricitySelfMeterRead """ Create gas self meter reads. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ createGasSelfMeterReads(input: CreateGasMeterReadsInput!): CreateGasSelfMeterReads """ Taking a MIRN identifier trigger an async request to resolve its origin The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ requestMirnDiscovery(input: RequestMIRNDiscoveryInput!): RequestMIRNDiscovery """ Create a new supply point along with a property and a gas meter point. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createGasSupplyPoint(input: CreateGasSupplyPointInput!): CreateGasSupplyPoint """ Process a house move in for a related account, triggering a move in process for a defined user. Allows configuration of the user's: - Move in details - Billing preferences Depending on the related user's state in kraken, this mutation will either return or create an account within kraken. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ processHouseMoveInElectricity(input: ProcessHouseMoveInElectricityInput!): ProcessHouseMoveInElectricity """ Process a gas house move in for a related account, triggering a gas move in process for a defined user. Allows configuration of the user's: - Move in details - Billing preferences - Life support status - business_details Depending on the related user's state in kraken, this mutation will either return or create an account within kraken. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ processHouseMoveInGas(input: ProcessHouseMoveInGasInput!): ProcessHouseMoveInGas """ Mutation to process a house move that supports multiple markets. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ processHouseMove(input: ProcessHouseMoveInput!): ProcessHouseMove """ Trigger the electricity house move out process for a related account asynchronously. This creates a workflow instance with step instances executed as tasks; use the workflow ID in the response to track progress. The possible errors that can be raised are: - KT-CT-6623: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ triggerElectricityHouseMoveOut(input: TriggerElectricityHouseMoveOutInput!): TriggerElectricityHouseMoveOut """ Trigger the gas house move out process for a related account, asynchronously. It won't return the occupier account immediately, instead, it will create a workflow instance linking to a few step instances. The steps will be executed as tasks and clients can use the workflow id in the response to track the progress. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ triggerGasHouseMoveOut(input: TriggerGasHouseMoveOutInput!): TriggerGasHouseMoveOut """ Trigger the Leave Property lifecycle journey for a property in the CES embedded electricity market. Initially supports CES market supply points and is designed to expand to support all markets in the future. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-6623: Unauthorized. - KT-AU-6610: Move out process validation failed. - KT-AU-6611: Unable to move out of property. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ propertyMoveOut(input: PropertyMoveOutInput!): PropertyMoveOut """ Mutation to trigger an update the date of house move in or out The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateProcessedHouseMoveDate(input: UpdateProcessedHouseMoveDateInput!): UpdateProcessedHouseMoveDate """ Mutation to cancel a triggered move out process for a given account The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelHouseMoveOut(input: MoveOutCancelInput!): CancelHouseMoveOut """ Mutation to cancel a triggered move in process for a given account The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelHouseMoveIn(input: MoveInCancelInput!): CancelHouseMoveIn """ Trigger an asynchronous MIRN discovery process based on (partial) address details. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ startMirnIdentification(input: StartMirnIdentificationInput!): StartMirnIdentification """ The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateConcession(input: UpdateConcessionInput!): UpdateConcession """ The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createConcession(input: CreateConcessionInput!): CreateConcession """ The possible errors that can be raised are: - KT-AU-8812: User has no active concession. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ validateConcession(input: ValidateConcessionInput!): ValidateConcession """ Mutation to remove a concession for a user account The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removeConcession(input: RemoveConcessionInput!): RemoveConcession """ Create post delivery events from external vendors. The possible errors that can be raised are: - KT-CT-9907: Post events batch size exceeded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createPostEvents(input: CreatePostEventsInput!): CreatePostEvents """ Create a Meter Data Issue Flow for a given Issue ID and Flow ID. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13801: A meter data issue flow already exists for this issue and flow. - KT-CT-13802: Meter data issue not found. - KT-CT-13803: An active flow already exists for this issue. - KT-CT-13806: Invalid market name provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createMeterDataIssueFlow(input: CreateMeterDataIssueFlowInputType!): CreateMeterDataIssueFlow """ End a Meter Data Issue Flow by updating its status. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13804: Meter data issue flow not found. - KT-CT-13807: Invalid flow end status. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ endMeterDataIssueFlow(input: EndMeterDataIssueFlowInputType!): EndMeterDataIssueFlow """ Resolve a Meter Data Issue by setting its status to RESOLVED. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13802: Meter data issue not found. - KT-CT-13805: Meter data issue is already resolved. - KT-CT-13806: Invalid market name provided. - KT-CT-13808: No active flow exists for this issue. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ resolveMeterDataIssue(input: ResolveMeterDataIssueInputType!): ResolveMeterDataIssue """ Mark a Meter Data Issue as manually reviewed by setting its status to IN_REVIEW. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13802: Meter data issue not found. - KT-CT-13806: Invalid market name provided. - KT-CT-13808: No active flow exists for this issue. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ manualReviewMeterDataIssue(input: ManualReviewMeterDataIssueInputType!): ManualReviewMeterDataIssue """ Expire a Last Consumer Change Date record for a given NMI and date The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setLastConsumerChangeDateRecordToBeExpired(input: SetLastConsumerChangeDateRecordToBeExpiredInput!): SetLastConsumerChangeDateRecordToBeExpired """ Purchase a voucher. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4178: No account found with given account number. - KT-CT-3820: Received both ledger ID and number. - KT-CT-13201: Invalid voucher type. - KT-CT-3924: Unauthorized. - KT-CT-13204: A voucher purchase with this idempotency key already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ purchaseVoucher(idempotencyKey: String, input: PurchaseVoucherInput!): PurchaseVoucher """ Purchase multiple vouchers. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4178: No account found with given account number. - KT-CT-3820: Received both ledger ID and number. - KT-CT-13201: Invalid voucher type. - KT-CT-3924: Unauthorized. - KT-CT-13202: Exactly one of chargeAmountInCents or chargeAmountInCentsWithTax expected. - KT-CT-13203: Multiple account numbers found in voucher batch. - KT-CT-13204: A voucher purchase with this idempotency key already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ purchaseVouchers(idempotencyKey: String, input: [PurchaseVoucherInput]!): PurchaseVouchers """ Refund a voucher purchase. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13205: Voucher purchase not found. - KT-CT-13206: Voucher has already been redeemed and cannot be refunded. - KT-CT-13207: Voucher has already been refunded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ refundVoucher(input: RefundVoucherInput!): RefundVoucher """ The possible errors that can be raised are: - KT-CT-10820: Operations team group not found. - KT-CT-10821: No active teams in operations team group. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ nextOperationsTeamRoundRobin(teamGroupName: String!): NextOperationsTeamRoundRobin """ Create a complaint. The possible errors that can be raised are: - KT-CT-10801: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createComplaint(complaint: CreateComplaintInputType!): CreateComplaint """ The possible errors that can be raised are: - KT-CT-11805: Invalid input for creating an inbound call. - KT-CT-11810: Caller is blocked. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createInboundCall(input: CreateInboundCallInput!): CreateInboundCall """ The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11803: Unable to enqueue the call. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ enqueueInboundCall(input: EnqueueInboundCallInput!): EnqueueInboundCall """ The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11806: Call metadata item key cannot be an empty string. - KT-CT-11807: A call metadata item with this key already exists for this call. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createCallMetadata(input: CallMetadataInput!): CreateCallMetadata """ The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11815: Unable to connect a call to an AI agent. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ connectAiAgentToCall(input: ConnectAiAgentToCallInput!): ConnectAiAgentToCall """ The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11501: Voice campaign not found. - KT-CT-11503: One or more campaign items are invalid and cannot be created. - KT-CT-11504: The batch of campaign items is too large. - KT-CT-11506: Invalid campaign ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createCampaignItems(input: CreateCampaignItemsInput!): CreateCampaignItems """ The possible errors that can be raised are: - KT-CT-11501: Voice campaign not found. - KT-CT-11502: Cannot remove items from multiple campaigns at once. - KT-CT-11505: Voice campaign item not found. - KT-CT-11506: Invalid campaign ID. - KT-CT-11507: Invalid campaign item ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removeCampaignItems(input: RemoveCampaignItemsInput!): RemoveCampaignItems """ The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11802: Call not found. - KT-CT-11808: Unable to associate account to call. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ associateCallWithAccount(input: AssociateCallWithAccountInput!): AssociateCallWithAccount """ The possible errors that can be raised are: - KT-CT-11818: Invalid archived call recordings input. - KT-CT-11820: Too many recordings to associate in a single request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ associateArchivedCallRecordingsWithCalls(input: AssociateArchivedCallRecordingsWithCallsInput!): AssociateArchivedCallRecordingsWithCalls """ Terminate a credit transfer permission. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3825: Credit transfer permission not found. - KT-CT-3827: The ledger is not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ terminateCreditTransferPermission(input: TerminateCreditTransferPermissionInput!): TerminateCreditTransferPermission """ Create a credit transfer permission. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3827: The ledger is not valid. - KT-CT-3828: At least one of the provided ledgers must be a credit storage ledger. - KT-CT-3829: The credit transfer permission already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createCreditTransferPermission(input: CreateCreditTransferPermissionInput!): CreateCreditTransferPermission """ Create scheduled transactions. The possible errors that can be raised are: - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3830: Invalid action. - KT-CT-3831: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createScheduledTransactions(input: [CreateScheduledTransactionsInput]!): CreateScheduledTransactions """ Transfer value from a source ledger to a destination ledger. This decreases the balance of the source ledger by the given amount and increases the balance of the destination ledger by the same amount. If the amount is negative, the effect is reversed (the source ledger's balance increases and the destination ledger's balance decreases). This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3823: Unauthorized. - KT-CT-9701: Balance transfer to same account is not allowed. - KT-CT-9702: Balance transfer is not support for debit account with Zero balance. - KT-CT-9703: Balance transfer is not supported for debit account. - KT-CT-9704: Balance transfer amount should be non-zero. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ transferLedgerBalance(input: TransferLedgerBalanceInputType!): TransferLedgerBalance """ Publish a trigger within the transactional messaging service. The possible errors that can be raised are: - KT-CT-9901: Invalid trigger type code. - KT-CT-9902: Invalid trigger type params. - KT-CT-9903: Trigger type cannot be published externally. - KT-CT-9912: Required context entity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ publishTransactionalMessagingTrigger(input: PublishTransactionalMessagingTriggerInput!): PublishTransactionalMessagingTrigger """ Publish an externally defined transactional messaging trigger. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-5421: Account user not found. - KT-CT-9901: Invalid trigger type code. - KT-CT-9905: Top-level context fields are missing. - KT-CT-9906: Template variables do not match the defined schema. - KT-CT-9908: Invalid recipient information. - KT-CT-9909: Invalid recipient information. - KT-CT-9910: Invalid input field combination. - KT-CT-9912: Required context entity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ publishTransactionalMessagingExternalTrigger(input: PublishTransactionalMessagingExternalTriggerInput!): PublishTransactionalMessagingExternalTrigger """ Import a tranche rate for a given contract and market. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-15111: Tranche target not found. - KT-CT-15112: A tranche rate already exists for this target and calculation period. - KT-CT-15113: Invalid tranche rate input. - KT-CT-15114: The provided calculation period does not line up with the calculation period frequency for this tranche target. - KT-CT-15115: Contract not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ importTrancheRate(input: ImportTrancheRateInput!): ImportTrancheRate! """ The possible errors that can be raised are: - KT-CT-7813: Support user not found with that username. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAgentAuxiliaryStatus(input: UpdateAgentAuxiliaryStatusInput!): UpdateAgentAuxiliaryStatus """ Update a Request. The possible errors that can be raised are: - KT-CT-4231: Unauthorized. - KT-CT-4232: Status passed is not valid. - KT-CT-4233: Request does not exist. - KT-CT-4234: Terminated Request cannot be updated. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateSiteworksRequest(input: UpdateSiteworksRequestInputType!): UpdateSiteworksRequest @deprecated(reason: "The 'updateSiteworksRequest' field is deprecated. Please use updateOnSiteJobsRequest instead. - Marked as deprecated on 2026-03-01. - Scheduled for removal on or after 2026-09-01.") """ Create a Request. The possible errors that can be raised are: - KT-CT-13002: Supply point not found. - KT-CT-13003: Supply points must belong to the same account. - KT-CT-13004: No account found for the given supply points. - KT-CT-13006: No properties found for the given supply points. - KT-CT-13028: Agent not found. - KT-CT-13010: No booking adapter found for agent. - KT-CT-13007: At least one of the request checks failed. - KT-CT-13008: At least one of the request checks has warnings. - KT-CT-13009: On site jobs Request already exists. - KT-CT-13012: Viewer is not allowed to create a request. - KT-CT-13013: Reporter post init error. - KT-CT-13014: Request reason is not supported. - KT-CT-13015: Request sub_reason is not supported. - KT-CT-13041: User is not allowed to override request/appointment checks. - KT-CT-13042: Multiple supply points not supported by this booking adapter. - KT-CT-13045: Failed to update appointment assets. - KT-CT-13047: Multiple supply points found. - KT-CT-13048: Cannot provide both supply_point_identifier_to_market_name_mapping and supply_point_internal_ids. - KT-CT-13049: Neither supply_point_identifier_to_market_name_mapping nor supply_point_internal_ids provided. - KT-CT-13050: Cannot provide both supply_point_identifier_to_market_name_mapping and supply_point_internal_id when creating assets. - KT-CT-13051: Supply point not found when creating assets. - KT-CT-13052: Multiple supply points found when creating assets. - KT-CT-13063: Failed to derive property for the given supply points. - KT-CT-13064: Provided supply point(s) not supported by the On-Site Jobs market manager. - KT-CT-13066: Request reason is deprecated. - KT-CT-13067: Provided sub-reason for request is invalid. - KT-CT-13068: Property required for this request. - KT-CT-13069: Account required for this request. - KT-CT-13070: Provided status for request is invalid. - KT-CT-13071: Provided reason for request is invalid. - KT-CT-13078: Account users cannot set external references on requests. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOnSiteJobsRequest(input: CreateOnSiteJobsRequestInputType!): CreateOnSiteJobsRequest """ Update an On Site Jobs Request. The possible errors that can be raised are: - KT-CT-13032: Request does not exist. - KT-CT-13035: Request is inactive. - KT-CT-13038: Invalid request status. - KT-CT-13045: Failed to update appointment assets. - KT-CT-13050: Cannot provide both supply_point_identifier_to_market_name_mapping and supply_point_internal_id when creating assets. - KT-CT-13051: Supply point not found when creating assets. - KT-CT-13052: Multiple supply points found when creating assets. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOnSiteJobsRequest(input: OnSiteJobsUpdateRequestInput!): UpdateOnSiteJobsRequest """ Mutation to create a new portfolio user role. This will effectively link the user to the portfolio giving them all the permissions enabled for the specific role. The possible errors that can be raised are: - KT-CT-9403: Received an invalid portfolioId. - KT-CT-9404: Received an invalid accountUserId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createPortfolioUserRole(input: CreatePortfolioUserRoleInput): CreatePortfolioUserRole """ Submit a repayment request. The possible errors that can be raised are: - KT-CT-1132: Unauthorized. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3823: Unauthorized. - KT-CT-3926: Unauthorized. - KT-CT-3927: Invalid Amount. - KT-CT-3928: Idempotency key used for another repayment request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ submitRepaymentRequest(input: RequestRepaymentInputType!): SubmitRepaymentRequest """ Cancel a repayment or refund request. The possible errors that can be raised are: - KT-CT-4231: Unauthorized. - KT-CT-3930: The repayment or refund request does not exist. - KT-CT-3931: This repayment or refund request cannot be cancelled. - KT-CT-1113: Disabled GraphQL field requested. """ cancelRepaymentRequest(input: CancelRepaymentRequestInputType!): CancelRepaymentRequest """ Allow a repayment to be submitted. The possible errors that can be raised are: - KT-CT-3944: Account repayment does not exist. - KT-CT-3945: Unable to allow a repayment to be submitted. - KT-CT-3950: The provided reason text is too long. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ allowRepaymentSubmission(input: RepaymentInput!): AllowRepaymentSubmission """ Submit a repayment. The possible errors that can be raised are: - KT-CT-3944: Account repayment does not exist. - KT-CT-3945: Unable to allow a repayment to be submitted. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ submitAllowedRepayment(input: RepaymentInput!): SubmitAllowedRepayment """ Block a repayment from being submitted. The possible errors that can be raised are: - KT-CT-3944: Account repayment does not exist. - KT-CT-3946: Unable to block a repayment from being submitted. - KT-CT-3950: The provided reason text is too long. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ blockRepaymentSubmission(input: RepaymentInput!): BlockRepaymentSubmission """ Approve a repayment. The possible errors that can be raised are: - KT-CT-3934: Repayment request already approved. - KT-CT-3935: Repayment request cannot be paid. - KT-CT-3959: Unauthorized. - KT-CT-3973: Repayment request is not in a state to be approved. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ approveRepayment(input: ApproveRepaymentInput!): ApproveRepayment """ Create an account reminder. The possible errors that can be raised are: - KT-CT-1401: Invalid data. - KT-CT-1402: Unable to create account reminder. - KT-CT-1403: Missing user or team assignee. - KT-CT-1404: This reminder type is deprecated. - KT-CT-1405: Both user and team assignee provided. - KT-CT-1408: Missing account id. - KT-CT-1409: Missing business id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createReminder(input: CreateReminderInput!): CreateReminder """ Complete a reminder. The possible errors that can be raised are: - KT-CT-1406: Invalid data. - KT-CT-1407: Unable to complete reminder. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ completeReminder(input: CompleteReminderInput!): CompleteReminder """ Create an account referral using an email address, personal link or code.This is for customers to refer other customers so it only works with friend referrals and not partner referrals. The possible errors that can be raised are: - KT-CT-6723: Unauthorized. - KT-CT-6710: Unable to create referral. - KT-CT-6711: Accounts may not self-refer. - KT-CT-6713: Referring and referred account brands do not match. - KT-CT-6712: Invalid reference. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createReferral(input: CreateReferralInput!): CreateReferral """ Redeem the referral claim code from certain referral scheme. The possible errors that can be raised are: - KT-CT-6723: Unauthorized. - KT-CT-6724: Referral claim code not found. - KT-CT-6725: Referral claim code redeeming error. - KT-CT-6726: Referral claim code has already been redeemed. - KT-CT-6727: Referral claim code is not available. - KT-CT-1113: Disabled GraphQL field requested. """ redeemReferralClaimCode(input: RedeemReferralClaimCodeInput!): RedeemReferralClaimCode """ Add a one-way signup reward to a referral. The possible errors that can be raised are: - KT-CT-6723: Unauthorized. - KT-CT-6729: This scheme cannot be applied to given account. - KT-CT-6710: Unable to create referral. - KT-CT-6728: This referral scheme's usage is at capacity. - KT-CT-6712: Invalid reference. - KT-CT-6713: Referring and referred account brands do not match. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addSignupReferralOnAccount(input: AddSignupReferralOnAccountInput!): AddSignupReferralOnAccount """ Pay out a referral reward for an account. The possible errors that can be raised are: - KT-CT-6712: Invalid reference. - KT-CT-6723: Unauthorized. - KT-CT-6730: Referral cannot be paid out. - KT-CT-6731: The account is unrelated to the referral. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ payoutReferralForAccount(input: PayoutReferralForAccountInput!): PayoutReferralForAccount """ Update the status of an AccountReferral. Status transitions can only move forward: - Pending → Paid (allowed) - Pending → Cancelled (allowed) - Paid → any (not allowed) - Cancelled → any (not allowed) The possible errors that can be raised are: - KT-CT-6712: Invalid reference. - KT-CT-6732: Invalid referral status transition. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountReferralStatus(input: UpdateAccountReferralStatusInput!): UpdateAccountReferralStatus """ Process an Order (legacy) The possible errors that can be raised are: - KT-CT-1605: Invalid input. - KT-CT-7701: The affiliate organisation was not found. - KT-CT-8906: Opportunity not found. - KT-CT-12701: Invalid sales channel code. - KT-CT-13102: Invalid order data. - KT-CT-13103: Unprocessable order. - KT-CT-13104: Conflicting order. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ legacyProcessOrder(input: LegacyProcessOrderInput!): LegacyProcessOrderOutput! """ Create a quoting offer group. The possible errors that can be raised are: - KT-CT-12401: Unable to create offer group. - KT-CT-12405: Missing rates for quoting. - KT-CT-12406: Product not configured correctly for quoting. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOfferGroupForQuoting(input: CreateOfferGroupForQuotingInput!): CreateOfferGroupForQuoting """ Accept a quoting offer in an offer group. The possible errors that can be raised are: - KT-CT-12402: Unable to accept offer. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ acceptOfferForQuoting(input: AcceptOfferForQuotingInput!): AcceptOfferForQuoting """ Validate whether a user's email address is valid via the Kickbox API. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ validateEmail(input: ValidateEmailInput!): ValidateEmail """ Validate whether a user's phone number is valid. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ validatePhone(input: ValidatePhoneNumberInput!): ValidatePhone """ Send a quote summary to the provided recipient. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4178: No account found with given account number. - KT-CT-4632: Invalid recipient information. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendQuoteSummary(input: QuoteShareInput!): SendQuoteSummary """ Send an offer quote summary to all active account users. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4178: No account found with given account number. - KT-CT-12407: The offer group does not contain an accepted offer. - KT-CT-5518: Account user not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendOfferQuoteSummary(input: OfferQuoteSummaryInput!): SendOfferQuoteSummary """ Schedule a quote follow-up to the provided recipient. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4632: Invalid recipient information. - KT-CT-4633: Mutation not enabled in this environment. - KT-CT-1113: Disabled GraphQL field requested. """ scheduleQuoteFollowUp(input: QuoteShareInput!): ScheduleQuoteFollowUp """ Mark chosen quoted products for quoted supply points on a quote request as selected. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4634: Quoted product with given id not found. - KT-CT-4626: No product selected for the given quote code. - KT-CT-4635: Missing a quoted product for at least one quoted supply point on the quote request. - KT-CT-4636: Quoted product not linked to a product. - KT-CT-4646: Attempted to select multiple products for the same quoted supply point. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ selectProducts(input: SelectProductsInput!): SelectProducts """ Update a quote configuration's terms, expiry date, and extra details. The possible errors that can be raised are: - KT-CT-12408: Quote configuration not found. - KT-CT-12409: Term not found in quote configuration. - KT-CT-12410: Invalid extra detail field type. - KT-CT-12411: Extra detail not found in quote configuration. - KT-CT-12412: Duplicate term identifiers provided. - KT-CT-12413: Duplicate extra detail field codes provided. - KT-CT-12414: Unsupported term type. - KT-CT-12415: Schedule missing required identifier. - KT-CT-12416: Item missing required identifier. - KT-CT-12417: Schedule not found in term. - KT-CT-12418: Item not found in schedule. - KT-CT-12419: One or more terms not found. - KT-CT-12420: One or more extra details not found. - KT-CT-12421: No extra detail fields provided for update. - KT-CT-12423: Forecast consumption entry not found. - KT-CT-12424: Quote configuration cannot be edited in its current status. - KT-CT-12425: Cannot update rates request. - KT-CT-12426: Extra detail field code or type is not allowed for this client. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateQuoteConfiguration(input: UpdateQuoteConfigurationInput!): UpdateQuoteConfigurationOutput """ Set errors on a quote configuration rates request. The possible errors that can be raised are: - KT-CT-12425: Cannot update rates request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setQuoteConfigurationRatesRequestErrors(input: SetQuoteConfigurationRatesRequestErrorsInput!): SetQuoteConfigurationRatesRequestErrorsOutput """ Add a property to an account. The possible errors that can be raised are: - KT-CT-6623: Unauthorized. - KT-CT-6629: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addProperty(input: AddPropertyInput!): AddProperty """ Update the address of an existing property. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-6638: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updatePropertyAddress(input: UpdatePropertyAddressInput!): UpdatePropertyAddress """ Add a property to a hierarchy as a root node. If the property is already a root node in the hierarchy, this operation is idempotent. If the property is already in the hierarchy as a child, an error will be raised. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-6633: Property is already in the hierarchy as a child. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addPropertyToHierarchy(input: AddPropertyToHierarchyInput!): AddPropertyToHierarchy """ Add a child property to a parent property in a hierarchy. If the child is already in the hierarchy with a different parent, it will be reparented. If the child is already a child of the specified parent, this operation is idempotent and does nothing. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6634: Unable to add child to property. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ addChildToProperty(input: AddChildToPropertyInput!): AddChildToProperty """ Add a parent property to a child property in a hierarchy. If the child is already in the hierarchy with a different parent, it will be reparented. If the child is already a child of the specified parent, this operation is idempotent and does nothing. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6635: Unable to add parent to property. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ addParentToProperty(input: AddParentToPropertyInput!): AddParentToProperty """ Remove a property from a hierarchy. This operation is idempotent - if the property is not in the hierarchy, it will succeed without error. When a property is removed, its descendants are reparented to the removed property's parent. If removing a root node, its children become new root nodes. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removePropertyFromHierarchy(input: RemovePropertyFromHierarchyInput!): RemovePropertyFromHierarchy """ Delete all descendants of a property in a hierarchy. This permanently deletes all descendant nodes (children, grandchildren, etc.) but keeps the property node itself in the hierarchy. This operation is idempotent - if the property is not in the hierarchy or has no descendants, it will succeed without error. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ deletePropertyDescendants(input: DeletePropertyDescendantsInput!): DeletePropertyDescendants """ Do a product switch for a user. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4619: Quote with given code not found. - KT-CT-4624: Unable to accept the given product code. - KT-CT-4924: Unauthorized. - KT-CT-4626: No product selected for the given quote code. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-1509: Unable to create agreement. - KT-CT-1507: Agreement product switch date is not within the acceptable range. - KT-CT-1516: Requested product switch is not valid. - KT-CT-4640: Unable to get market or client params from quoted product. - KT-CT-4627: No products are available for this quote. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ initiateProductSwitch(input: InitiateProductSwitchInput!): InitiateProductSwitch """ Create a new agreement from an existing product switch process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4924: Unauthorized. - KT-CT-1509: Unable to create agreement. - KT-CT-1516: Requested product switch is not valid. - KT-CT-1507: Agreement product switch date is not within the acceptable range. - KT-CT-4626: No product selected for the given quote code. - KT-CT-1510: Product switch process not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createNewAgreementFromProductSwitchProcess(input: CreateNewAgreementFromProductSwitchProcessInput!): CreateNewAgreementFromProductSwitchProcess """ Create a new product. The possible errors that can be raised are: - KT-CT-12003: Specified product brand does not exist. - KT-CT-12004: Invalid product tag type. - KT-CT-12005: A selection of a terms and conditions type does not exist. - KT-CT-12006: Provided product characteristic overrides are not in the correct format. - KT-CT-12007: Unable to create product. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createProduct(input: CreateProductInput!): CreateProductOutput! """ Create or update time series entries. The possible errors that can be raised are: - KT-CT-12014: Time series not found. - KT-CT-12015: Characteristics mismatch. - KT-CT-12016: Conflicting time series entries. - KT-CT-12017: Invalid time series entries period. - KT-CT-12038: Invalid time series entries granularity. - KT-CT-12040: Time series entries in use. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOrUpdateTimeSeriesEntries(input: CreateOrUpdateTimeSeriesEntriesInput!): CreateOrUpdateTimeSeriesEntries! """ Create time series prices. The possible errors that can be raised are: - KT-CT-12014: Time series not found. - KT-CT-12015: Characteristics mismatch. - KT-CT-12016: Conflicting time series entries. - KT-CT-12017: Invalid time series entries period. - KT-CT-12038: Invalid time series entries granularity. - KT-CT-12040: Time series entries in use. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createTimeSeriesPrices(input: CreateTimeSeriesPricesInput!): CreateTimeSeriesPrices! @deprecated(reason: "The 'createTimeSeriesPrices' field is deprecated. Please use the 'createOrUpdateTimeSeriesEntries' mutation instead. - Marked as deprecated on 2025-02-03. - Scheduled for removal on or after 2025-03-01.") """ Update the prices of a product. The possible errors that can be raised are: - KT-CT-12008: Unable to find the product. - KT-CT-12009: Specified product does not have a specification. - KT-CT-12010: Unable to find the product's specification. - KT-CT-12011: The list of provided prices contains validation errors. - KT-CT-12012: Product prices start date is in the past. - KT-CT-12013: Product prices would overwrite existing prices. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateProductPrices(input: UpdateProductPricesInput!): UpdateProductPricesOutput! """ Create a new portfolio. The possible errors that can be raised are: - KT-CT-9402: Received an invalid brandCode. - KT-CT-9401: Received an invalid operationsTeamId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createPortfolio(input: CreatePortfolioInput): CreatePortfolio """ Add a reference to an existing portfolio. The possible errors that can be raised are: - KT-CT-9403: Received an invalid portfolioId. - KT-CT-9410: Conflicting portfolio reference. - KT-CT-9408: Invalid portfolio number format. - KT-CT-9409: Invalid portfolio reference. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addPortfolioReference(input: AddPortfolioReferenceInput): AddPortfolioReference """ Set a preference to collect payments from a specific payment method. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3967: Payment method is not valid. - KT-CT-3968: Preference cannot be set this soon. - KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ setPaymentPreference(input: SetPaymentPreferenceInput!): SetPaymentPreference """ Set a preference to stop collecting automated payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3968: Preference cannot be set this soon. - KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ stopAutomatedPayments(input: StopAutomatedPaymentsInput!): StopAutomatedPayments """ Collect deposit for the given account. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-5711: No collection is required. - KT-CT-5712: Deposit agreement does not exist or has not been accepted. - KT-CT-5713: Payment instruction is not usable. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ collectDeposit(input: CollectDepositInput!): CollectDeposit """ Record the customer's acceptance of a deposit agreement. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ recordDepositAgreementAccepted(input: DepositAgreementInput!): RecordDepositAgreementAccepted """ Create a new deposit agreement for the account if it needs one. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createDepositAgreement(input: CreateDepositAgreementInput!): CreateDepositAgreement """ Initiate a standalone payment and return the client secret required to complete it. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-4177: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3943: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ initiateStandalonePayment(input: InitiateStandalonePaymentInput!): InitiateStandalonePayment """ Complete an initiated standalone payment. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3823: Unauthorized. - KT-CT-3974: Unauthorized. - KT-CT-3975: Unable to complete standalone payment. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ completeStandalonePayment(input: CompleteStandalonePaymentInput!): CompleteStandalonePayment """ Initiate a standalone payment and return the url where the customer can complete it. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3943: Invalid ledger. - KT-CT-3957: No collection method provided. - KT-CT-3958: Provide either ledger ID or ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ initiateHostedStandalonePayment(input: InitiateHostedStandalonePaymentInput!): InitiateHostedStandalonePayment """ Get the client secret needed to create a new stored payment instruction using an embedded form. This mutation is specifically for saving payment methods for future use, without immediately creating a payment instruction tied to a specific ledger or account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ getEmbeddedSecretForNewPaymentInstructionWithoutAccount(input: GetEmbeddedSecretForNewPaymentInstructionWithoutAccountInput!): GetEmbeddedSecretForNewPaymentInstructionWithoutAccount """ Get the client secret needed to create a new payment instruction using an embedded form. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3820: Received both ledger ID and number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ getEmbeddedSecretForNewPaymentInstruction(input: GetEmbeddedSecretForNewPaymentInstructionInput!): GetEmbeddedSecretForNewPaymentInstruction """ Store a new payment instruction created through the embedded process. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-4177: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ storePaymentInstruction(input: StorePaymentInstructionInput!): StorePaymentInstruction """ Get the external URL where the user can set up a payment instruction. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ getHostedUrlForNewPaymentInstruction(input: GetHostedUrlForNewPaymentInstructionInput!): GetHostedUrlForNewPaymentInstruction """ Invalidate an existing instruction. The possible errors that can be raised are: - KT-CT-3926: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ invalidatePaymentInstruction(input: InvalidatePaymentInstructionInput!): InvalidatePaymentInstruction """ Set up a new direct debit instruction. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3940: Invalid data. - KT-CT-5415: Account user not found. - KT-CT-11103: Business not found. - KT-CT-3971: Instruction owners are not valid. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setUpDirectDebitInstruction(input: SetUpDirectDebitInstructionInput!): SetUpDirectDebitInstruction """ Set up a new direct debit instruction for a business. The possible errors that can be raised are: - KT-CT-3940: Invalid data. - KT-CT-3956: Temporary error occurred. - KT-CT-11107: Unauthorized. - KT-CT-3948: Could not set up direct debit instruction. - KT-CT-3971: Instruction owners are not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setUpDirectDebitInstructionForBusiness(input: SetUpDirectDebitInstructionForBusinessInput!): SetUpDirectDebitInstructionForBusiness """ Store bank details with the vendor. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3940: Invalid data. - KT-CT-3956: Temporary error occurred. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ storeDirectDebitPaymentMethodDetails(input: StoreDirectDebitPaymentMethodDetailsInput!): StoreDirectDebitPaymentMethodDetails """ Set up a new direct debit instruction from stored details. The possible errors that can be raised are: - KT-CT-3956: Temporary error occurred. - KT-CT-3948: Could not set up direct debit instruction. - KT-CT-3971: Instruction owners are not valid. - KT-CT-5415: Account user not found. - KT-CT-11103: Business not found. - KT-CT-4123: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setUpDirectDebitInstructionFromStoredDetails(input: SetUpDirectDebitInstructionFromStoredDetailsInput!): SetUpDirectDebitInstructionFromStoredDetails """ Attempt to collect a one-off payment. If an instruction type is provided and there is an existing payment instruction, the payment can be collected immediately. A request to collect a payment at a future date can also be made, in which case the instruction input type is not necessary, but an instruction must exist at the specified collection date for the payment to be collected successfully. The possible errors that can be raised are: - KT-CT-3932: Invalid data. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ collectPayment(input: CollectPaymentInput!): CollectPayment """ Create a new payment action intent. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3980: Invalid ledger identifier. - KT-CT-3981: Unauthorized. - KT-CT-3982: Unauthorized. - KT-CT-3995: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createPaymentActionIntent(input: CreatePaymentActionIntentInput!): CreatePaymentActionIntent """ Create a new payment method action intent. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3971: Instruction owners are not valid. - KT-CT-3980: Invalid ledger identifier. - KT-CT-3981: Unauthorized. - KT-CT-3982: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createPaymentMethodActionIntent(input: CreatePaymentMethodActionIntentInput!): CreatePaymentMethodActionIntent """ Record one or more successful payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ recordSuccessfulPayment(input: RecordSuccessfulPaymentInput!): RecordSuccessfulPayment """ Record one or more pending payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ recordPendingPayment(input: RecordPendingPaymentInput!): RecordPendingPayment """ Record one or more failed payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ recordFailedPayment(input: RecordFailedPaymentInput!): RecordFailedPayment """ Record one or more charged back payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ recordChargedBackPayment(input: RecordChargedBackPaymentInput!): RecordChargedBackPayment """ Record an activated payment method. The possible errors that can be raised are: - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3822: Unauthorized. - KT-CT-3987: Invalid payment method type code. - KT-CT-3991: Received no financial account details. - KT-CT-3992: Received multiple financial account details. - KT-CT-3993: The type of financial account details does not match the provided payment method type. - KT-CT-3994: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ recordActivatedPaymentMethod(input: RecordActivatedPaymentMethodInput!): RecordActivatedPaymentMethod """ Record an invalidated payment method. The possible errors that can be raised are: - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3996: Unauthorized. - KT-CT-3997: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ recordInvalidatedPaymentMethod(input: RecordInvalidatedPaymentMethodInput!): RecordInvalidatedPaymentMethod """ Trigger standalone payment request. The possible errors that can be raised are: - KT-CT-3998: Unauthorized. - KT-CT-3999: Multiple recipient input. - KT-CT-39100: Unable to find manual standalone method configuration to use. - KT-CT-5463: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ triggerStandalonePaymentRequest(input: TriggerStandalonePaymentRequestInput!): TriggerStandalonePaymentRequest """ Amend an existing payment. The possible errors that can be raised are: - KT-CT-3924: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-3970: The account cannot amend payments. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ amendPayment(input: AmendPaymentInput!): AmendPayment """ Change the auto top up amount for the payment schedule. The possible errors that can be raised are: - KT-CT-3815: No active payment schedule found for this account. - KT-CT-3941: Invalid data. - KT-CT-3942: An unexpected error occurred. - KT-CT-3947: An unexpected error occurred. - KT-CT-3953: The payment schedule is not a balance triggered schedule. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3822: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAutoTopUpAmount(input: UpdateAutoTopUpAmountInput!): UpdateAutoTopUpAmount """ Replace an existing payment schedule with a new one that updates either the payment amount or payment day. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3815: No active payment schedule found for this account. - KT-CT-3822: Unauthorized. - KT-CT-3923: Unauthorized. - KT-CT-3941: Invalid data. - KT-CT-3942: An unexpected error occurred. - KT-CT-3947: An unexpected error occurred. - KT-CT-3960: Invalid value for payment day. - KT-CT-3961: Cannot update plan-associated payment schedule. - KT-CT-3962: No new value provided to update payment schedule. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createAccountPaymentSchedule(input: CreateAccountPaymentScheduleInput!): CreateAccountPaymentSchedule """ Switch account to variable payment schedule. Current schedule type will be preserved. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3921: Account not found. - KT-CT-3922: Ledger not found for the account. - KT-CT-3947: An unexpected error occurred. - KT-CT-3984: Could not delete conflicting future payment schedule. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ switchAccountToVariablePaymentSchedule(input: SwitchAccountToVariablePaymentScheduleInput!): SwitchAccountToVariablePaymentSchedule """ Cancel an in-flight payment. The possible errors that can be raised are: - KT-CT-3924: Unauthorized. - KT-CT-3954: Payment cancellation failed. - KT-CT-3955: Payment cannot be cancelled. - KT-CT-3956: Temporary error occurred. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelPayment(input: CancelPaymentInput!): CancelPayment """ Refund a cleared payment. The possible errors that can be raised are: - KT-CT-3924: Unauthorized. - KT-CT-3928: Idempotency key used for another repayment request. - KT-CT-3929: The payment is not in a refundable state. - KT-CT-3933: Refund amount greater than payment amount. - KT-CT-3937: Payment not eligible for refund. - KT-CT-3938: Partial refund not allowed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ refundPayment(input: RefundPaymentInput!): RefundPayment """ Look up an event to perform from its event_id, and return the next action to perform. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-8002: No event found. - KT-CT-8003: Event has no execute function. - KT-CT-8004: Error executing event in the backend. - KT-CT-8007: Incorrect or missing parameters for backend screen event. - KT-GB-9310: Account ineligible for joining Octoplus. - KT-CT-1113: Disabled GraphQL field requested. """ backendScreenEvent(input: BackendScreenEventInput!): BackendScreenEvent """ Create metadata on an object. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-4124: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6637: Unauthorized. - KT-CT-8411: Invalid data. - KT-CT-4323: Unauthorized. - KT-CT-8412: Invalid data. - KT-CT-8414: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createMetadata(input: MetadataInput!): CreateMetadata """ Update existing metadata on an object. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-4124: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6637: Unauthorized. - KT-CT-8411: Invalid data. - KT-CT-4123: Unauthorized. - KT-CT-8413: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateMetadata(input: MetadataInput!): UpdateMetadata """ Create a quote for switching product. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. - KT-CT-4616: Unable to create a quote. - KT-CT-4631: Unable to quote for the chosen market. - KT-CT-4645: No supply point found belonging to the account for the provided identifier. - KT-CT-4924: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ createQuoteForAccount(input: CreateQuoteForAccountInput!): CreateQuoteForAccount """ Redeem the specified number of Loyalty Points as account credit. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9201: No Loyalty Point ledger found for the user. - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9203: No ledger entries for the ledger. - KT-CT-9205: Insufficient Loyalty Points. - KT-CT-9206: Indivisible points. - KT-CT-9204: Negative or zero points set. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9209: Negative Loyalty Points balance. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ redeemLoyaltyPointsForAccountCredit(input: RedeemLoyaltyPointsInput!): RedeemLoyaltyPointsForAccountCredit """ Transfer Loyalty Point from one account user to another. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9205: Insufficient Loyalty Points. - KT-CT-9204: Negative or zero points set. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9209: Negative Loyalty Points balance. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ transferLoyaltyPointsBetweenUsers(input: TransferLoyaltyPointsBetweenUsersInput!): TransferLoyaltyPointsBetweenUsers """ Set the Loyalty Points user for the account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-9214: Couldn't assign user loyalty points role. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ setLoyaltyPointsUser(input: SetLoyaltyPointsUserInput!): SetLoyaltyPointsUser """ Award the specified number of Loyalty Points to the account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9204: Negative or zero points set. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-9211: Invalid reason for loyalty points award. - KT-CT-9212: Points exceed maximum limit. - KT-CT-9219: Loyalty points user not found. - KT-CT-9221: Idempotency key already used on ledger entry. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ awardLoyaltyPoints(input: AwardLoyaltyPointsInput!): AwardLoyaltyPoints """ Award Loyalty Points to multiple accounts in a single request. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9212: Points exceed maximum limit. - KT-CT-9221: Idempotency key already used on ledger entry. - KT-CT-9224: Duplicate idempotency keys provided in requested awards. - KT-CT-9225: Bulk award batch size exceeds the maximum limit. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ bulkAwardLoyaltyPoints(input: BulkAwardLoyaltyPointsInput!): BulkAwardLoyaltyPoints """ Deduct the specified number of Loyalty Points from the account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-5420: Unauthorized. - KT-CT-9211: Invalid reason for loyalty points award. - KT-CT-9219: Loyalty points user not found. - KT-CT-9204: Negative or zero points set. - KT-CT-9205: Insufficient Loyalty Points. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9221: Idempotency key already used on ledger entry. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ deductLoyaltyPoints(input: DeductLoyaltyPointsInput!): DeductLoyaltyPoints """ Enroll an account into the loyalty program. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9213: ineligible loyalty points enrollment. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ enrollAccountInLoyaltyProgram(input: EnrollAccountInLoyaltyProgramInput!): EnrollAccountInLoyaltyProgram """ Unenroll an account from the loyalty program. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9220: Ineligible loyalty points unenrollment. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ unenrollAccountFromLoyaltyProgram(input: UnenrollAccountFromLoyaltyProgramInput!): UnenrollAccountFromLoyaltyProgram """ Create or update a loyalty card for the given account user. The possible errors that can be raised are: - KT-CT-5412: No account user exists with the given id. - KT-CT-8610: Invalid data. - KT-CT-8611: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOrUpdateLoyaltyCard(input: CreateOrUpdateLoyaltyCardInput!): CreateOrUpdateLoyaltyCardMutation """ Link an AccountUser to a LINE account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ linkUserToLine(input: LinkUserToLineInput!): LinkUserToLineResponse! """ Unlink an AccountUser from a LINE account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ unlinkUserFromLine: UnlinkUserFromLineResponse! """ Instigate a leave supplier process or update an existing process. The possible errors that can be raised are: - KT-CT-10304: Mutation not enabled in this environment. - KT-CT-4501: Unauthorized. - KT-CT-10301: Unable to instigate leave supplier process. - KT-CT-10330: Unsupported leave supplier type. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ instigateLeaveSupplier(input: LeaveSupplierInput!): LeaveSupplierInstigated! """ Update an existing leave supplier process. The possible errors that can be raised are: - KT-CT-10304: Mutation not enabled in this environment. - KT-CT-10302: Invalid data. - KT-CT-10309: Failed to update leave supplier process - the service is not enabled. - KT-CT-10310: Failed to update leave supplier process. The process status is not in updatable status. - KT-CT-1607: Value cannot be empty. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateLeaveSupplier(input: UpdateLeaveSupplierInput!): LeaveSupplierUpdated! """ Cancel a leave supplier process. The possible errors that can be raised are: - KT-CT-10304: Mutation not enabled in this environment. - KT-CT-10302: Invalid data. - KT-CT-10305: Failed to cancel leave supplier process - market actions are no longer cancellable. - KT-CT-10306: Failed to cancel leave supplier process - the cancellation workflow has not been configured. - KT-CT-10307: Failed to cancel leave supplier process - failed to cancel market actions. - KT-CT-10308: Failed to cancel leave supplier process. - KT-CT-10311: Failed to cancel leave supplier process. The process status is not in cancellable status. - KT-CT-1607: Value cannot be empty. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelLeaveSupplier(input: CancelLeaveSupplierInput!): LeaveSupplierCancelled! """ Reverse a leave supplier process. The possible errors that can be raised are: - KT-CT-10304: Mutation not enabled in this environment. - KT-CT-10302: Invalid data. - KT-CT-10341: Leave supplier process is not reversible. - KT-CT-10342: Leave supplier process can still be cancelled. - KT-CT-10343: Leave supplier process being cancelled cannot be reversed. - KT-CT-10344: Leave supplier reversal cut-off has passed. - KT-CT-10345: Occupier leave with real join cannot be reversed. - KT-CT-10346: Market action reversal is not supported for this leave supplier process. - KT-CT-10347: Failed to reverse leave supplier process. - KT-CT-10348: Leave supplier reversal is missing required dependencies. - KT-CT-1607: Value cannot be empty. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ reverseLeaveSupplier(input: ReverseLeaveSupplierInput!): LeaveSupplierReversed! """ Prepare account for sign up. Returns the existing account and/or user if matching datafound for the provided input, otherwise creates a new account and account user. The possible errors that can be raised are: - KT-CT-10303: Mutation not enabled in this environment. - KT-CT-10316: Input data has invalid format. - KT-CT-10322: A user with this email address already exists. - KT-CT-10317: An error occured when trying to prepare the account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ prepareAccount(input: PrepareAccountInput!): PrepareAccountResult! """ Initialize account for sign up. Returns the existing account if matching datafound for the provided input, otherwise creates a new account. The possible errors that can be raised are: - KT-CT-10324: Mutation not enabled in this environment. - KT-CT-10325: Input data has invalid format. - KT-CT-10326: An error occurred when trying to initialize the account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ initializeAccount(input: BaseInitializeAccountInput!): InitializeAccountResult! """ Initialize user for sign up. Returns an existing user if matching datafound for the provided input, otherwise creates a new one. The possible errors that can be raised are: - KT-CT-10327: Mutation not enabled in this environment. - KT-CT-10328: Input data has invalid format. - KT-CT-10329: An error occurred when trying to initialize the user. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ initializeUser(input: BaseInitializeUserInput!): InitializeUserResult! """ Initiate an enrollment for an account and a set of supply points. The possible errors that can be raised are: - KT-CT-1602: Serializer validation error. - KT-CT-4410: Invalid postcode. - KT-CT-4412: The supplied address is not valid. - KT-CT-4501: Unauthorized. - KT-CT-7719: Session not found. - KT-CT-10312: Mutation not enabled in this environment. - KT-CT-10313: Failed to enroll account. - KT-CT-10314: This supply point is already on supply. - KT-CT-10315: Unable to begin enrollment journey due to invalid data. - KT-CT-6622: Unauthorized. - KT-CT-10340: House move enrollment is not enabled. - KT-CT-10302: Invalid data. - KT-CT-10356: A join supplier process is already linked to the house move. - KT-CT-10357: The house move enrollment has multiple supply points for a single market. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ enrollment(input: EnrollmentInput!): EnrollmentInitiated! """ Cancel an enrollment for an account and a set of supply points. The possible errors that can be raised are: - KT-CT-10312: Mutation not enabled in this environment. - KT-CT-10318: Enrollment process not found. - KT-CT-10319: Enrollment process failed to cancel. - KT-CT-10320: Enrollment process not cancellable. - KT-CT-10321: Enrollment cancellation workflow not defined. - KT-CT-10323: Enrollment process failed to cancel. - KT-CT-10338: Enrollment process cannot be cancelled. - KT-CT-10331: Missing required process number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ cancelEnrollment(input: CancelEnrollmentInput!): EnrollmentCancelled! """ Reverse an enrollment (Join Supplier process). The possible errors that can be raised are: - KT-CT-10312: Mutation not enabled in this environment. - KT-CT-10318: Enrollment process not found. - KT-CT-10349: Enrollment process is not reversible. - KT-CT-10350: Enrollment process can still be cancelled. - KT-CT-10351: Enrollment process being cancelled cannot be reversed. - KT-CT-10352: Market actions cannot be reversed for this enrollment process. - KT-CT-10353: Failed to reverse enrollment process. - KT-CT-10354: Enrollment reversal cut-off has passed. - KT-CT-10355: Enrollment reversal is not allowed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ reverseEnrollment(input: ReverseEnrollmentInput!): EnrollmentReversed! """ Accept terms and conditions for a join supplier process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ joinSupplierAcceptTermsAndConditions(input: JoinSupplierAcceptTermsAndConditionsInput!): JoinSupplierAcceptTermsAndConditions """ Update the details of an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8930: Unable to parse address. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8912: Funnel not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOpportunityDetails(input: UpdateOpportunityDetailsInput!): UpdateOpportunityDetails """ Update the stage of a opportunity. The possible errors that can be raised are: - KT-CT-8903: Unable to update opportunity. - KT-CT-8910: Received opportunity current stage is not valid. - KT-CT-8914: Stage not found. - KT-CT-8915: Stages are not in the same funnel. - KT-CT-8916: Current stage mismatch. - KT-CT-8917: Stage transition not allowed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOpportunityStage(input: UpdateOpportunityStageInput!): UpdateOpportunityStage """ Update the extra details of a opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8926: Unable to create opportunity. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOpportunityExtraDetails(input: UpdateExtraDetailsInput!): UpdateOpportunityExtraDetails """ Update the opportunity outcome to mark the opportunity as won or lost. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ setOpportunityOutcome(input: SetOpportunityOutcomeInput!): SetOpportunityOutcome """ Register a flow status event for an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ registerOpportunityFlowStatusEvent(input: RegisterOpportunityFlowStatusEventInput!): RegisterOpportunityFlowStatusEvent """ Register a flow status event for a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ registerLeadFlowStatusEvent(input: RegisterLeadFlowStatusEventInput!): RegisterLeadFlowStatusEvent """ Create an opportunity and lead with the provided details. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-8919: Funnel initial stage not set. - KT-CT-8930: Unable to parse address. - KT-CT-8907: Lead not found. - KT-CT-8901: Unable to create lead. - KT-CT-8902: Unable to create lead. - KT-CT-8935: National ID bad input. - KT-CT-4121: Invalid phone number. - KT-CT-8931: Extra detail value is invalid. - KT-CT-9017: Consent type not found. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8936: Only one address is required to create an opportunity. - KT-CT-8937: One or more Supply Points cannot be validated. - KT-CT-8946: A team must also be provided when assigning a user. - KT-CT-8947: The team you specified was not found. - KT-CT-8948: The user you specified was not found. - KT-CT-8949: The selected team does not belong to the specified partner. - KT-CT-8950: The selected user does not belong to the specified partner. - KT-CT-8951: The selected user is not a member of the specified team. - KT-CT-8956: Conflicting address inputs. - KT-CT-8958: A lead contact must have at least one role. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOpportunityAndLead(input: CreateOpportunityAndLeadInput!): CreateOpportunityAndLead """ Create an opportunity for a lead with the provided details. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-8919: Funnel initial stage not set. - KT-CT-8907: Lead not found. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8924: Unable to create opportunity. - KT-CT-8925: Unable to create opportunity. - KT-CT-8926: Unable to create opportunity. - KT-CT-8928: The funnel is not active and cannot be used to create this entity. - KT-CT-8930: Unable to parse address. - KT-CT-8936: Only one address is required to create an opportunity. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8937: One or more Supply Points cannot be validated. - KT-CT-8946: A team must also be provided when assigning a user. - KT-CT-8947: The team you specified was not found. - KT-CT-8948: The user you specified was not found. - KT-CT-8949: The selected team does not belong to the specified partner. - KT-CT-8950: The selected user does not belong to the specified partner. - KT-CT-8951: The selected user is not a member of the specified team. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOpportunityForLead(input: CreateOpportunityForLeadInput!): CreateOpportunityForLead """ Update assignment fields for an Opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8903: Unable to update opportunity. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8946: A team must also be provided when assigning a user. - KT-CT-8947: The team you specified was not found. - KT-CT-8948: The user you specified was not found. - KT-CT-8949: The selected team does not belong to the specified partner. - KT-CT-8950: The selected user does not belong to the specified partner. - KT-CT-8951: The selected user is not a member of the specified team. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOpportunityAssignment(input: UpdateOpportunityAssignmentInput!): UpdateOpportunityAssignment """ Update the details of a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-8912: Funnel not found. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8935: National ID bad input. - KT-CT-8956: Conflicting address inputs. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateLeadDetails(input: UpdateLeadDetailsInput!): UpdateLeadDetails """ Update the stage of a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-8914: Stage not found. - KT-CT-8915: Stages are not in the same funnel. - KT-CT-8916: Current stage mismatch. - KT-CT-8917: Stage transition not allowed. - KT-CT-8918: Stage precondition not met. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateLeadStage(input: UpdateLeadStageInput!): UpdateLeadStage """ Transfer opportunities across leads. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ transferLeadOpportunities(input: TransferLeadOpportunitiesInput!): TransferLeadOpportunities """ Generate a pre-signed URL for uploading a leads attachment file. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ generateLeadsFileAttachmentPreSignedUrl(input: GenerateLeadsFileAttachmentPreSignedUrlInput!): GenerateLeadsFileAttachmentsPreSignedUrl """ Generate a pre-signed URL for downloading a leads attachment file. The possible errors that can be raised are: - KT-CT-8933: Opportunity file attachment not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ generateLeadsFileAttachmentDownloadPreSignedUrl(input: GenerateLeadsFileAttachmentDownloadPreSignedUrlInput!): GenerateLeadsFileAttachmentDownloadPreSignedUrl """ Creates an Opportunity File Attachment. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createOpportunityFileAttachment(input: CreateOpportunityFileAttachmentInput!): CreateOpportunityFileAttachment """ Create a lead with the provided details. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-8930: Unable to parse address. - KT-CT-8928: The funnel is not active and cannot be used to create this entity. - KT-CT-8902: Unable to create lead. - KT-CT-8919: Funnel initial stage not set. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8939: Extra detail value is required. - KT-CT-9017: Consent type not found. - KT-CT-8932: Lead contact details missing account holder. - KT-CT-8934: Lead contact details missing account representative. - KT-CT-8940: Lead contact role already exists. - KT-CT-8941: Invalid language preference code. - KT-CT-8935: National ID bad input. - KT-CT-4121: Invalid phone number. - KT-CT-8956: Conflicting address inputs. - KT-CT-8958: A lead contact must have at least one role. - KT-CT-8960: A lead already exists for this contact. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createLead(input: CreateLeadInput!): CreateLead """ Update the notes of an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateNotesOnOpportunity(input: UpdateNotesOnOpportunityInput!): UpdateNotesOnOpportunity """ Fetch a pre-signed link for an opportunity file attachment. The possible errors that can be raised are: - KT-CT-8933: Opportunity file attachment not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ fetchPreSignedLinkForOpportunityAttachment(input: FetchPreSignedLinkForOpportunityAttachmentInput!): FetchPreSignedLinkForOpportunityAttachment """ Update the offer group of an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOfferGroupOnOpportunity(input: UpdateOfferGroupOnOpportunityInput!): UpdateOfferGroupOnOpportunity """ Store bank details for a lead and return the mandate UUID. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-3940: Invalid data. - KT-CT-3956: Temporary error occurred. - KT-CT-8954: Unable to store payment method reference on lead. - KT-CT-8959: Unable to set payment details for lead. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ storeBankDetailsForLead(input: StoreBankDetailsForLeadInput!): StoreBankDetailsForLead """ Soft delete the payment method reference for a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-8955: Payment method reference does not match. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removeBankDetailsForLead(input: RemoveBankDetailsForLeadInput!): RemoveBankDetailsForLead """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-7613: The Ink bucket was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ assignInkBucket(input: AssignInkBucketInput): AssignInkBucket """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ moveToBucket(input: MoveToBucketInput): MoveToBucket """ The possible errors that can be raised are: - KT-CT-7611: The message was not found. - KT-CT-7614: The Ink tag was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateMessageTags(input: UpdateMessageTagsInput): UpdateMessageTags """ Register an Ink inbound message. The possible errors that can be raised are: - KT-CT-7622: Attachment bucket is invalid. - KT-CT-7623: Attachment path is invalid. - KT-CT-7621: Attachment not found. - KT-CT-7618: Unable to process message. - KT-CT-7625: Invalid email address. - KT-CT-7630: Message with this message ID has already been processed. - KT-CT-7632: The text content of the Ink Inbound Generic Message is too long. - KT-CT-7620: Channel not supported. - KT-CT-7627: The 'email' object is missing from the payload. - KT-CT-7628: The 'generic' object is missing from the payload. - KT-CT-7629: The 'post' object is missing from the payload. - KT-CT-7653: Account numbers on the message and message type must match if both are supplied. - KT-CT-7654: An account number was provided, but no corresponding account could be found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createInkInboundMessage(input: CreateInkInboundMessageInput): CreateInkInboundMessage """ Send an Ink outbound message. The possible errors that can be raised are: - KT-CT-7625: Invalid email address. - KT-CT-7650: Cannot send messages to internal handles. - KT-CT-7670: Invalid mutation input. - KT-CT-7671: Could not send message. - KT-CT-7672: Invalid outbound handle. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendInkOutboundMessage(input: SendInkOutboundMessageInput): SendInkOutboundMessage """ The possible errors that can be raised are: - KT-CT-7620: Channel not supported. - KT-CT-7618: Unable to process message. - KT-CT-7624: Error when generating the presigned URL. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ generateInkPresignedUrl(input: GenerateInkPresignedUrlInput): GenerateInkPresignedUrl """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addNoteToInkConversation(input: AddNoteToInkConversationInput): AddNoteToInkConversation """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-7651: Only one storyline entry can be marked as the root cause. - KT-CT-7657: The provided analyzer result data is invalid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addStorylineToInkConversation(input: AddStorylineToInkConversationInput): AddStorylineToInkConversation """ The possible errors that can be raised are: - KT-CT-7616: Not yet implemented. - KT-CT-1111: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-7642: No account user was found for the given fromHandle. - KT-CT-7641: Live Chat message with this message ID has already been processed. - KT-CT-7645: The user is not authorized to access this Live Chat. - KT-CT-7622: Attachment bucket is invalid. - KT-CT-7623: Attachment path is invalid. - KT-CT-7621: Attachment not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createInkLiveChatMessage(input: CreateInkLiveChatMessageInput): CreateInkLiveChatMessage """ The possible errors that can be raised are: - KT-CT-7616: Not yet implemented. - KT-CT-7643: The Live Chat was not found. - KT-CT-7644: Ink Live Chat conversation not found. - KT-CT-7652: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ closeInkLiveChat(input: CloseInkLiveChaConversationtInput): CloseInkLiveChatConversation """ The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ closeInkConversation(input: CloseInkConversationInput): CloseInkConversation """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-7659: The Ink conversation could not be escalated. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ escalateInkConversation(input: EscalateInkConversationInput): EscalateInkConversation """ Create a goods quote. The possible errors that can be raised are: - KT-CT-8202: Invalid data. - KT-CT-8205: Unable to create quote. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createGoodsQuote(input: CreateGoodsQuoteInput!): CreateGoodsQuote """ Create a goods quote without an account. The possible errors that can be raised are: - KT-CT-8202: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createGoodsQuoteWithoutAccount(input: CreateGoodsQuoteWithoutAccountInput!): CreateGoodsQuoteWithoutAccount """ Accept a goods quote. The possible errors that can be raised are: - KT-CT-8223: Unauthorized. - KT-CT-8201: Received an invalid quoteId. - KT-CT-8224: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ acceptGoodsQuote(input: AcceptGoodsQuoteInput!): AcceptGoodsQuote """ Share a goods quote. The possible errors that can be raised are: - KT-CT-4122: Invalid email. - KT-CT-8203: Received an invalid quote code. - KT-CT-1113: Disabled GraphQL field requested. """ shareGoodsQuote(input: ShareGoodsQuoteInput!): ShareGoodsQuote """ Create a goods purchase. The possible errors that can be raised are: - KT-CT-8206: Invalid data. - KT-CT-1131: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createGoodsPurchase(input: CreatePurchaseInput!): CreateGoodsPurchase """ Update an active purchase. The possible errors that can be raised are: - KT-CT-8225: Received an invalid purchaseId. - KT-CT-8226: The provided purchase is not active. - KT-CT-8206: Invalid data. - KT-CT-8227: Available grants could not be applied. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateActivePurchase(input: UpdatePurchaseInput!): UpdateActivePurchase """ Verify user's email address. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ verifyEmail(input: VerifyEmailInput!): VerifyEmail """ Verify user's email address. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendVerificationEmail(input: SendVerificationEmailInput!): SendVerificationEmail """ Add new items to the risk list. The possible errors that can be raised are: - KT-CT-12105: Risk list item addition failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addItemsToRiskList(input: [RiskListItemInputType]!): AddItemsToRiskList """ Remove existing items from the risk list. The possible errors that can be raised are: - KT-CT-12106: Risk list item removal failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removeItemsFromRiskList(input: [RiskListItemInputType]!): RemoveItemsFromRiskList """ Create a "form submission" entity. This is only meant to be used as a quick way of putting together a form and submit data for it, in the form of JSON - it is not expected that all form submissions will come through this path. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ createFormSubmission(input: FormSubmissionInput!): FormSubmissionOuput """ Create an external message to record communications sent by external vendors. This allows you to import messages, such as emails, sent using other tools into Kraken. The possible errors that can be raised are: - KT-CT-14201: Vendor is empty. - KT-CT-14202: Vendor message ID is empty. - KT-CT-14203: Account number is empty. - KT-CT-14204: Message already exists. - KT-CT-14205: Unable to create the external message. - KT-CT-14206: An email body is missing. - KT-CT-14207: To email is empty. - KT-CT-14208: To email is not a valid email address. - KT-CT-14209: From email is empty. - KT-CT-14210: From email is an invalid format. - KT-CT-14211: A reply to email address is empty. - KT-CT-14212: A reply to email address is not a valid email address. - KT-CT-14214: An account number was provided, but no corresponding account could be found. - KT-CT-14215: Sent at datetime is in the future. - KT-CT-14216: Sent at datetime is missing timezone. - KT-CT-14219: Exactly one of emailContent or smsContent must be provided. - KT-CT-14220: SMS body is empty. - KT-CT-14221: To phone number is empty. - KT-CT-14222: From phone number is empty. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createExternalMessage(input: CreateExternalMessageInput!): CreateExternalMessage """ Record a lifecycle event, such as a delivery confirmation, bounce, or link click, for a previously created external message. The possible errors that can be raised are: - KT-CT-14217: Message not found. - KT-CT-14218: Invalid event data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createExternalMessageEvent(input: CreateExternalMessageEventInput!): CreateExternalMessageEvent """ Request an issued bill to be printed and (re)posted to billing address of the account. The possible errors that can be raised are: - KT-CT-3824: Unauthorized. - KT-CT-9705: The billing document has not been issued. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ requestPrintedBill(input: RequestPrintedBillInput!): RequestPrintedBill """ Update the Collection Process Record from raised status to active. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11202: No External reference provided. - KT-CT-11207: Unsupported external source for collection process. - KT-CT-11218: External reference cannot be updated once it has been set. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ updateCollectionProcessRecordToActive(input: UpdateCollectionProcessRecordToActiveInputType!): UpdateCollectionProcessRecordToActive """ Reactivate a Collection Process Record that was previously activated. Unlike UpdateCollectionProcessRecordToActive, this mutation does not require or update the external_reference field. Use this when reactivating a collection process that already has an external_reference set from its initial activation. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11217: Invalid collection process record status for reactivation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ reactivateCollectionProcessRecord(input: ReactivateCollectionProcessRecordInputType!): ReactivateCollectionProcessRecord """ Update the latest step of a Collection Process Record. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ updateCollectionProcessRecordLatestStep(input: UpdateCollectionProcessRecordLatestStepInputType!): UpdateCollectionProcessRecordLatestStep """ Update the Collection Process Record from raised status to complete. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11203: No Completion reason provided. - KT-CT-11204: No Completion details provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ updateCollectionProcessRecordToComplete(input: UpdateCollectionProcessRecordToCompleteInputType!): UpdateCollectionProcessRecordToComplete """ Associate an item to a collection process record. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11205: Item already associated to collection process. - KT-CT-11216: Invalid extra_details for associated item type. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ associateItemToCollectionProcess(input: AssociateItemToCollectionProcessInputType!): AssociateItemToCollectionProcess """ Assess a collection process record for pause and pause or unpause it based on the assessment. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ assessCollectionProcessRecordForPause(input: AssessCollectionProcessRecordForPauseInputType!): AssessCollectionProcessRecordForPause """ Start a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11208: Invalid billing document identifier for collection process. - KT-CT-11209: Collection process configuration does not have published version. - KT-CT-11210: Active collection process for entity already exists. - KT-CT-11211: Too many active collection processes for config. - KT-CT-11212: Invalid collection process config code. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ startCollectionProcess(input: StartCollectionProcessInput!): StartCollectionProcess """ Start a collection process grouped with a previously existing one. Use this when a new collection process (e.g. disconnection) must be linked to an earlier one (e.g. comms) for end-to-end traceability. Callers who do not need grouping should use startCollectionProcess instead. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11208: Invalid billing document identifier for collection process. - KT-CT-11209: Collection process configuration does not have published version. - KT-CT-11210: Active collection process for entity already exists. - KT-CT-11211: Too many active collection processes for config. - KT-CT-11212: Invalid collection process config code. - KT-CT-11308: Previous collection process not found. - KT-CT-11309: Previous collection process does not belong to the same entity. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ startGroupedCollectionProcess(input: StartGroupedCollectionProcessInput!): StartGroupedCollectionProcess """ Manually pause a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11214: Invalid pause length for collection process. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ pauseCollectionProcess(input: PauseCollectionProcessInput!): PauseCollectionProcess """ Manually resume a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11215: Unable to resume, collection process is not paused. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ resumeCollectionProcess(input: ResumeCollectionProcessInput!): ResumeCollectionProcess """ Pause the dunning process for an account. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11301: Account not in a dunning process for the given path name. - KT-CT-11302: No active dunning process found. - KT-CT-11303: Multiple active dunning processes found. - KT-CT-11304: Dunning pause process failed verifying the dates. - KT-CT-11305: Pausing the dunning process failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ pauseDunning(input: PauseDunningInputType!): PauseDunning """ Withdraw a dunning process for an account The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11301: Account not in a dunning process for the given path name. - KT-CT-11302: No active dunning process found. - KT-CT-11303: Multiple active dunning processes found. - KT-CT-11306: Withdrawing the dunning process failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ withdrawDunning(input: WithdrawDunningInputType!): WithdrawDunning """ Add commencement to an account. The possible errors that can be raised are: - KT-CT-11606: Debt Collection Agency cannot use campaign. - KT-CT-11601: Cannot start collection proceeding, proceeding for this account already exists. - KT-CT-11602: Could not find DCA with that name. - KT-CT-11607: Invalid ledger number for debt collection proceeding. - KT-CT-11608: Ledger does not belong to account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ commenceDcaProceeding(input: CommenceDCAProceedingInputType!): CommenceDCAProceeding """ Close the DCA proceeding for an account. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11602: Could not find DCA with that name. - KT-CT-11603: Could not stop debt collection proceeding. - KT-CT-11604: Active debt collection proceeding does not exist for account. - KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ closeDcaProceeding(input: CloseDCAProceedingInputType!): CloseDCAProceeding """ Trigger a collection process message with safety checks. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ triggerCollectionProcessMessage(input: TriggerCollectionProcessMessageInput!): TriggerCollectionProcessMessage """ Update the status of a DCA proceeding. The possible errors that can be raised are: - KT-CT-11610: unable to edit the debt collection proceeding. - KT-CT-11604: Active debt collection proceeding does not exist for account. - KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateDcaProceeding(input: UpdateDCAProceedingInputType!): UpdateDCAProceeding """ Create a collection process event to track significant events such as reactivations and errors. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createCollectionProcessEvent(input: CreateCollectionProcessEventInputType!): CreateCollectionProcessEvent """ Register a new customer asset for an account The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-14602: Customer asset already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ registerCustomerAsset(input: RegisterCustomerAssetInput!): RegisterCustomerAsset """ Retire a customer asset for an account The possible errors that can be raised are: - KT-CT-14603: Unable to retire customer asset. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ retireCustomerAsset(input: RetireCustomerAssetInput!): RetireCustomerAsset """ Submit customer feedback. The possible errors that can be raised are: - KT-CT-5514: Unable to submit feedback. - KT-CT-5511: The feedback_id should be provided for feedback source. - KT-CT-5512: The feedback doesn't match the account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ submitCustomerFeedback(input: CustomerFeedbackInputType!): SubmitCustomerFeedback """ Create unsubmitted customer feedback object. The possible errors that can be raised are: - KT-CT-5516: Invalid data. - KT-CT-1111: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createCustomerFeedback(input: CreateCustomerFeedbackInputType!): CreateCustomerFeedback """ Send a Trustpilot review invitation email to an account user. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-5523: Invalid account or account user. - KT-CT-5524: Account user does not have an email address. - KT-CT-5525: Unable to send the Trustpilot review invitation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendTrustpilotReviewInvitation(input: SendTrustpilotReviewInvitationInput!): SendTrustpilotReviewInvitation """ Create a contribution agreement for an account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-9601: Invalid data. - KT-CT-9602: Unable to create contribution agreement. - KT-CT-9605: Contribution amount cannot be 0 or negative. - KT-CT-9606: Scheme is not accepting contributions at this time. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createContributionAgreement(input: CreateContributionAgreementInput!): CreateContributionAgreement """ End a contribution agreement for an account. The possible errors that can be raised are: - KT-CT-9603: Unable to find contribution agreement. - KT-CT-4123: Unauthorized. - KT-CT-9604: Unable to end contribution agreement. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ endContributionAgreement(input: EndContributionAgreementInput!): EndContributionAgreement """ Attach a list of agreements to one or both contract types. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-10003: Contract not found. - KT-CT-10042: One or more agreements are already attached to a different contract. - KT-CT-10043: At least one contract identifier must be provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ attachAgreementsToContracts(input: AttachAgreementsToContractsInput!): AttachAgreementsToContractsOutput! """ Detach a list of agreements from all contracts they are linked to. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ detachAgreementsFromContracts(input: DetachAgreementsFromContractsInput!): DetachAgreementsFromContractsOutput! """ Create and actualize a new contract for an account or business. The possible errors that can be raised are: - KT-CT-10001: Party is already under contract. - KT-CT-10006: Account not found. - KT-CT-10021: Business not found. - KT-CT-10018: The provided contract subject is invalid. - KT-CT-10019: Contract creation implies breach. - KT-CT-10020: The provided contract party payload is invalid. - KT-CT-10045: Contract could not be actualized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createContract(input: CreateContractInput!): CreateContractOutput! """ Actualize a contract for an account or business. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10007: Unable to terminate contract. - KT-CT-10008: The contract is currently undergoing an active journey. - KT-CT-10022: Contract already terminated. - KT-CT-10023: Contract is already revoked. - KT-CT-10024: Contract already expired. - KT-CT-10026: Contract actualization implies breach. - KT-CT-10041: Contract is already rescinded. - KT-CT-10045: Contract could not be actualized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ actualizeContract(input: ActualizeContractInput!): ActualizeContractOutput! """ Vary the terms of a contract. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10008: The contract is currently undergoing an active journey. - KT-CT-10011: Unable to vary contract terms. - KT-CT-10033: Unable to save term. - KT-CT-10012: Contract variation implies breach. - KT-CT-10034: Unknown contract journey type. - KT-CT-10035: Cannot process a non-active contract journey. - KT-CT-10036: The contract journey manager is not found. - KT-CT-10037: Contract notes feature is disabled. - KT-CT-10038: Contract note reason not found. - KT-CT-10041: Contract is already rescinded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ varyContractTerms(input: VaryContractTermsInput!): VaryContractTermsOutput! """ Terminate an existing contract. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10007: Unable to terminate contract. - KT-CT-10008: The contract is currently undergoing an active journey. - KT-CT-10013: Requested termination date is invalid. - KT-CT-10044: Termination date must be after the contract start date. - KT-CT-10022: Contract already terminated. - KT-CT-10023: Contract is already revoked. - KT-CT-10024: Contract already expired. - KT-CT-10025: Contract has not started yet. - KT-CT-10037: Contract notes feature is disabled. - KT-CT-10038: Contract note reason not found. - KT-CT-10041: Contract is already rescinded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ terminateContract(input: TerminateContractInput!): TerminateContractOutput! """ Revoke an existing contract. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10022: Contract already terminated. - KT-CT-10023: Contract is already revoked. - KT-CT-10024: Contract already expired. - KT-CT-10032: Contract has already started. - KT-CT-10041: Contract is already rescinded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ revokeContract(input: RevokeContractInput!): RevokeContractOutput! """ Rescind an existing contract. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10040: Unable to rescind contract. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ rescindContract(input: RescindContractInput!): RescindContractOutput! """ Update the consents for an account using the consent management system. The possible errors that can be raised are: - KT-CT-9014: Duplicate consent. - KT-CT-9016: Consent management not enabled. - KT-CT-9017: Consent type not found. - KT-CT-9018: Account not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountConsents(accountNumber: String!, consents: [ConsentInput]!): UpdateAccountConsents """ Request a double opt in for a consent. This mutation will create a consent with a value of PENDING and publish a double opt-in requested transactional messaging trigger. The possible errors that can be raised are: - KT-CT-9019: Invalid input. - KT-CT-9018: Account not found. - KT-CT-1111: Unauthorized. - KT-CT-9016: Consent management not enabled. - KT-CT-9017: Consent type not found. - KT-CT-9023: Consent already accepted. - KT-CT-1199: Too many requests. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ requestDoubleOptIn(input: DoubleOptInInput): RequestDoubleOptIn """ Confirm a double opt in The possible errors that can be raised are: - KT-CT-9016: Consent management not enabled. - KT-CT-9020: Invalid consent expiring token. - KT-CT-9021: Consent expiring token not found. - KT-CT-9022: Consent for given token already accepted. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ confirmDoubleOptIn(input: ConfirmDoubleOptInInput): ConfirmDoubleOptIn """ Close the Open Print Batch if any. The possible errors that can be raised are: - KT-CT-9010: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ closeOpenPrintBatch: CloseOpenPrintBatch! """ Mark a closed print batch as processed. The possible errors that can be raised are: - KT-CT-9011: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ markPrintBatchAsProcessed(printBatchId: ID!): MarkPrintBatchAsProcessed! """ Update the document accessibility preference for the given account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateDocumentAccessibilityPreference(input: UpdateDocumentAccessibilityPreferenceInput!): UpdateDocumentAccessibilityPreference! """ Create a new internal company. The possible errors that can be raised are: - KT-CT-14402: Duplicated internal company. - KT-CT-14403: Invalid address. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createInternalCompany(input: CreateInternalCompanyInput!): CreateInternalCompany """ Link an account to a business. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11104: Business role already allocated. - KT-CT-11105: Business role already allocated. - KT-CT-11106: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ linkAccountToBusiness(input: LinkAccountToBusinessInput!): LinkAccountToBusiness """ Create a business. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11108: Invalid data. - KT-CT-11109: Invalid data. - KT-CT-11110: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ createBusiness(input: CreateBusinessInput!): CreateBusiness """ Add a business to a segment. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-11111: Segment does not exist. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ addBusinessToSegment(input: AddBusinessToSegmentInput!): AddBusinessToSegmentMutation """ Regenerate the live secret key for the authenticated user. The possible errors that can be raised are: - KT-CT-11100: API key authentication unavailable. - KT-CT-1113: Disabled GraphQL field requested. """ regenerateSecretKey: RegenerateSecretKey """ Provide a temporary token to get an auth token. This is intended to allow support users to view customer data through the brand interface. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ masqueradeAuthentication(masqueradeToken: String!, userId: String!): MasqueradeAuthentication """ Generate a pre-signed token with a set expiry time. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-1120: The Kraken Token has expired. - KT-CT-1131: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ generatePreSignedToken(email: String!, numberOfDaysAllowed: Int!, scope: PreSignedTokenScope!): GeneratePreSignedToken """ Invalidate a previously issued expiring/pre-signed token. To invalidate tokens issued to a particular user, use InvalidatePreSignedTokensForUser mutation. The possible errors that can be raised are: - KT-CT-1129: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ invalidatePreSignedToken(input: InvalidatePreSignedTokenInput!): InvalidatePreSignedToken """ Invalidate pre-signed tokens previously issued to a particular user. This mutation can invalidate all pre-signed tokens issued to a customer, or only tokens of a given scope. The possible errors that can be raised are: - KT-CT-1129: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ invalidatePreSignedTokensForUser(input: InvalidatePreSignedTokensForUserInput!): InvalidatePreSignedTokensForUser """ Provide the email address of an account user to send them an email with instructions on how to reset their password. The possible errors that can be raised are: - KT-CT-11331: Invalid input data. - KT-CT-11332: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ requestPasswordReset(input: RequestPasswordResetInput!): RequestPasswordResetOutputType """ Reset the password of an account user indicated by the userId to the value supplied. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ resetPassword(input: ResetPasswordMutationInput!): ResetPasswordMutationPayload @deprecated(reason: "The 'resetPassword' field is deprecated. Please use `resetUserPassword` instead. - Marked as deprecated on 2024-12-04. - Scheduled for removal on or after 2025-06-01. You can read more about this deprecation on: https://announcements.kraken.tech/announcements/public/81/") """ Reset the password of an account user. Raises `KT-CT-5450` if password validation fails. Inspect the `validationErrors` extension to get the exact validation error: ```json { "data": {"resetUserPassword": null}, "errors": [ { "message": "Password is invalid.", "path": ["resetUserPassword"], "extensions": { "errorType": "VALIDATION", "errorCode": "KT-CT-5450", "errorDescription": "Given password fails password policy requirements.", "validationErrors": [ { "code": "password_too_short", "message": "This password is too short. It must contain at least 7 characters.", "inputPath": ["input", "password"] }, { "code": "password_too_common", "message": "This password is too common.", "inputPath": ["input", "password"] } ] } } ] } ``` The validation error's `code` can be any of - `password_too_short` - `password_too_common` - `password_reused` - `password_matches_current` - `password_has_too_few_numeric_characters` - `password_has_too_few_special_characters` - `password_has_too_few_lowercase_characters` - `password_has_too_few_uppercase_characters` - `password_contains_account_number` - `password_contains_part_of_email_address` The possible errors that can be raised are: - KT-CT-4125: Unauthorized. - KT-CT-1132: Unauthorized. - KT-CT-5450: Password is invalid. - KT-CT-1113: Disabled GraphQL field requested. """ resetUserPassword(input: ResetUserPasswordInput!): ResetUserPasswordOutput """ Update password of the authenticated user This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-5460: Old password is invalid. - KT-CT-5450: Password is invalid. - KT-CT-1113: Disabled GraphQL field requested. """ updatePassword(input: UpdatePasswordInput): UpdatePassword """ Create a Kraken Token (JWT) for authentication. Provide the required input fields to obtain the token. The token should be used as the `Authorization` header for any authenticated requests. The possible errors that can be raised are: - KT-CT-1135: Invalid data. - KT-CT-1134: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ obtainKrakenToken(input: ObtainJSONWebTokenInput!): ObtainKrakenJSONWebToken """ Force users of Kraken Tokens and refresh tokens issued to the viewer to reauthenticate. Calling this mutation will cause all Kraken Tokens and refresh tokens issued to the authenticated viewer before the mutation was called to become invalid. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ forceReauthentication(input: ForceReauthenticationInput!): ForceReauthentication """ Obtain a long-lived refresh token. This mutation is limited to authorized third-party organizations only. Account users can only generate short-lived refresh tokens, obtainable from the 'refreshToken' field in the 'obtainKrakenToken' mutation. The possible errors that can be raised are: - KT-CT-1120: The Kraken Token has expired. - KT-CT-1121: Please use Kraken Token to issue long-lived refresh tokens. - KT-CT-1132: Unauthorized. - KT-CT-1122: Long-lived refresh tokens can only be issued for account users. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ obtainLongLivedRefreshToken(input: ObtainLongLivedRefreshTokenInput!): ObtainLongLivedRefreshToken """ Invalidate a previously issued refresh token. To invalidate tokens issued to a particular user, use InvalidateRefreshTokensForUser. The possible errors that can be raised are: - KT-CT-1130: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ invalidateRefreshToken(input: InvalidateRefreshTokenInput!): InvalidateRefreshToken """ Invalidate all refresh tokens previously issued to a particular user. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ invalidateRefreshTokensForUser(input: InvalidateRefreshTokensForUserInput!): InvalidateRefreshTokensForUser """ Provide identifying information about an account and user to get a scoped token that will permit access to associate an email address with the account's user. The possible errors that can be raised are: - KT-CT-1145: Account/user details do not match. - KT-CT-1113: Disabled GraphQL field requested. """ verifyIdentity(input: VerifyIdentityInput!): VerifyIdentity """ Create a multi-factor authentication (MFA) device for a user. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-1151: MFA device not found. - KT-CT-1153: Unable to create MFA device. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createMfaDevice(input: CreateMfaDeviceInputType!): CreateMfaDevice """ Validate a multi-factor authentication (MFA) device for a user. The possible errors that can be raised are: - KT-CT-1150: MFA device not found. - KT-CT-1151: MFA device not found. - KT-CT-1152: Invalid MFA token. - KT-CT-1155: Enabled backup device is needed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ validateMfaDevice(input: ValidateMfaDeviceInputType!): ValidateMfaDevice """ Delete a multi-factor authentication (MFA) device for the authenticated user. The possible errors that can be raised are: - KT-CT-1150: MFA device not found. - KT-CT-1154: Unable to delete MFA device. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ deleteMfaDevice(input: DeleteMfaDeviceInputType!): DeleteMfaDevice """ Complete an approval by marking it as approved or rejected. The possible errors that can be raised are: - KT-CT-14802: Invalid input for completing approval. - KT-CT-14801: Approval not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ completeApproval(input: CompleteApprovalInputType!): CompleteApproval """ Mutation to create a new APIException instance. The possible errors that can be raised are: - KT-CT-7801: Received an invalid operationsTeamId. - KT-CT-7802: The external identifier already exists. - KT-CT-7805: Too many tags associated with this API Exception. - KT-CT-7806: Cannot create duplicate tags for the same API exception. - KT-CT-7811: Received an invalid assignedUserId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createApiException(input: CreateAPIExceptionInput!): CreateAPIException """ Mutation to update an existing APIException instance. The possible errors that can be raised are: - KT-CT-7804: No fields present in the input for updating the APIException. - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-7809: Update results in no changes to API Exception. - KT-CT-7805: Too many tags associated with this API Exception. - KT-CT-7806: Cannot create duplicate tags for the same API exception. - KT-CT-7801: Received an invalid operationsTeamId. - KT-CT-7811: Received an invalid assignedUserId. - KT-CT-7812: Support user is inactive. - KT-CT-7814: Received an invalid accountNumber. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateApiException(input: UpdateAPIExceptionInput!): UpdateAPIException """ Mutation to create a new APICall instance. The possible errors that can be raised are: - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createApiCall(input: CreateAPICallInput!): CreateAPICall """ Mutation to create a new APIExceptionEvent instance. The possible errors that can be raised are: - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createApiExceptionEvent(input: CreateAPIExceptionEventInput!): CreateAPIExceptionEvent """ Mutation to create a new APIExceptionNote instance. The possible errors that can be raised are: - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createApiExceptionNote(input: CreateAPIExceptionNoteInput!): CreateAPIExceptionNote """ Mutation to update an existing APIExceptionNote instance. The possible errors that can be raised are: - KT-CT-7807: Received an invalid apiExceptionNoteId. - KT-CT-7808: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateApiExceptionNote(input: UpdateAPIExceptionNoteInput!): UpdateAPIExceptionNote """ Create an agreement rollover for a specific account and agreement. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-4910: No product exists with the given input. - KT-CT-4924: Unauthorized. - KT-CT-13701: An active agreement rollover already exists for this agreement. - KT-CT-13702: Expected send date cannot be in the past. - KT-CT-13703: Rollover date cannot be in the past. - KT-CT-13704: Unable to create agreement rollover. - KT-CT-13708: Agreement rollover validation error. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAgreementRollover(input: CreateAgreementRolloverInput!): CreateAgreementRollover """ Update an agreement rollover. The possible errors that can be raised are: - KT-CT-4910: No product exists with the given input. - KT-CT-13705: Agreement rollover not found. - KT-CT-13706: Agreement rollover has an invalid status for this operation. - KT-CT-13707: Agreement rollover has an invalid type for this operation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAgreementRollover(input: UpdateAgreementRolloverInput!): UpdateAgreementRollover """ Run an agreement rollover. The possible errors that can be raised are: - KT-CT-13705: Agreement rollover not found. - KT-CT-13706: Agreement rollover has an invalid status for this operation. - KT-CT-13709: Agreement rollover workflow has an invalid status for this operation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ runAgreementRollover(input: RunAgreementRolloverInput!): RunAgreementRollover """ Update an agreement rescission. This mutation allows updating the status and tracking information for an agreement rescission process. Updates are not allowed if the rescission has already been completed. The possible errors that can be raised are: - KT-CT-14101: Agreement rescission not found. - KT-CT-14102: Cannot update completed agreement rescission. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAgreementRescission(input: UpdateAgreementRescissionInput!): UpdateAgreementRescission """ Publish a transactional message confirming an agreement rescission. The possible errors that can be raised are: - KT-CT-14101: Agreement rescission not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendAgreementRescissionConfirmation(input: SendAgreementRescissionMessageInput!): SendAgreementRescissionConfirmation """ Create a new agreement. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-4910: No product exists with the given input. - KT-CT-1503: Agreement valid_to date must be later than valid_from date. - KT-CT-1509: Unable to create agreement. - KT-CT-1511: Cannot create overlapping agreement. - KT-CT-1512: Account type does not support agreements. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAgreement(input: CreateAgreementInput!): CreateAgreement """ Revoke an agreement. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1501: Agreement not found. - KT-CT-1502: Billed agreements cannot be revoked. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ revokeAgreement(input: RevokeAgreementInput!): RevokeAgreement """ Terminate an agreement. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-1513: Unable to terminate agreement. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ terminateAgreement(input: TerminateAgreementInput!): TerminateAgreement """ Get an existing agreement or create a new one if it doesn't exist. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-4910: No product exists with the given input. - KT-CT-1503: Agreement valid_to date must be later than valid_from date. - KT-CT-1509: Unable to create agreement. - KT-CT-1511: Cannot create overlapping agreement. - KT-CT-1512: Account type does not support agreements. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ getOrCreateAgreement(input: CreateAgreementInput!): GetOrCreateAgreement """ Update the period of an agreement. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1501: Agreement not found. - KT-CT-1503: Agreement valid_to date must be later than valid_from date. - KT-CT-1504: Account does not match with the agreement. - KT-CT-1505: Unable to edit agreement. - KT-CT-1506: Agreement period is not within the supply and property period. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAgreementPeriod(input: UpdateAgreementPeriodInput!): UpdateAgreementPeriod """ Extend the period of an agreement. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1501: Agreement not found. - KT-CT-1504: Account does not match with the agreement. - KT-CT-1505: Unable to edit agreement. - KT-CT-1506: Agreement period is not within the supply and property period. - KT-CT-1514: Extension valid_to date must be later than the current valid_to date. - KT-CT-1515: Agreement must have an end date to be extensible. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ extendAgreementPeriod(input: ExtendAgreementPeriodInput!): ExtendAgreementPeriod """ Create an affiliate link for a new sales agent. The possible errors that can be raised are: - KT-CT-7711: Invalid data. - KT-CT-7713: Invalid data. - KT-CT-7714: Invalid data. - KT-CT-7715: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAffiliateLink(input: CreateAffiliateLinkInputType!): CreateAffiliateLink! """ Update an affiliate link of an existing sales agent. The possible errors that can be raised are: - KT-CT-7711: Invalid data. - KT-CT-7713: Invalid data. - KT-CT-7714: Invalid data. - KT-CT-7715: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAffiliateLink(input: UpdateAffiliateLinkInputType!): UpdateAffiliateLink! """ Create an affiliate organisation. The possible errors that can be raised are: - KT-CT-7716: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAffiliateOrganisation(input: CreateAffiliateOrganisationInputType!): CreateAffiliateOrganisation! """ Update an existing affiliate organisation. The possible errors that can be raised are: - KT-CT-7717: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAffiliateOrganisation(input: UpdateAffiliateOrganisationInputType!): UpdateAffiliateOrganisation! """ Replace the references for a partner organisation. The possible errors that can be raised are: - KT-CT-7701: The affiliate organisation was not found. - KT-CT-7732: The supplied reference namespace is not configured for this client. - KT-CT-7733: Another partner organisation already has a reference with this value in this namespace. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ replacePartnerReferences(input: ReplacePartnerReferencesInputType!): ReplacePartnerReferences! """ Create a session for an affiliate link. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAffiliateSession(input: CreateAffiliateSessionInputType!): CreateAffiliateSession! """ Generate a pre-signed URL for uploading an audio file for use with affiliates. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ generateAffiliatesAudioRecordingPreSignedUrl(input: GenerateAffiliatesAudioRecordingPreSignedUrlInput!): GenerateAffiliatesAudioRecordingPreSignedUrl! """ Create an audio recording for an affiliate session. The possible errors that can be raised are: - KT-CT-7720: Invalid S3 key format. - KT-CT-7721: Link not found. - KT-CT-7722: Invalid input for audio recording upload. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAudioRecording(input: AudioRecordingInputType!): CreateAudioRecording! """ Create a partner user and assign them to a partner team. The possible errors that can be raised are: - KT-CT-7725: Unauthorized. - KT-CT-7726: Unauthorized. - KT-CT-7727: Invalid email address. - KT-CT-7728: Unable to create partner user. - KT-CT-13501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createPartnerUser(input: CreatePartnerUserInput!): CreatePartnerUser! """ Add an existing partner user to a partner team. The possible errors that can be raised are: - KT-CT-7725: Unauthorized. - KT-CT-7726: Unauthorized. - KT-CT-7729: The partner user and team must belong to the same organisation. - KT-CT-7730: The partner user is already a member of this team. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addPartnerUserToTeam(input: AddPartnerUserToTeamInput!): AddPartnerUserToTeam! """ Remove an existing partner user from a partner team. The possible errors that can be raised are: - KT-CT-7725: Unauthorized. - KT-CT-7726: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removePartnerUserFromTeam(input: RemovePartnerUserFromTeamInput!): RemovePartnerUserFromTeam! """ Permanently revoke a partner user access. The possible errors that can be raised are: - KT-CT-7701: The affiliate organisation was not found. - KT-CT-7725: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ revokePartnerUserAccess(input: RevokePartnerUserAccessInput!): RevokePartnerUserAccess! """ Validate an address without persisting it. Accepts address form values (matching the structure from the addressFields query), runs validation, and returns the full descriptor with cleaned/normalised values and per-field errors so the client can compare submitted vs. normalised data. The possible errors that can be raised are: - KT-CT-4413: The supplied address field descriptor identifier is not recognised. - KT-CT-1113: Disabled GraphQL field requested. """ validateAddress(input: ValidateAddressInput!): ValidateAddress """ **DEPRECATED: Please use updateUser instead** Update the account user details of the authenticated user. Only one field can be updated per day. This prevents users from switching accounts to someone else (usually when moving homes) All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ updateUserDetails(input: UpdateAccountUserMutationInput!): UpdateAccountUserMutationPayload @deprecated(reason: "The 'updateUserDetails' field is deprecated. Please use the 'updateUser' mutation instead. - Marked as deprecated on 2020-10-02. - Scheduled for removal on or after 2023-04-06.") """ Update the comms preferences of the account user (the authenticated user). The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateCommsPreferences(input: UpdateAccountUserCommsPreferencesMutationInput!): UpdateAccountUserCommsPreferencesMutationPayload """ Update the consents of an account user (the authenticated user) The possible errors that can be raised are: - KT-CT-9014: Duplicate consent. - KT-CT-9016: Consent management not enabled. - KT-CT-9017: Consent type not found. - KT-CT-1111: Unauthorized. - KT-CT-5421: Account user not found. - KT-CT-5422: Invalid data. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountUserConsents(consents: [ConsentTypeInput], userNumber: String): UpdateAccountUserConsents """ Update the account user details of the authenticated user. firstName and givenName fields are blocked and can't be updated via this mutation. There is no limit in the number of fields and number of times they can be updated per day. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-5413: Invalid data. - KT-CT-5414: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateUser(input: UpdateUserInput!): UpdateUserMutation """ Register a device token to be used for push notifications for an app. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ registerPushNotificationBinding(input: RegisterPushNotificationBindingInput!): RegisterPushNotificationBinding """ Delete a device token used for push notifications. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-5411: Invalid token or no push notification binding found for the given account user. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ deletePushNotificationBinding(input: DeletePushNotificationBindingInput!): DeletePushNotificationBinding """ Start the customer verification using the provided verification method. The possible errors that can be raised are: - KT-CT-1701: Brand does not exist. - KT-CT-4194: Verification type not supported yet. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ startCustomerVerification(input: StartCustomerVerificationInput!): StartCustomerVerification """ Verify a customer using the provided verification code and type. The possible errors that can be raised are: - KT-CT-4191: Error while verifying the customer. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ verifyCustomer(input: VerifyCustomerInput!): VerifyCustomer """ Add an user to a portfolio with a specified role. The possible errors that can be raised are: - KT-CT-5461: Invalid role code. - KT-CT-5462: Invalid user number format. - KT-CT-5463: Unauthorized. - KT-CT-9407: Unauthorized. - KT-CT-9408: Invalid portfolio number format. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ addUserToPortfolio(input: AddUserToPortfolioInput!): AddUserToPortfolio """ Grant user access to the business using the provided role. The possible errors that can be raised are: - KT-CT-5463: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-13501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ grantUserAccessToBusiness(input: GrantUserAccessToBusinessInput!): GrantUserAccessToBusiness """ Revoke the selected role from the user for the business. The possible errors that can be raised are: - KT-CT-5463: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-13501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ revokeUserAccessFromBusiness(input: RevokeUserAccessFromBusinessInput!): RevokeUserAccessFromBusiness """ Create an account reminder. The possible errors that can be raised are: - KT-CT-1401: Invalid data. - KT-CT-1402: Unable to create account reminder. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAccountReminder(input: CreateAccountReminderInput!): CreateAccountReminder @deprecated(reason: "The 'createAccountReminder' field is deprecated. This mutation rely on legacy reminder types. Please use the createReminder mutation which uses the new registry based reminder types instead. - Marked as deprecated on 2024-11-14. - Scheduled for removal on or after 2025-04-16.") """ Create an account reference. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-8310: Invalid data. - KT-CT-8311: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAccountReference(input: AccountReferenceInput!): CreateAccountReference """ Update a reference for a particular account and namespace. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-8310: Invalid data. - KT-CT-8311: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountReference(input: AccountReferenceInput!): UpdateAccountReference """ Delete a reference for a particular account and namespace. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-8310: Invalid data. - KT-CT-8312: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ deleteAccountReference(input: DeleteAccountReferenceInput!): DeleteAccountReference """ Create an external account event. The possible errors that can be raised are: - KT-CT-7123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createExternalAccountEvent(input: CreateExternalAccountEventInput!): CreateExternalAccountEvent """ Create an external account user event. The possible errors that can be raised are: - KT-CT-7123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createExternalAccountUserEvent(input: CreateExternalAccountUserEventInput!): CreateExternalAccountUserEvent """ Post credit to a ledger. The possible errors that can be raised are: - KT-CT-5316: Invalid data. - KT-CT-5311: The credit reason with the requested code is deprecated. - KT-CT-5312: The credit reason with the requested code does not exist. - KT-CT-5313: An error occurred whilst posting the credit. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ postCredit(input: PostCreditInput!): PostCredit """ Add charges to an account. The possible errors that can be raised are: - KT-CT-5211: The charge reason with the requested code is deprecated. - KT-CT-5212: The charge reason with the requested code does not exist. - KT-CT-5213: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAccountCharge(input: CreateAccountChargeInput!): CreateAccountCharge """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-7427: No campaign found with given slug. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ addCampaignToAccount(input: AddCampaignToAccountInput!): AddCampaignToAccount """ The possible errors that can be raised are: - KT-CT-7424: Failed to remove campaign from account. - KT-CT-7426: The account is not part of the given campaign. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ removeCampaignFromAccount(input: RemoveCampaignFromAccountInput!): RemoveCampaignFromAccount """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-7428: Failed to update campaign account. - KT-CT-7429: No active campaign account found for the given account and campaign. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ updateCampaignAccountExpiryDate(input: UpdateCampaignAccountExpiryDateInput!): UpdateCampaignAccountExpiryDate """ Send a CDR notification to a named recipient for a given account. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ sendCdrNotificationComms(input: CDRNotificationInput!): SendCDRNotification """ Request a customer access data (CAD) report. The possible errors that can be raised are: - KT-AU-3811: Missing or invalid mutation inputs. - KT-CT-3823: Unauthorized. - KT-CT-6420: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ requestCadReport(input: RequestCADReportInputType!): RequestCADReport """ Create a shell account (a billable account with no property/energy supply). The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createShellAccount(input: CreateShellAccountInput!): CreateShellAccountPayload """ Update the comms delivery preference for the given account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4136: Cannot set comms preference to email when account has no email. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateCommsDeliveryPreference(input: UpdateCommsDeliveryPreferenceInput!): UpdateCommsDeliveryPreference """ Update the billing email for the given account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4122: Invalid email. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountBillingEmail(input: UpdateAccountBillingEmailInput!): UpdateAccountBillingEmail """ Update the billing name and billing sub name for the input account number. Fields that are omitted, null, or empty are left unchanged; this mutation cannot clear a name. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountBillingName(input: UpdateAccountBillingNameInput!): UpdateAccountBillingName """ Update the account billing address. The possible errors that can be raised are: - KT-CT-4145: Invalid address. - KT-CT-7123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountBillingAddress(input: AccountBillingAddressInput!): UpdateAccountBillingAddress """ Add a note to an account, identified by account number or supply point. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4180: Account note must be a valid string. - KT-AU-4110: Either accountNumber or both supplyPointIdentifier and marketName must be provided. - KT-AU-4111: No account found for the given supply point. - KT-CT-4196: Unpin at date provided is in the past. - KT-CT-4195: Unpin at date provided for an unpinned note. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAccountNote(input: CreateAccountNoteInput!): CreateAccountNote """ Update the language preference for an account. Determines the language in which communications about the account are sent. It does not affect the language seen in the UI. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateOptionsLanguagePreference(input: OptionsLanguagePreferenceInput!): UpdateOptionsLanguagePreference """ Update address in legacy format for all accounts for this user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ updateUserAddress(address: UpdateAddressInput!): UpdateUserAddressMutation """ Update address for all accounts for this user. The possible errors that can be raised are: - KT-CT-4412: The supplied address is not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateUserRichAddress(address: RichAddressInput!, userId: ID): UpdateUserRichAddressMutation """ Update address in legacy format for the specified account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountAddress(accounts: [String], address: UpdateAddressInput!, userId: String): UpdateAccountAddressMutation """ Update address for the specified account. The possible errors that can be raised are: - KT-CT-4412: The supplied address is not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountRichAddress(accounts: [String], address: RichAddressInput!, userId: String): UpdateAccountRichAddressMutation """ Add a custom event for an account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ addCustomEvent(accountNumber: String!, category: String!, content: String!, subCategory: String): AddCustomEventMutation """ This mutation is used for processing an electricity product switch. This is when an existing user opts in for a different product during the tenure of their agreement. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountElectricityProduct(input: UpdateAccountElectricityProductInput!): UpdateAccountElectricityProduct """ This mutation is used for processing a gas product switch. This is when an existing user opts in for a different product during the tenure of their agreement. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updateAccountGasProduct(input: UpdateAccountGasProductInput!): UpdateAccountGasProduct """ Create a new primary residence for the given user and property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createPrimaryResidence(input: CreatePrimaryResidenceInput!): CreatePrimaryResidence """ Update an existing primary residence for the given user and property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ updatePrimaryResidence(input: UpdatePrimaryResidenceInput!): UpdatePrimaryResidence """ Creates an account event if the account has users with family issues and the trigger's audit trail confirms a life support comm was suppressed due to family issues. Returns the created event, or null if conditions were not met. The possible errors that can be raised are: - KT-CT-9904: Trigger not found. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createFamilyIssuesSuppressedCommAccountEvent(accountNumber: String!, triggerId: ID!): CreateFamilyIssuesSuppressedCommAccountEvent """ Create a new account user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createAccountUser(input: CreateAccountUserInput!): CreateAccountUser """ Create a new alternative phone number for the user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ createUserAlternativeNumber(input: AccountUserAlternativeNumberInputType!): CreateUserAlternativeNumber """ Delete an existing alternative phone number for the user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ deleteUserAlternativeNumber(input: AccountUserAlternativeNumberInputType!): DeleteUserAlternativeNumber """ Flag a user for Family Domestic Violence (FDV) / family issues. Note: The family issues flag can only be enabled (not disabled) through this mutation. The possible errors that can be raised are: - KT-AU-5418: Invalid input for family issues mutation. - KT-AU-5416: Family issues flag cannot be removed through this mutation. - KT-AU-5417: Account not found for user. - KT-AU-5419: Cannot set delivery preference 'EMAIL' for user without an email specified. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ hasFamilyIssues(input: HasFamilyIssuesInputType!): HasFamilyIssues } type NMICheckType { """Whether the NMI searched for is currently on supply.""" isOnSupply: Boolean """Meter point Status for the NMI in Kraken. It will be null if the NMI is not on supply.""" krakenStatus: KrakenStatus """Date since when the NMI is on supply. It will be null if the NMI is not on supply.""" supplyStartDate: Date """Whether the account associated with NMI is an occupier account. This will be null if there is no linked account.""" isOccupier: Boolean """The account number associated with the NMI. This will be null if there is no linked account.""" accountNumber: String @deprecated(reason: "The 'accountNumber' field is deprecated. Use account to access the account.number instead. - Marked as deprecated on 2024-01-19. - Scheduled for removal on or after 2024-06-01.") """The account associated with the NMI. This will be null if there is no linked account.""" account: AccountType } type NMIDiscoveryType { nmi: String rawAemoResponse: String error: NMIDiscoveryTypeErrorUnion } type NMIType2DiscoveryType { rawAemoResponse: String hasAtLeastOneActiveSolarNtc: Boolean """Returns true if any active meter is smart, otherwise false.""" hasAtLeastOneActiveSmartMeter: Boolean @deprecated(reason: "The 'hasAtLeastOneActiveSmartMeter' field is deprecated. This is due to be replaced by hasAllActiveRemotelyReadMeters in order to make behaviour consistent throughout the system. - Marked as deprecated on 2023-01-11. - Scheduled for removal on or after 2024-01-01.") """Returns true if there are active meters and they are all remotely-read, otherwise false.""" hasAllActiveRemotelyReadMeters: Boolean """Returns true if there are any remotely-read meters with the status of remotely disconnected, otherwise false.""" hasAtLeastOneRemotelyReadDisconnectedMeter: Boolean error: NMIType2DsicoveryErrorUnion } """ The possible errors that can be raised are: - KT-CT-10820: Operations team group not found. - KT-CT-10821: No active teams in operations team group. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type NextOperationsTeamRoundRobin { """The next operations team assigned in round-robin sequence.""" team: Team! """Location routing information for the selected team.""" location: TeamLocation! """All operations team groups that the selected team belongs to.""" teamGroups: [TeamGroup]! """All inferred routing attributes for team, location, and team groups (e.g., ['OPERATIONS_GROUP.TEAM.Team_A', 'OPERATIONS_GROUP.LOCATION.London', 'OPERATIONS_GROUP.GROUP_B']). Recommended for IVR usage.""" allInferredRoutingAttributes: [String]! } type NoMatchingAccountFoundErrorType implements GenericErrorInterface { message: String! } type NoMatchingPropertyFromNMIErrorType implements GenericErrorInterface { message: String! } type NoRelatedPaymentSchedulesOnPaymentDateErrorType implements GenericErrorInterface { message: String! } type NoSuitableProductsFoundErrorType implements GenericErrorInterface { message: String! } type NoSupplyPointsAssociatedWithMirnErrorType implements GenericErrorInterface { message: String! } type NoSupplyPointsAssociatedWithPropertyErrorType implements GenericErrorInterface { message: String! } """Represents an application that can receive push notifications.""" type NotifiableApplicationType { id: ID! """Human readable name for the app.""" name: String! """Bundle ID or package name of the app.""" bundleId: String! service: NotifiableApplicationService! externalProvider: NotifiableApplicationExternalProvider! """Project ID used in push notification delivery service. (Currently: AWS Pinpoint)""" externalProjectId: String! description: String! pushNotificationBindings: [PushNotificationBindingType!]! } """ The unifying approach used to get a Kraken token (JWT: JSON Web Token) with different types of input. The currently supported inputs are: - account user email/password combination - account user API key - organization live secret key - pre-signed key - refresh token The possible errors that can be raised are: - KT-CT-1135: Invalid data. - KT-CT-1134: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ type ObtainKrakenJSONWebToken { """The Kraken Token. Can be used in the `Authorization` header for subsequent calls to the API to access protected resources.""" token: String! """The body payload of the Kraken Token. The same information can be obtained by using JWT decoding tools on the value of the `token` field.""" payload: GenericScalar! """A token that can be used in a subsequent call to `obtainKrakenToken` to get a new Kraken Token with the same access conditions after the previous one has expired.""" refreshToken: String """A Unix timestamp representing the point in time at which the refresh token will expire.""" refreshExpiresIn: Int """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Obtain a long-lived refresh token. This mutation is limited to authorized third-party organizations only. Account users can only generate short-lived refresh tokens, obtainable from the 'refreshToken' field in the 'obtainKrakenToken' mutation. The possible errors that can be raised are: - KT-CT-1120: The Kraken Token has expired. - KT-CT-1121: Please use Kraken Token to issue long-lived refresh tokens. - KT-CT-1132: Unauthorized. - KT-CT-1122: Long-lived refresh tokens can only be issued for account users. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ObtainLongLivedRefreshToken { refreshToken: String refreshExpiresIn: Int! } """An occupancy period for a property.""" type OccupancyPeriodType { """The unique ID of the occupancy period.""" id: ID """Date the occupancy period is effective from.""" effectiveFrom: DateTime """Date the occupancy period is effective to.""" effectiveTo: DateTime """Whether the account associated with the occupancy period is an occupier account type.""" isOccupier: Boolean """Account number associated with this occupancy period.""" accountNumber: String """Number of occupants associated with this occupancy period.""" numberOfOccupants: Int } type OccupyPropertyProcessConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [OccupyPropertyProcessConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `OccupyPropertyProcessConnectionType` and its cursor.""" type OccupyPropertyProcessConnectionTypeEdge { """The item at the end of the edge""" node: OccupyPropertyProcessType """A cursor for use in pagination""" cursor: String! } """Represents a Occupy Property process.""" type OccupyPropertyProcessType implements AbstractSupplyPointProcessInterface { """The ID or the primary key of the lifecycle process.""" id: ID """The status of the process.""" status: LifecycleSupplyPointProcessStatus occupyAt: DateTime! """The supply points associated with the process.""" supplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection! } type OfferGroupType { """Identifier of the Offer Group.""" identifier: ID """One or more Offers contained in the Offer Group.""" offers: [OfferType] """The date and time when Offer Group was created.""" createdAt: DateTime """The Actor who created the Offer Group.""" createdBy: ActorType } """ Offer a payment plan to a Customer. The possible errors that can be raised are: - KT-AU-3918: Unable to create payment plan. - KT-AU-3921: The specified account ledger wasn't found. - KT-AU-3931: The payment plan had no payment components. - KT-AU-3932: The payment plan offer expiry must be before the first payment. - KT-AU-3939: Support User ID not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type OfferPaymentPlan { """The payment plan that is offered.""" paymentPlan: PaymentPlanType } type OfferType { """Identifier of the Offer.""" identifier: ID """The Quote this Offer is related to.""" quote: QuoteType_ """Description of the Offer.""" description: String """The date and time from which the Offer becomes valid.""" validFrom: DateTime """The date and time until which the Offer remains valid.""" validTo: DateTime """The date and time when Offer was accepted.""" acceptedAt: DateTime """The date and time when Offer was rejected.""" rejectedAt: DateTime """The Actor who created the Offer.""" createdBy: ActorType } """Represents a nested offering component within an offering.""" type OfferingComponentType { """Unique identifier of the component.""" identifier: ID! """Minimum quantity of this component that can be selected.""" minimumQuantity: Int! """Maximum quantity of this component that can be selected.""" maximumQuantity: Int! """Initial/default quantity for this component.""" initialQuantity: Int! """The offering associated with this component.""" component: OfferingType! } """Represents a product offering in the catalog.""" type OfferingType { """Unique identifier of the offering.""" identifier: ID! """Internal name used to identify the offering.""" internalName: String! """Customer-facing name of the offering.""" customerName: String! """Customer-facing description of the offering.""" customerDescription: String! """Whether this offering can be sold stand-alone.""" isSellable: Boolean! """Lifecycle information for this offering.""" lifecycle: LifecycleType! """Tags associated with this offering.""" tags: [TagType] """Product components included in this offering.""" productComponents: [ProductComponentType] """Nested offering components included in this offering.""" offeringComponents: [OfferingComponentType] """Contract term template components included in this offering.""" termTemplateComponents: [TermTemplateComponentType] """Groups of components with cardinality constraints.""" groups: [GroupType] """Whether this offering can be amended (only DRAFT offerings).""" isAmendable: Boolean! """Whether this offering has expired.""" isExpired: Boolean! """Whether this offering is currently active.""" isActive: Boolean! """Whether this offering is in draft status.""" isDraft: Boolean! """Whether this is the latest version of the offering.""" isLatestVersion: Boolean! """Whether this is the first draft version (version 1, not yet activated).""" isFirstDraft: Boolean! } type OnSiteJobsAssetConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [OnSiteJobsAssetConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `OnSiteJobsAssetConnectionType` and its cursor.""" type OnSiteJobsAssetConnectionTypeEdge { """The item at the end of the edge""" node: OnSiteJobsAssetType """A cursor for use in pagination""" cursor: String! } """An On-Site Jobs Asset""" type OnSiteJobsAssetType { externalIdentifier: String! additionalDetails: JSONString! supplyPointInternalIdentifier: Int """The internal identifier of the supply point associated with the asset.""" supplyPointIdentifier: String @deprecated(reason: "The 'supplyPointIdentifier' field is deprecated. Use 'supplyPointInternalIdentifier' instead. This field is being removed as the underlying model field is being removed. - Marked as deprecated on 2026-01-16. - Scheduled for removal on or after 2026-03-01.") """The status of the asset.""" status: OnSiteJobsAssetStatus! """The kind of the asset.""" kind: OnSiteJobsAssetKind! """The fuel type of the asset.""" fuelType: OnSiteJobsAssetFuelType } """Check results for creating On-Site Jobs requests and appointments.""" type OnSiteJobsCheckResultsType { """Results of request checks.""" requestCheckResults: [CheckResultType] """Whether a request can be created (overall request check is PASS/WARNING).""" canCreateRequest: Boolean """Whether any of the request checks have warnings.""" hasRequestWarnings: Boolean } type OnSiteJobsRequestActionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [OnSiteJobsRequestActionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `OnSiteJobsRequestActionConnectionType` and its cursor.""" type OnSiteJobsRequestActionConnectionTypeEdge { """The item at the end of the edge""" node: OnSiteJobsRequestActionType """A cursor for use in pagination""" cursor: String! } """An action linked to an On Site Jobs Request.""" type OnSiteJobsRequestActionType { """The request stage at which this action is triggered.""" actionTriggerStage: OnSiteJobsRequestActionTriggerStage """The name of the workflow.""" workflowName: String """The current status of the workflow.""" workflowStatus: Status } type OnSiteJobsRequestConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [OnSiteJobsRequestConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `OnSiteJobsRequestConnectionType` and its cursor.""" type OnSiteJobsRequestConnectionTypeEdge { """The item at the end of the edge""" node: OnSiteJobsRequestType """A cursor for use in pagination""" cursor: String! } """An On Site Jobs Request""" type OnSiteJobsRequestType { id: UUID! reason: String! subReason: String! isEmergency: Boolean! externalReference: String! agent: String! comment: String! """Request account.""" account: String """List of supply points on request.""" marketSupplyPoints(before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection """Request property.""" property: PropertyType """Request status.""" status: OnSiteJobsRequestStatus """The overall priority status of all actions linked to the request and its appointments.""" overallActionsStatus: Status """A list of actions attached directly to this request.""" requestActions(before: String, after: String, first: Int, last: Int): OnSiteJobsRequestActionConnectionTypeConnection """A list of assets attached to this request.""" assets(before: String, after: String, first: Int, last: Int): OnSiteJobsAssetConnectionTypeConnection """The ID of the support user who created the request.""" createdBy: Int } type OnlyMoveInAllowedWithSupply implements GenericErrorInterface { message: String! } type OperationsTeamType { """ID for the Operations Team.""" id: ID """Name for the Operations Team.""" name: String } type OpportunitiesConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [OpportunitiesEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Opportunities` and its cursor.""" type OpportunitiesEdge { """The item at the end of the edge""" node: OpportunityOutput """A cursor for use in pagination""" cursor: String! } type OpportunityAttachment { """Attachment ID.""" id: ID """Attachment category.""" category: OpportunityAttachmentCategory """Attachment filename.""" filename: String } type OpportunityFileAttachment { """Presigned URL for the file attachment.""" presignedUrl: String """The date and time the file attachment will expire.""" expiresAt: DateTime } type OpportunityOutput { """Opportunity ID.""" opportunityId: ID @deprecated(reason: "The 'opportunityId' field is deprecated. Use `number` instead. - Marked as deprecated on 2025-12-16. - Scheduled for removal on or after 2026-02-16.") """Lead number.""" leadNumber: String """Lead type.""" leadType: String """Lead legal name.""" name: String """Lead account holder email.""" email: String """Lead account holder phone number.""" phoneNumber: String """Opportunity number.""" number: String """The sales funnel this opportunity is in.""" funnel: SalesFunnel """Current stage in a funnel.""" stage: String """Extra details about the opportunity.""" extraDetails: JSONString @deprecated(reason: "The 'extraDetails' field is deprecated. Use `extraDetailsItems` instead, which provides a structured key/value format. - Marked as deprecated on 2026-01-14. - Scheduled for removal on or after 2026-07-14.") """Extra details about the opportunity as key/value pairs.""" extraDetailItems: [ExtraDetail] """Opportunity address.""" opportunityAddress: AddressOutput """Opportunity rich address.""" opportunityRichAddress: RichAddressType """Sales channel.""" salesChannel: String """Team assigned to this opportunity.""" assignedToTeam: String @deprecated(reason: "The 'assignedToTeam' field is deprecated. Please use 'assignedToTeamIdentifier' instead. - Marked as deprecated on 2026-04-22. - Scheduled for removal on or after 2026-06-22.") """User assigned to this opportunity.""" assignedToUser: String @deprecated(reason: "The 'assignedToUser' field is deprecated. Please use 'assignedToUserIdentifier' instead. - Marked as deprecated on 2026-04-22. - Scheduled for removal on or after 2026-06-22.") """The identifier of the user assigned to this opportunity.""" assignedToUserIdentifier: String """The identifier of the team assigned to this opportunity.""" assignedToTeamIdentifier: String """Product offering ID.""" productOfferingId: String """The product offering of the opportunity.""" productOffering: OfferingType """Offer group ID.""" offerGroupId: String """Notes for the opportunity.""" notes: String """Attachments for the opportunity.""" attachments: [OpportunityAttachment] """List of supply points associated with the opportunity.""" supplyPoints(input: LeadSupplyPointFiltersInput): [LeadSupplyPointType] """The affiliate's name this opportunity is assigned to.""" assignedToAffiliateNumber: String } type OpportunityProductSummary { """The UUID for the Product Offering.""" productOfferingIdentifier: String """The UUID for the Product.""" productIdentifier: String """The code of the Product.""" productCode: String """The characteristics of the product.""" productCharacteristics: GenericScalar """The market for the Product.""" market: String } """A namespaced external reference attached to a partner organisation.""" type OrganisationReferenceType { """The code for the namespace this reference belongs to.""" namespace: String! """The reference value within the namespace.""" value: String! } type OutOfBoundsPaymentDayErrorType implements GenericErrorInterface { message: String! } type OutboundCallType implements CallInterface { """The ID of the call.""" id: ID! """If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.""" account: AccountType """Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).""" metadata: [CallMetadataItemType]! """Tags that have been applied to the call, for example during call wrap-up.""" tags: [CallTagType]! } type OutcomeType { type: AppSessionOutcomeType! category: AppSessionOutcomeCategory reason: String } """The Relay compliant `PageInfo` type, containing data necessary to paginate this connection.""" type PageInfo { """When paginating forwards, are there more items?""" hasNextPage: Boolean! """When paginating backwards, are there more items?""" hasPreviousPage: Boolean! """When paginating backwards, the cursor to continue.""" startCursor: String """When paginating forwards, the cursor to continue.""" endCursor: String } type PartnerRole implements RoleInterface { """The unique code of the role.""" code: String! """The unique displayable name of the role.""" name: String! """The description of the role.""" description: String! """The permissions associated with the role.""" permissionCodes: [String]! } """A partner team within an affiliate organisation.""" type PartnerTeamType { """The partner team's number.""" number: String! """The partner team's name.""" name: String! """The number of the parent team, if any.""" parentTeamNumber: String """Members directly assigned to this team (excluding subteam-only members).""" teamMembers(before: String, after: String, first: Int, last: Int): PartnerTeamUserConnectionTypeConnection! } type PartnerTeamUserConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PartnerTeamUserConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PartnerTeamUserConnectionType` and its cursor.""" type PartnerTeamUserConnectionTypeEdge { """The item at the end of the edge""" node: PartnerUserType """A cursor for use in pagination""" cursor: String! } """Holds information about a specific permission.""" type PartnerUserPermission { """The short name of the permission.""" permission: String! } type PartnerUserRole implements RoleInterface { """The unique code of the role.""" code: String! """The unique displayable name of the role.""" name: String! """The description of the role.""" description: String! """The permissions associated with the role.""" permissionCodes: [String]! } """A role available for assignment to a partner user.""" type PartnerUserRoleType { """The role code.""" code: String! """The role name.""" name: String! """The role description.""" description: String! } """A partner user of an affiliate organisation.""" type PartnerUserType { """The partner user's ID.""" id: ID! """The partner user's number.""" number: String! """The partner user's given name.""" givenName: String """The partner user's family name.""" familyName: String """The partner user's full name.""" name: String! """The partner user's email address.""" email: String """The last time the partner user logged in.""" lastLogin: DateTime """When the partner user was created.""" createdAt: DateTime! """The organisation the partner user belongs to.""" organisation: AffiliateOrganisationType """The effective permissions of the partner user.""" permissions: [PartnerUserPermission!]! """Role codes assigned to the partner user.""" roles: [PartnerUserRoleType!] } """Holds information about a specific permission.""" type PartnerViewerPermission { """The short name of the permission.""" permission: String } """Type for the authenticated partner user viewer.""" type PartnerViewerType { """The partner user's full name.""" name: String! """The partner user's email address.""" email: String! """The partner user's unique number (e.g. PU-XXXXXXXX).""" number: String! """Holds information about the permissions of the current viewer.""" permissions: [PartnerViewerPermission] } """ Manually pause a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11214: Invalid pause length for collection process. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type PauseCollectionProcess { """Collection process pause output.""" collectionProcessPaused: PauseCollectionProcessOutput } type PauseCollectionProcessOutput { """Pause records on the collection process.""" pauseRecords: [CollectionProcessPauseStatusRecord] } """ Pause the dunning process for an account. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11301: Account not in a dunning process for the given path name. - KT-CT-11302: No active dunning process found. - KT-CT-11303: Multiple active dunning processes found. - KT-CT-11304: Dunning pause process failed verifying the dates. - KT-CT-11305: Pausing the dunning process failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PauseDunning { """Whether the pause has been successfully created.""" pauseCreated: Boolean } """A payment from the customer to the energy supplier.""" type Payment implements TransactionType { """Unique identifier for the transaction.""" id: ID """Date when the transaction was posted to the account.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """Unique identifier of the account the transaction belongs to.""" accountNumber: String """Gross amount including tax (when payable). Refer to the `amounts` field for a breakdown of this information.""" amount: Int """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.""" balanceCarriedForward: Int """Deprecated.""" isCredit: Boolean @deprecated(reason: "The 'isCredit' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountCharge: Boolean @deprecated(reason: "The 'isAccountCharge' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountPayment: Boolean @deprecated(reason: "The 'isAccountPayment' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.""" isHeld: Boolean """Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.""" isIssued: Boolean """Human-readable title describing the transaction.""" title: String """The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.""" billingDocumentIdentifier: ID """Returns None if a statement is not linked with the transaction.""" statementId: ID @deprecated(reason: "The 'statementId' field is deprecated. Use `billingDocumentIdentifier` instead. - Marked as deprecated on 2023-11-30. - Scheduled for removal on or after 2024-06-01.") isReversed: Boolean! """Returns True if the transaction is linked with a statement.""" hasStatement: Boolean """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String """Whether a payment has been reversed due to a late failure.Sometimes a payment is marked cleared, only for Kraken to be notified days/weeks later that the payment has failed.""" isLateFailedPayment: Boolean! """The transaction type of the payment.""" paymentTransactionType: AccountPaymentTransactionTypeChoices """The method of the payment using the CDR-defined method values.""" methodCDR: PaymentMethodCDREnum } """An applied Payment Adequacy review that updated the recurring payment schedule.""" type PaymentAdequacyChangeType { """When the Payment Adequacy review was applied.""" appliedDate: DateTime """Previous payment amount in minor currency before Payment Adequacy was applied.""" previousPaymentAmount: Int """New payment amount in minor currency after Payment Adequacy was applied.""" newPaymentAmount: Int } """Payment adequacy adjusts fixed payment schedules to maintain a healthy ledger balance over a year.""" type PaymentAdequacyDetailsType { """This ledger will be exempt from default Payment Adequacy. This may mean that it is completely exempt, or handled with special rules.""" isCurrentlyExempt: Boolean """The most recent Payment Adequacy review that has been applied to this ledger, or null if no review has been applied.""" latestAppliedPaymentAdequacyChange: PaymentAdequacyChangeType } type PaymentExtensionEligibilityType { """Is the customer eligible for payment extension.""" isEligibleForPaymentExtension: Boolean requestedAt: RequestedAt """Is the customer's billing address in Victoria or not.""" isInVictoria: Boolean } type PaymentExtensionInfoType { """Options for setting up a payment extension.""" paymentExtensionOptions: PaymentExtensionOptionsType """Payment extension eligibility information.""" paymentExtensionEligibility: PaymentExtensionEligibilityType } type PaymentExtensionOptionsType { """The allowable dates on which a full payment can be made.""" payInFull: [Date]! """The allowable start dates on which a weekly payment can be initiated.""" weekly: [Date]! """The allowable start dates on which a fortnightly payment can be initiated.""" fortnightly: [Date]! """The full amount that is due on the customer account.""" fullAmount: Int! """The instalment amount for the regular payments.""" instalmentAmount: Int! } type PaymentFingerPrintCheckType { """Fingerprint.""" fingerprint: String """Returns True if the fingerprint exists, False otherwise.""" isFound: Boolean """Returns True if the fingerprint is risk-listed, False otherwise.""" isRiskListed: Boolean } type PaymentForecastConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentForecastConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentForecastConnectionType` and its cursor.""" type PaymentForecastConnectionTypeEdge { """The item at the end of the edge""" node: PaymentForecastType """A cursor for use in pagination""" cursor: String! } type PaymentForecastType { paymentNumber: Int date: Date amount: Int """The payment method used for the forecasted payment.""" method: ScheduleType } type PaymentInstructionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentInstructionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentInstructionConnectionType` and its cursor.""" type PaymentInstructionConnectionTypeEdge { """The item at the end of the edge""" node: PaymentInstructionType """A cursor for use in pagination""" cursor: String! } type PaymentInstructionOwnerType { """The account user who is an owner of this payment instruction.""" accountUser: AccountUserType """The business who is an owner of this payment instruction.""" business: BusinessType """The lead who is an owner of this payment instruction.""" lead: LeadType } """Payment Instructions""" type PaymentInstructionType { id: ID! status: String! validFrom: DateTime! accountHolder: String! instructionType: String! cardPaymentNetwork: String cardExpiryMonth: Int cardExpiryYear: Int sortCode: String! iban: String! bankCode: String accountType: String vendor: String! cardNumber: String! cardType: String """A masked reference to a recurring payment method.""" maskedAccountIdentifier: String """The owners of the financial account this instruction represents.""" owners: [PaymentInstructionOwnerType] """The supplementary ledger for this payment instruction.""" supplementaryLedger: SupplementaryLedgerType } type PaymentMethodType { id: ID! reference: String! status: String! validFrom: DateTime! validTo: DateTime paymentMethodType: String details: JSONString account: AccountType! """The owners of the financial account this instruction represents.""" owners: [PaymentInstructionOwnerType] """The supplementary ledger for this payment instruction.""" supplementaryLedger: SupplementaryLedgerType } type PaymentNotification { """Notification service used to send payment notification.""" notificationService: String """Payment notification reference.""" reference: String } type PaymentPlanConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentPlanConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentPlanConnectionType` and its cursor.""" type PaymentPlanConnectionTypeEdge { """The item at the end of the edge""" node: PaymentPlanType """A cursor for use in pagination""" cursor: String! } """An object that represents a planned payment for a payment plan.""" type PaymentPlanPaymentType { payableDate: Date! amount: Int! paymentType: String } type PaymentPlanPreviewPaymentType { """The payable date of this payment.""" payableDate: Date! """The payable amount of this payment.""" amount: Int! } """An object that represents a payment plan.""" type PaymentPlanType { id: ID! initialScheduleType: String! strategyName: String! status: String! offeredAt: DateTime offerExpiresAt: DateTime acceptedAt: DateTime updatedAt: DateTime! account: AccountType! payments: [PaymentPlanPaymentType!]! """The next planned payment for this payment plan.""" nextPayment: PaymentPlanPaymentType """The display name of the strategy used for this payment plan or None if one does not exist.""" strategyDisplayName: String """The ledger number for this payment plan or None if one does not exist.""" ledgerNumber: String } """Pagination object for PaymentPreferenceUnion""" type PaymentPreferenceConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentPreferenceConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentPreferenceConnectionType` and its cursor.""" type PaymentPreferenceConnectionTypeEdge { """The item at the end of the edge""" node: PaymentPreferenceUnion """A cursor for use in pagination""" cursor: String! } """ A payment promise applies to an account that does not have automatic payments. It records that a customer has told us they'll pay an amount by an agreed-upon date. """ type PaymentPromiseType { paymentPromises: [AccountPaymentType] } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type PaymentRequestConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentRequestConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentRequestConnectionType` and its cursor.""" type PaymentRequestConnectionTypeEdge { """The item at the end of the edge""" node: PaymentRequestType """A cursor for use in pagination""" cursor: String! } type PaymentRequestType { """The date the payment is expected to be made.""" expectedPaymentDate: Date """The status of the payment.""" paymentStatus: String """The total amount of the payment in minor currency.""" totalAmount: Int """The amount the customer is expected to pay in minor currency.""" customerAmount: Int """The amount that was funded by each funding source.""" fundingSourceAmounts(before: String, after: String, first: Int, last: Int): FundingSourceAmountConnectionTypeConnection } type PaymentRequestsType { """A list of payment requests for a given ledger.""" paymentRequest(before: String, after: String, first: Int, last: Int): PaymentRequestConnectionTypeConnection } type PaymentScheduleConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentScheduleConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentScheduleConnectionType` and its cursor.""" type PaymentScheduleConnectionTypeEdge { """The item at the end of the edge""" node: PaymentScheduleType """A cursor for use in pagination""" cursor: String! } """ Payment schedule details for a join supplier process. This type represents the chosen payment schedule configuration. Only one of the schedule type fields will be populated, depending on which type of schedule was chosen. """ type PaymentScheduleDataType { """Regular payment schedule details, if this schedule type was chosen.""" regular: RegularScheduleType """Bill-triggered payment schedule details, if this schedule type was chosen.""" billTriggered: BillTriggeredScheduleType """Balance-triggered payment schedule details, if this schedule type was chosen.""" balanceTriggered: BalanceTriggeredScheduleType """Bill-triggered with balance target schedule details, if this schedule type was chosen.""" billTriggeredBalanceTarget: BillTriggeredBalanceTargetScheduleType """Instalment by monthly amount schedule details, if this schedule type was chosen.""" instalmentByMonthlyAmount: InstalmentByMonthlyAmountScheduleType """Instalment by total amount schedule details, if this schedule type was chosen.""" instalmentByTotalAmount: InstalmentByTotalAmountScheduleType } type PaymentScheduleDelayConfigurationType { """The code of the delay configuration.""" code: String """The arguments of the delay configuration.""" args: JSONString } type PaymentSchedulePaymentDayDetailsType { """Direction of payment day.""" direction: PaymentDayDirectionType """A human-readable description of the value.""" description: String } """An object that represents when we have agreed to take payments from a payment instruction.""" type PaymentScheduleType { id: ID! validFrom: Date! validTo: Date """The reason the payment schedule was created.""" reason: PaymentScheduleReasonOptions paymentHolidayReason: String! paymentDay: Int """The frequency of the payment schedule.""" paymentFrequency: PaymentFrequencyOptions paymentFrequencyMultiplier: Int! paymentAmount: Int! paymentAdequacyAdjustment: Int paymentAdequacyAdjustmentExpiryDate: Date isVariablePaymentAmount: Boolean! """The sum of the payment adequacy contributions on the payment schedule that are expected to be taken before the debt repayment is complete.""" totalDebtAmount: Int """The supplementary ledger for this payment schedule, if it is on one.""" supplementaryLedger: SupplementaryLedgerType isPaymentHoliday: Boolean """The method of payment for the schedule.""" scheduleType: ScheduleType """Details of the payment_day value.""" paymentDayDetails: PaymentSchedulePaymentDayDetailsType """The delay configuration for this payment schedule.""" delayConfiguration: PaymentScheduleDelayConfigurationType """If the payment schedule is exempt from payment adequacy.""" isExemptFromPaymentAdequacy: Boolean """The ledger number of the payment schedule.""" ledgerNumber: String """The cause for requesting payment on a schedule.""" trigger: ScheduleTrigger } type PaymentTermsInvalidErrorType implements GenericErrorInterface { message: String! } type PaymentWithNonConcludedRePresentationConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PaymentWithNonConcludedRePresentationConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PaymentWithNonConcludedRePresentationConnectionType` and its cursor.""" type PaymentWithNonConcludedRePresentationConnectionTypeEdge { """The item at the end of the edge""" node: PaymentWithNonConcludedRePresentationType """A cursor for use in pagination""" cursor: String! } type PaymentWithNonConcludedRePresentationType { """The amount expected for this payment in minor currency units.""" amountPayable: Int """The date this payment is scheduled to be debited.""" payableDate: Date } """ Pay out a referral reward for an account. The possible errors that can be raised are: - KT-CT-6712: Invalid reference. - KT-CT-6723: Unauthorized. - KT-CT-6730: Referral cannot be paid out. - KT-CT-6731: The account is unrelated to the referral. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PayoutReferralForAccount { """The result of the payout.""" payoutResult: PayoutReferralForAccountResultType } """The result of the payout of a referral for an account.""" type PayoutReferralForAccountResultType { """The amount of the account credit paid out to the referring account.""" accountCreditAmount: Int } """ Represents a restriction for if an account should pay only by direct debit in a contract. Note: This type is a stub, and will be fleshed out in the future. """ type PaysByDirectDebitType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """Whether the account is paying by direct debit or not.""" paysByDirectDebit: Boolean! } type Period { """The period start.""" start: DateTime! """The period end.""" end: DateTime! } type PeriodBasedDocumentType implements BillInterface & ConstituentInterface { """The ID of the constituent bill.""" id: ID """The type of the bill.""" billType: BillTypeEnum """The date of the constituent bill covered from.""" fromDate: Date """The date of the constituent bill covered to.""" toDate: Date """ Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. """ temporaryUrl: String @deprecated(reason: "The 'temporaryUrl' field is deprecated. This field is deprecated. Use the 'attachments' field instead. - Marked as deprecated on 2024-09-16. - Scheduled for removal on or after 2025-09-01.") """The date the bill was sent to the customer.""" issuedDate: Date attachments(before: String, after: String, first: Int, last: Int): BillingAttachmentConnectionTypeConnection """How many charges have been reversed after the close date.""" reversalsAfterClose: StatementReversalsAfterClose! """ The unique identifier for the billing document. Note: a pending billing document will not have an identifier yet; and not all finalized billing documents will have an identifier assigned to them, in which case this will be null. """ identifier: ID """The total amounts for all charges on the billing document.""" totalCharges: StatementTotalType """The total amounts for all credits on the statement.""" totalCredits: StatementTotalType """Whether the billing document has been annulled.""" isAnnulled: Boolean! """Whether the billing document is currently held.""" isHeld: Boolean! """Transactions on the given billing document.""" transactions( ledgerNumber: String = null transactionTypes: [TransactionTypeFilter] = [] orderBy: TransactionsOrderBy = POSTED_DATE_DESC before: String after: String first: Int last: Int ): BillTransactionConnectionTypeConnection """This field returns the opening balance of a statement.""" openingBalance(ledgerNumber: String = null): Int """The closing balance of an issued billing document.""" closingBalance(ledgerNumber: String = null): Int! """Position of the billing document in the delinquent debt tracking system.""" documentDebtPosition: BillingDocumentPositionType representations(code: String = null, before: String, after: String, first: Int, last: Int): BillRepresentationConnectionTypeConnection """List of dates when a printed copy of this bill was requested.""" printedCopyRequests: [Date] """This field returns the average daily usage (import only) during the consumption period of a statement.""" averageDailyUsage: Float """This field returns the average daily solar export during the consumption period of a statement.""" averageDailyExport: Float """The date by which the billed amount is due from the customer or null for unfinalized bills.""" dueDate: Date """Whether the issued statement is considered 'final' for this account.""" isFinal: Boolean """Transactions on the bill. Note: this field is temporary while we design an an updated version of these APIs for new issuance.""" transactionsTmp(offset: Int, before: String, after: String, first: Int, last: Int): TransactionConnectionTypeConnection """The bill account number.""" accountNumber: String! """This field returns the total amount of repayments on a statement.""" totalRepayments: BigInt """This field returns the total amount of unfulfilled deposits on a statement.""" unfulfilledDeposits: BigInt """Returns a list of unfulfilled contribution items by scheme name.""" unfulfilledContributionItems: [ContributionItemType] """The first day of consumption that this statement includes.""" consumptionStartDate: Date """The last day of consumption that this statement includes.""" consumptionEndDate: Date """Retrieve the held status of a account statement.""" heldStatus: StatementHeldStatus } type PhoneNumberIdentificationType { """Our best guess for which account a call with this phone number would be about.""" accountBestMatch: AccountType """All accounts that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first.""" accountAllMatches(before: String, after: String, first: Int, last: Int): AccountConnectionTypeConnection! """Our best guess for which account user would be calling from this phone number.""" accountUserBestMatch: AccountUserType """All account users that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first.""" accountUserAllMatches(before: String, after: String, first: Int, last: Int): AccountUserConnectionTypeConnection! } type PillButtonType implements ButtonInterface & IdentifiableInterface { """The button style.""" buttonStyle: ButtonStyle """Title text of the button.""" title: String! """The action to perform when the button is pressed.""" buttonAction: ActionType! """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String } type PointsAllowanceRateLimitInformation { """The maximum number of points the viewer gets for requests per hour.""" limit: Int """The remaining points for the viewer in one hour time limit.""" remainingPoints: Int """The points used so far in one hour time limit.""" usedPoints: Int """Time To Live: UNIX timestamp when the viewer will get a new allowance of points.""" ttl: Int """Whether the viewer has been blocked due to spending all its allowed points.""" isBlocked: Boolean } """A measurement in points.""" type PointsSizeType implements IdentifiableInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The points value.""" points: Int! } """Paginator of Operations Team""" type PortfolioConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PortfolioConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PortfolioConnectionType` and its cursor.""" type PortfolioConnectionTypeEdge { """The item at the end of the edge""" node: PortfolioType """A cursor for use in pagination""" cursor: String! } """An object that represents a portfolio.""" type PortfolioType { id: ID! number: String! createdAt: DateTime! updatedAt: DateTime! billingName: String collectiveBilling: Boolean! """Operations team for this portfolio.""" operationsTeam: OperationsTeamType """The lead account for this portfolio.""" leadAccountNumber: String """The brand code associated with the portfolio.""" brand: String """The name of the portfolio.""" name: String """The depth of the portfolio in the hierarchy.""" depth: Int """The parent portfolio of the given portfolio, if any.""" parent: PortfolioType """The ancestors of the given portfolio.""" ancestors(before: String, after: String, first: Int, last: Int): PortfolioConnectionTypeConnection """The descendants of the given portfolio.""" descendants(before: String, after: String, first: Int, last: Int): PortfolioConnectionTypeConnection """The accounts associated with this portfolio.""" accounts(before: String, after: String, first: Int, last: Int): AccountConnectionTypeConnection } """The role a user has in association with one portfolio.""" type PortfolioUserRoleType { id: ID! user: AccountUserType! """The portfolio role.""" role: RoleString """Portfolio object.""" portfolio: PortfolioType! } """ The GraphQL error type for displaying information about GraphQL errors that might be raised from the API. """ type PossibleErrorType { """The error message that might be returned from the query/mutation.""" message: String """The error code that might be returned from the query/mutation.""" code: String """The error type that might be returned from the query/mutation.""" type: String """The error description that might be returned from the query/mutation.""" description: String } """Information and possible errors of the requested query/mutation.""" type PossibleErrorsOutputType { """Name of the query/mutation whose possible errors are returned.""" name: String """Type of the query (query or mutation).""" type: query_type """Whether the possible authentication errors are included.""" authErrors: Boolean """List of the errors the query/mutation is susceptible of raising.""" possibleErrors: [PossibleErrorType] } """ Post credit to a ledger. The possible errors that can be raised are: - KT-CT-5316: Invalid data. - KT-CT-5311: The credit reason with the requested code is deprecated. - KT-CT-5312: The credit reason with the requested code does not exist. - KT-CT-5313: An error occurred whilst posting the credit. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PostCredit { """Posted account credit.""" credit: Credit """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } type PreKrakenBillType implements BillInterface & ConstituentInterface { """The ID of the constituent bill.""" id: ID """The type of the bill.""" billType: BillTypeEnum """The date of the constituent bill covered from.""" fromDate: Date """The date of the constituent bill covered to.""" toDate: Date """ Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. """ temporaryUrl: String @deprecated(reason: "The 'temporaryUrl' field is deprecated. This field is deprecated. Use the 'attachments' field instead. - Marked as deprecated on 2024-09-16. - Scheduled for removal on or after 2025-09-01.") """The date the bill was sent to the customer.""" issuedDate: Date attachments(before: String, after: String, first: Int, last: Int): BillingAttachmentConnectionTypeConnection """How many charges have been reversed after the close date.""" reversalsAfterClose: StatementReversalsAfterClose! """The unique identifier of a historical bill. It will usually be present on the billing document itself.""" identifier: String """The params associated with the historical bill.""" params: JSONString """The gross amount of the historical bill.""" grossAmount: BigInt averageDailyUsage: Float totalConsumption: Float totalConsumptionCost: Float totalSupplyCost: Float totalFeedInEnergy: Float totalFeedInCost: Float """Whether the bill has been reversed. Null will be returned if this information wasn't sent in through the data import pipeline.""" isReversed: Boolean } """A pre-signed, expiring and opaque tokens that can be swapped for a limited scope JWT (Kraken Token).""" type PreSignedToken { """The scope that the token will grant to the account user.""" scope: ExpiringTokenScope! key: String! isValid: Boolean } type PreconditionsNotMetErrorType implements GenericErrorInterface { message: String! } type PredictedBillBasicMeterNotSupportedErrorType implements GenericErrorInterface { message: String! } type PredictedBillBasicMetersRequiredOnQuarantineType implements GenericErrorInterface { message: String! } type PredictedBillCannotCalculateBillMissingNetworkTariffCodeType implements GenericErrorInterface { message: String! } type PredictedBillChargeType { costInCents: Decimal! costInCentsWithGst: Decimal! } type PredictedBillComponentsType { """Consumption charges since the beginning of the current billing period.""" consumptionChargesToDate: PredictedBillChargeType! """Consumption charges predicted from now until the end of the current billing period.""" predictedConsumptionCharges: PredictedBillChargeType! pastWeekConsumptionCharges: PredictedBillChargeType! """Standing charges since the beginning of the current billing period.""" standingChargesToDate: PredictedBillChargeType! """Standing charges predicted from now until the end of the current billing period.""" predictedStandingCharges: PredictedBillChargeType! """Capacity charges since the beginning of the current billing period.""" capacityChargesToDate: PredictedBillChargeType! """7-day rolling average capacity charges (for prediction like consumption).""" pastWeekCapacityCharges: PredictedBillChargeType! """Capacity charges predicted from now until the end of the current billing period.""" predictedCapacityCharges: PredictedBillChargeType! """Demand charges since the beginning of the current billing period.""" demandChargesToDate: PredictedBillChargeType! """7-day rolling average demand charges (for prediction like consumption).""" pastWeekDemandCharges: PredictedBillChargeType! """Demand charges predicted from now until the end of the current billing period.""" predictedDemandCharges: PredictedBillChargeType! """Concession credit predicted from now until the end of the current billing period.""" predictedConcessionCredit: PredictedBillCreditType! """Concession credit since the beginning of the current billing period.""" concessionCreditToDate: PredictedBillCreditType! secondsUntilEndOfBillingPeriod: Int! secondsSinceBeginningOfBillingPeriod: Int! } type PredictedBillCreditType { """Credit amount in cents (ex GST).""" creditInCents: Decimal! """Credit amount in cents (inc GST).""" creditInCentsWithGst: Decimal! } type PredictedBillFailedToDeterminePeriodErrorType implements GenericErrorInterface { message: String! } type PredictedBillFixedBillingNotSupportedErrorType implements GenericErrorInterface { message: String! } type PredictedBillMetricsType { """ Average daily charges considering the whole billing period. If a nullable is returned, the billing options haven't been set properly and might require an Energy Specialist to fix it. """ averageDailyChargesPredicted: PredictedBillChargeType """ Average daily charges from the beginning of the billing period to date. Where 'to date' currently refers to the date of the last reading. If a nullable is returned, not enough days (less than one) have accrued since the beginning of the billing period. Therefore the *daily* average cost can't be calculated yet. """ averageDailyChargesToDate: PredictedBillChargeType } type PredictedBillReadingNotFoundErrorType implements GenericErrorInterface { message: String! } type PredictedBillTenantNotFoundErrorType implements GenericErrorInterface { message: String! } type PredictedBillType { costInCents: Decimal costInCentsWithGst: Decimal lastReadingDatetime: DateTime billStartsAt: DateTime billEndsAt: DateTime lastReading: ElectricityMeterReadingType """Components used to calculate the prediction equation.""" components: PredictedBillComponentsType predictedBillError: PredictedBillErrorUnion """Additional metrics calculated from the predicted bill.""" metrics: PredictedBillMetricsType } """Represents the preference of the user to be charged using a specific payment instruction.""" type PreferredInstruction { """The start time of the payment preference.""" forPaymentsAfter: String """The status of the payment preference.""" status: String """The payment instruction preferred by the user.""" paymentMethod: PaymentInstructionType } type PrepareAccountResult { """Was a new account created.""" isNewAccount: Boolean """The account number of the newly created account or the existing account to be re-used.""" accountNumber: String """Was a new user created.""" isNewUser: Boolean """The ID of the newly created or existing account user.""" userId: ID """The user number of the newly created or existing account user.""" userNumber: String } """ Preview a new payment plan, or create it if requested. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3923: Unauthorized. - KT-AU-3917: Unable to preview payment plan. - KT-AU-3919: Unable to create payment plan. - KT-AU-3918: Unable to create payment plan. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PreviewAndCreatePaymentPlan { """Preview payments for a new payment plan.""" paymentPlanPreview: [PaymentPlanPreviewPaymentType] """Data for newly created payment plan of one was created.""" createdPaymentPlan: PaymentPlanType } """Rate group prices for a product.""" type PriceForStream { """The characteristic mapping for the price.""" characteristicMapping: JSONString! @deprecated(reason: "The 'characteristicMapping' field is deprecated. Please use 'characteristics' instead. - Marked as deprecated on 2026-07-17. - Scheduled for removal on or after 2026-07-31.") """The characteristic values for the variant.""" characteristics: GenericScalar! """The scheme labels for the price.""" schemeLabels: JSONString @deprecated(reason: "The 'schemeLabels' field is deprecated. Please use 'schemes' instead. - Marked as deprecated on 2026-07-17. - Scheduled for removal on or after 2026-07-31.") """The scheme labels for the variant.""" schemes: GenericScalar """The price per unit.""" price: Decimal! } type PricePerUnit { """ Monetary value of a single unit of the measurement. This is the smallest unit of currency e.g. cents for USD or yen for JPY. """ amount: Decimal! """Unit that monetary amount relates to eg. 27 cents per kwh.""" unit: Unit } type PricingZoneType { """Identifier value for the Gas pricing zone.""" value: String """Human readable label for the Gas pricing zone.""" label: String } type PrimaryResidenceType { id: ID! """Inclusive, industrytime""" fromDate: Date! """Exclusive, industrytime""" toDate: Date updatedAt: DateTime property: PropertyType user: AccountUserType } """Represents a print attachment""" type PrintAttachmentType { id: ID! filename: String! s3Bucket: String! s3Key: String! """Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page).""" temporaryUrl: String } """Represents print batch details""" type PrintBatchType { id: ID! """The status of the print batch.""" status: PrintBatchStatus """Messages in a print batch.""" messages(isHighPriority: Boolean = null, offset: Int, before: String, after: String, first: Int, last: Int): PrintMessageTypeConnection } type PrintEventType implements Node { """The ID of the object""" id: ID! eventType: String! occurredAt: DateTime! """Print message of the print event.""" message: PrintMessageType } """Represents a print communication.""" type PrintMessageType implements Node { """The ID of the object""" id: ID! templateCode: String! """Attachments of the message.""" attachments: [PrintAttachmentType] """Represents associated account.""" account: AccountType """Comms that are marked as high priority.""" highPriority: Boolean """Addressee name on the letter.""" addressee: String """The address that the letter is sent to.""" addressLines: [String] """The address block that should match what is shown on the print PDF.""" addressBlock: [String] """The administrative area of the address that the letter will be sent to.""" billingAddressAdministrativeArea: String """The administrative area of the supply point of the account.""" supplyAddressAdministrativeArea: String """Document type code set by Origin team depending on the correspondence type.""" documentTypeCode: String """The set of inserts to be added in the mailhouse, typically pamphlets. Currently returns an empty array as a placeholder.""" inserts: [String] """The mail priority of this comm - REG if regular otherwise PRT if priority.""" envelopeType: String """The page size of this comm - either standard A4 or large print A3.""" pageSize: String """The number of sheets required to print this comm, which is calculated as the number of pages, divided by two, rounded up to the nearest integer.""" numberOfSheets: Int """The unique identifier for this print message.""" documentId: ID } type PrintMessageTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PrintMessageTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `PrintMessageType` and its cursor.""" type PrintMessageTypeEdge { """The item at the end of the edge""" node: PrintMessageType """A cursor for use in pagination""" cursor: String! } """ Mutation to process a house move that supports multiple markets. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ProcessHouseMove { """The account created or associated with the move in.""" account: AccountType """Error type for the house move in process.""" error: ProcessHouseMoveErrorUnion } """ Process a house move in for a related account, triggering a move in process for a defined user. Allows configuration of the user's: - Move in details - Billing preferences Depending on the related user's state in kraken, this mutation will either return or create an account within kraken. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ProcessHouseMoveInElectricity { account: AccountType """Error type for the move in process.""" error: ProcessHouseMoveInElectricityErrorUnion } """ Process a gas house move in for a related account, triggering a gas move in process for a defined user. Allows configuration of the user's: - Move in details - Billing preferences - Life support status - business_details Depending on the related user's state in kraken, this mutation will either return or create an account within kraken. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ProcessHouseMoveInGas { account: AccountType """Error type for the gas move in process.""" error: ProcessHouseMoveInGasErrorUnion } type Product { id: ID productRates: [RateInterface] @deprecated(reason: "The 'productRates' field is deprecated. Use paginatedRates instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-10-16.") """Rates associated with a product.""" paginatedRates( nmi: String mirn: String postcode: String suburb: String isBusiness: Boolean = false ratesActiveAt: Date onlyActiveRates: Boolean before: String after: String first: Int last: Int ): RatesConnectionFieldConnection """Groupings of product rates associated with an add on.""" addonRates(availableAt: DateTime): [AddonFamilyType] dmoReference: ProductDmoReferenceType code: String """The display name shown to customers during sign up process.""" displayName: String """The full descriptive name of the product.""" fullName: String """The description shown to customers during sign up process.""" description: String isStandingOffer: Boolean """Market the product is associated with.""" marketName: MarketName """Whether the product's prices are variable or fixed.""" isVariable: Boolean """The percentage of the product's emissions that are offset, if applicable, as a decimal number between 0 and 1.""" emissionsReduction: Decimal """The availability status of the product (eg. for public or restricted use).""" availabilityStatus: ProductAvailability """The date until which the product is available to be purchased.""" availableTo: DateTime """The length of time during which the product benefits apply for (in months).""" term: Int """The rank of the product.""" rank: Int """Additional metadata from various sources stored against the product. Used for servicing Consumer Data Right requirements.This data is not structural and should not be used for customer-facing applications.""" params: JSONString @deprecated(reason: "The 'params' field is deprecated. Don't use this field for customer queries as data in this JSON isn't structured and may change. - Marked as deprecated on 2023-09-27. - Scheduled for removal on or after 2023-10-27.") """Additional metadata from client sources stored against the product. This data is not structural and should not be relied upon for customer-facing applications.""" clientParams: JSONString """Loyalty details if required for product.""" loyalty: LoyaltyType error: ProductErrorUnion } type ProductCodeNotFoundErrorType implements GenericErrorInterface { message: String! } type ProductCodeNotInQuote implements GenericErrorInterface { message: String! } """Represents a product component within an offering.""" type ProductComponentType { """Unique identifier of the component.""" identifier: ID! """Minimum quantity of this component that can be selected.""" minimumQuantity: Int! """Maximum quantity of this component that can be selected.""" maximumQuantity: Int! """Initial/default quantity for this component.""" initialQuantity: Int! """The product associated with this component.""" component: CatalogProductType! } """ Deprecated: only used for mass-market elec and replaced by PriceReferenceInterface above. """ type ProductDmoReferenceType { """The unique identifier of the ProductDmoReference or ProductDMOComparison.""" id: ID! """The date the reference became effective.""" effectiveFrom: Date! """The last date on which the reference is effective.""" effectiveTo: Date """Relevant NTCs for this reference.""" ntcCombination: [String]! """Plan Id.""" planId: String """The calculated annual cost, in $.""" annualCost: Decimal! """The savings percentage, relative to the Usage Reference annual cost.""" savingPercentage: Int! } type ProductDoesNotExist implements GenericErrorInterface { message: String! } """Configuration for Product Rate Override Configuration term.""" type ProductRateOverrideConfigurationType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """The indexation options for the product rate override configuration.""" indexationOptions: IndexationOptionsType """The schedules for the product rate override configuration.""" schedules: [ProductRateOverrideScheduleType] } """Item for Product Rate Override Configuration term.""" type ProductRateOverrideItemType { """The product code for the product rate override item.""" productCode: String """The rate band for the product rate override item.""" rateBand: String """The price per unit for the product rate override item.""" pricePerUnit: Decimal } """Schedule for Product Rate Override Configuration term.""" type ProductRateOverrideScheduleType { """The items for the product rate override schedule.""" items: [ProductRateOverrideItemType] """The effective from date for the product rate override schedule.""" effectiveFrom: DateTime } """Generic product rate.""" type ProductRateType implements RateInterface { currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float """ID associated with product rate.""" id: ID } type ProductReferenceType { pricingZone: ProductReferencePricingZone! annualCost: Int! """The saving percentage variance""" savingPercentage: Int! """The product associated with this reference.""" product: Product! } type PropertyCanNotFoundErrorType implements GenericErrorInterface { message: String! } """Paginated list of properties.""" type PropertyConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [PropertyEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Property` and its cursor.""" type PropertyEdge { """The item at the end of the edge""" node: PropertyInterface """A cursor for use in pagination""" cursor: String! } """ Trigger the Leave Property lifecycle journey for a property in the CES embedded electricity market. Initially supports CES market supply points and is designed to expand to support all markets in the future. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-6623: Unauthorized. - KT-AU-6610: Move out process validation failed. - KT-AU-6611: Unable to move out of property. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PropertyMoveOut { """Information on the workflow which is processing the move out.""" workflow: WorkflowType! """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } type PropertyNotFound implements GenericErrorInterface { message: String! } type PropertyRichAddressType { """A personal name.""" name: String """The name of a business or organisation.""" organization: String """ The 'street address' component. This value can (and often will) contain newline characters when appropriate. In some cases, data may appear in this field instead of the below fields; e.g. a UK post town name may appear here instead of in the `dependent_locality` field. This happens when data has been migrated from a legacy format, and that format had insufficient metadata to determine the appropriate field. If `structured_street_address` is also set, the value of this field will be a string generated from that value. """ streetAddress: String """ The 'street address' component, in a structured format. This field stores the same value as `street_address`, but with more detail; for instance, instead of `123 Example Street` it might be `{'street_number': '123', 'street_name': 'Example', 'street_type': 'Street'}`. In many cases this will be blank; we only use this field for Krakens where we need to supply this level of granularity to some third-party service, like a bulk mail provider. The exact structure of this value depends on the country _of the address_, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank. ### `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` """ structuredStreetAddress: GenericScalar """ UK dependent localities, or neighbourhoods or boroughs in some other locations. """ dependentLocality: 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. """ locality: String """ Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture. ### `AU`: Australia This must be one of `NSW`, `VIC`, `QLD`, `TAS`, `ACT`, `SA`, `NT`, `WA`. For addresses not within these locations, use the value that Australia Post uses, e.g. `ACT` for the Jervis Bay Territory or `WA` for Christmas Island. """ administrativeArea: String """ Postal code (ZIP code in the US). """ postalCode: String """ Sorting code, e.g. FR CEDEX code. This field is not used in many countries. """ sortingCode: String """ ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. `AU`, `GB`, `NZ`. """ country: 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. """ deliveryPointIdentifier: String """ The entire formatted address represented as a single string, as it would be written on an envelope. The formatting of this field may vary according to the country of the address (which may not match this Kraken installation's home country). It may also change if we update our address-formatting code or if our understanding of the correct formatting for a given country changes. Avoid parsing individual components of an address out of this field's value; use the other fields on this type instead. """ asString(showCountry: Boolean = true, showName: Boolean = true, showPostalCode: Boolean = true): String } type PropertySearchResult { """A score representing the degree of confidence for a match.""" score: Decimal! """The matched property.""" property: PropertyType! } type PropertyType implements PropertyInterface { id: String postcode: String! """An optional label for the property.""" label: String addressLine1: String! addressLine2: String! addressLine3: String! addressLine4: String! addressLine5: String! """The address of the property, formatted into a single string.""" address: String """Property rich address.""" richAddress: PropertyRichAddressType """List of address lines.""" splitAddress: [String] """Time periods during which the property is associated with an account. Useful to display information about house-moves, as performing a move out of a property will set the end date for the occupancy period.""" occupancyPeriods: [OccupancyPeriodType] """Coordinates for the property, useful for displaying the property on a map.""" coordinates: CoordinatesType """The embedded network this property belongs to, if any.""" embeddedNetwork: EmbeddedNetworkType """The parent property in the specified hierarchy. Returns null if the property has no parent or is not in the hierarchy.""" parent(hierarchyName: String = "default"): PropertyInterface """Descendant properties in the specified hierarchy. Returns empty list if the property is not in the hierarchy.""" descendants(hierarchyName: String = "default", depth: Int = 1, before: String, after: String, first: Int, last: Int): PropertyConnection """Ancestor properties in the specified hierarchy, ordered from root to immediate parent. Returns empty list if the property is not in the hierarchy.""" ancestors(hierarchyName: String = "default", before: String, after: String, first: Int, last: Int): PropertyConnection """Measurements at a property""" measurements( startAt: DateTime = "0001-01-03T00:00:00+10:04:52" endAt: DateTime = "9999-12-29T23:59:59.999999+11:00" startOn: Date endOn: Date timezone: String = "Australia/Sydney" utilityFilters: [UtilityFiltersInput] = [] before: String after: String first: Int last: Int ): MeasurementConnection electricityMeterPoints: [MeterPointType] @deprecated(reason: "The 'electricityMeterPoints' field is deprecated. Use meterPoints instead. - Marked as deprecated on 2022-09-02. - Scheduled for removal on or after 2022-10-02.") meterPoints: [MeterPointInterface] """ Estimated daily energy usage for households of different sizes in this property's neighbourhood (selected by postcode) for the season which overlaps the current billing period. If the property isn't on supply, or isn't on a fixed billing schedule, then we will return the benchmarks which would apply today instead. Returns null if we don't have benchmark data for this combination of postcode and season. """ benchmarks: [EnergyBenchmarkType] """State that the property resides in.""" state: StateChoices """The unmetered supply points linked to this property.""" unmeteredSupplyPoints: [UnmeteredSupplyPointInterface] } type ProviderType { """The AEMO participant identifier code for this provider.""" id: String! """The abbreviated name of the provider.""" shortName: String! """The full registered name of the provider.""" longName: String! """The customer-facing display name of the provider.""" displayName: String! """The emergency contact phone number for the provider.""" emergencyPhoneNumber: String! """The outage reporting phone number for the provider.""" outagePhoneNumber: String } type ProvisionalTransactionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ProvisionalTransactionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ProvisionalTransactionConnectionType` and its cursor.""" type ProvisionalTransactionConnectionTypeEdge { """The item at the end of the edge""" node: ProvisionalTransactionType """A cursor for use in pagination""" cursor: String! } """A provisional transaction represents some debit or credit to or from a customer's account which we cannot yet finalise for some reason, but which is still useful to keep a note of, and display to the customer. Provisional transactions are purely to give guidance in the absence of finalised information. We therefore only return provisional transactions that have not been finalised. When a transaction is finalised, it is available through the `transactions` field.""" type ProvisionalTransactionType { id: ID! """A user readable string that indicates what this transaction relates to.""" title: String """The amount in pence for this provisional transaction. It will be negative for charges, positive for credits.""" amount: Int """The date at which the charge should be applied to the account.""" date: Date } """ Publish the transactional messaging trigger to send an email to the meter data issue's MDP. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13820: No operational contact found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PublishMeterDataIssueEmail { """The result of publishing a meter data issue email.""" result: PublishMeterDataIssueEmailOutputType } type PublishMeterDataIssueEmailOutputType { """The ID of the MeterDataIssue.""" issueId: ID } """ Publish an externally defined transactional messaging trigger. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-5421: Account user not found. - KT-CT-9901: Invalid trigger type code. - KT-CT-9905: Top-level context fields are missing. - KT-CT-9906: Template variables do not match the defined schema. - KT-CT-9908: Invalid recipient information. - KT-CT-9909: Invalid recipient information. - KT-CT-9910: Invalid input field combination. - KT-CT-9912: Required context entity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PublishTransactionalMessagingExternalTrigger { """The trigger that has been published.""" trigger: Trigger } """ Publish a trigger within the transactional messaging service. The possible errors that can be raised are: - KT-CT-9901: Invalid trigger type code. - KT-CT-9902: Invalid trigger type params. - KT-CT-9903: Trigger type cannot be published externally. - KT-CT-9912: Required context entity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type PublishTransactionalMessagingTrigger { """The trigger that has been published.""" trigger: Trigger """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Purchase a voucher. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4178: No account found with given account number. - KT-CT-3820: Received both ledger ID and number. - KT-CT-13201: Invalid voucher type. - KT-CT-3924: Unauthorized. - KT-CT-13204: A voucher purchase with this idempotency key already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type PurchaseVoucher { """The voucher purchase created from the mutation.""" voucherPurchase: VoucherPurchaseType } """ Purchase multiple vouchers. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4178: No account found with given account number. - KT-CT-3820: Received both ledger ID and number. - KT-CT-13201: Invalid voucher type. - KT-CT-3924: Unauthorized. - KT-CT-13202: Exactly one of chargeAmountInCents or chargeAmountInCentsWithTax expected. - KT-CT-13203: Multiple account numbers found in voucher batch. - KT-CT-13204: A voucher purchase with this idempotency key already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type PurchaseVouchers { """The voucher purchases created from the mutation.""" voucherPurchases: [VoucherPurchaseType] } """Represents a pairing of a single app installation to an account user.""" type PushNotificationBindingType { id: ID! registeredAt: DateTime! expiresAt: DateTime! user: AccountUserType! messages(offset: Int, before: String, after: String, first: Int, last: Int): PrintMessageTypeConnection! application: NotifiableApplicationType! token: String! } type PushNotificationEventType implements Node { """The ID of the object""" id: ID! eventType: String! occurredAt: DateTime! """Push notification message of the push notification event.""" message: PushNotificationMessageType } """Represents a push notification communication.""" type PushNotificationMessageType { """The ID of the push notification.""" id: ID! """The date and time the push notification was created.""" createdAt: DateTime! """The date and time the push notification was sent.""" sentAt: DateTime """The trigger type code of the push notification.""" templateCode: String! """The title of the push notification.""" title: String! """The body text of the push notification.""" textBody: String """URL to view the push notification in the support site.""" supportSiteUrl: String } """Graphene type object to represent Quantity(magnitude, unit)""" type QuantityType { """The numeric value of this field.""" magnitude: Float! """Unit of this field.""" unit: String! } """ Quarantine the provided customer self meter read. The possible errors that can be raised are: - KT-AU-5611: Cannot find register with the provided ID. - KT-AU-6411: Cannot find reading with the provided ID. - KT-AU-6412: Missing quarantine reading reason. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type QuarantineElectricitySelfMeterRead { """The reading, which is quarantined.""" reading: ElectricityAccumulationMeterReadingType } type Query { """ Account User Search ------------------- This query returns an AccountUserType attempting to match against the request. We attempt to find a user with a close or exact match to the fields provided with a confidence score >= that of the `threshold` argument, if `threshold` isn't provided we use a internal base threshold of 0.55 tweak this parameter if you are not getting results as you'd expect. This field requires the `Authorization` header to be set. """ accountUserSearch(input: AccountUserSearchInputType): AccountUserType! """Get electricity estimate.""" electricityCostEstimate(input: ElectricityEstimateInput): Estimate serviceOrderFees(input: ServiceOrderFeeFilterInput, before: String, after: String, first: Int, last: Int): ServiceOrderFeeConnectionTypeConnection """ A list of public holidays that fall within the given date range for the given state. If no state is provided, only Australia-wide holidays will be returned. Please note that holidays returned for dates prior to 2018, or the following year and after may be incomplete. Some public holidays, such as AFL Grand Final holiday in Victoria, are only determined at the start of a given year, so cannot be provided prior to the start of the year. """ publicHolidays(input: PublicHolidayInputType!): [Date] """ Get the export repayment details for a given account. The possible errors that can be raised are: - KT-CT-3823: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ exportRepaymentDetails(accountNumber: String!): ExportRepaymentDetailsType """ The possible errors that can be raised are: - KT-CT-3823: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ centrepayDeductions(accountNumber: String!): [CentrepayDeductionType] """ Query the minimum start date for a new payment schedule. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-4177: Unauthorized. - KT-AU-3921: The specified account ledger wasn't found. - KT-AU-3922: The specified schedule type name wasn't found. - KT-CT-1113: Disabled GraphQL field requested. """ getNextPaymentScheduleAvailableDate(accountNumber: String!, scheduleTypeName: String!, ledgerNumber: String): Date! """ Query the minimum start date for a new payment schedule. This query is deprecated. Please use `getNextPaymentScheduleAvailableDate` instead. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-4177: Unauthorized. - KT-CT-1111: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ nextPaymentScheduleAvailableDate(accountNumber: String!, scheduleTypeName: String!, ledgerNumber: String): String @deprecated(reason: "The 'nextPaymentScheduleAvailableDate' field is deprecated. Use `getNextPaymentScheduleAvailableDate` instead. - Marked as deprecated on 2024-01-09. - Scheduled for removal on or after 2024-04-09.") """ Get the surcharge amount for the given account and card type (in cents). The possible errors that can be raised are: - KT-AU-3911: Query not supported for the current vendor. - KT-CT-4177: Unauthorized. - KT-CT-3820: Received both ledger ID and number. - KT-AU-3910: No card instruction found for the account. - KT-CT-1113: Disabled GraphQL field requested. """ getSurchargeAmount( accountNumber: String! amount: Int! ledgerNumber: String cardScheme: CardSchemeEnumType cardType: CardEnumType ): Int! """Perform NMI discovery search type 2 from AEMO. This will fetch Standing Data that can be used by the retailer to provide a customer with quotation. It can also help to find Meter Read data information for the customer switching process.""" nmiType2Discovery(input: NMIType2DiscoveryInput): NMIType2DiscoveryType """Find NMI from AEMO. This is referred to as `NMI Discovery search type 1`. This is useful for finding out the NMI for a customer if the customer does not know their NMI beforehand but know the address of their property.""" nmiDiscovery(input: NMIDiscoveryAddressInput): NMIDiscoveryType """Retrieve the meter point status from the related MIRN.""" mirnCheck(mirn: String!): MIRNCheckType """Retrieve the meter point status from the related NMI.""" nmiCheck(nmi: String!): NMICheckType """ The possible errors that can be raised are: - KT-AU-9510: No product found for the inputed code. - KT-CT-1113: Disabled GraphQL field requested. """ product(code: String!): Product """Get market participant details by their code.""" marketParticipant(participantId: String!): MarketParticipantType """Compute if the meter point is eligible for digital meter request.""" digitalMeterRequestEligibility(nmi: String!): DigitalMeterRequestEligibility """Get meter point details.""" meterPoint(nmi: String!): MeterPointInterface """ Fetch electricity meter readings for a given account and meter. Optionally include readings that have been quarantined (these are excluded by default) Each reading here is actually a group of all the readings which happened at the same date and time on that meter. The reason for this is that end users typically don't care about registers, and simply want to view all their meter readings in chronological order. This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). This field requires the `Authorization` header to be set. """ electricityMeterReadings( accountNumber: String meterId: String! includeQuarantined: Boolean = false startAt: String endAt: String before: String after: String first: Int last: Int ): ElectricityMeterReadingConnectionTypeConnection """Retrieve workflow details associated with a house move out.""" houseMoveOutWorkflows(input: WorkflowFilterInput, before: String, after: String, first: Int, last: Int): WorkflowTypeConnectionTypeConnection """Retrieve possible move out dates for a given property.""" moveOutDates(input: MoveOutDatesSearchInput!): MoveOutDatesType """Available move in dates for property move.""" moveInDates(input: MoveInDatesSearchInput!): MoveInDatesType """Available move in dates for a gas house move.""" gasMoveInDates(input: GasMoveInDatesSearchInput!): GasMoveInDatesType """Available move in dates for a electricity house move.""" electricityMoveInDates(input: ElectricityMoveInDatesSearchInput!): ElectricityMoveInDatesType """Search for an in-progress MIRN discovery for an enrolment.""" addressEnrolments(input: AddressEnrolmentsInput!): IdentificationType """Available floor/level type codes with labels.""" floorOrLevelTypes: [EnumMappingType] """Available flat/unit type codes with labels.""" flatOrUnitTypes: [EnumMappingType] """ Retrieve an account user sync profile payload by identifier. This query is optimised for performance, and is ideal for users with many accounts. Prefer this query over traversing the graph from the `viewer` query if all the data you need is available in the return type from this query. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-AU-5410: This query only supports the `first` argument for pagination. - KT-CT-5412: No account user exists with the given id. - KT-AU-5415: Exactly one of accountUserId or accountUserEmail must be passed. - KT-CT-1113: Disabled GraphQL field requested. """ userSyncPayload(input: AccountUserInputType): UserSyncPayloadType! """Check if a given payment fingerprint already exists and/or is risk-listed.""" paymentFingerprintChecks(fingerprint: String!): PaymentFingerPrintCheckType """ Return actual readings within the requested period followed by forward-estimated readings up to end_at. Estimated readings are extrapolated from the most recent actual reading. The possible errors that can be raised are: - KT-CT-13610: Supply point not found or not configured for estimation. - KT-CT-13611: No readings found for the requested period. - KT-CT-13612: PEAK reading type is not supported for estimation. - KT-CT-13613: Market not configured for supply point readings. - KT-CT-13614: Invalid timezone. - KT-CT-13615: No readings available for estimation. - KT-CT-13616: Meter readings are invalid. - KT-CT-13617: Unsupported time granularity for estimation. - KT-CT-13618: Register metadata not found for supply point. - KT-CT-13619: Multiple register metadata records found for supply point. - KT-CT-13605: No estimation algorithm configured for the requested parameters. - KT-CT-1113: Disabled GraphQL field requested. """ estimatedSupplyPointReadings( supplyPointId: String! marketName: String! startAt: DateTime! endAt: DateTime! timezone: String! readingType: ReadingTypes! timeGranularity: TimeGranularities! deviceId: ID registerId: ID ): [EstimatedSupplyPointReadingType] """Estimated meter readings.""" estimateMeterReadings( periodStart: DateTime! periodEnd: DateTime! marketIdentifier: ID! deviceId: ID registerId: ID before: String after: String first: Int last: Int ): MeterReadingEstimationReadingConnection """ Query the detail of vouchers balance for an account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4178: No account found with given account number. - KT-CT-1113: Disabled GraphQL field requested. """ vouchersBalanceDetail(accountNumber: ID!): VouchersBalanceDetail """Query the voucher purchases for an account.""" vouchersForAccount( accountNumber: ID! redeemableOnly: Boolean! purchasedFromDate: Date purchasedBeforeDate: Date availableFromDate: Date availableBeforeDate: Date excludeRefunded: Boolean = false excludeByDisplayName: [String] before: String after: String first: Int last: Int ): VoucherPurchaseConnectionTypeConnection """ The possible errors that can be raised are: - KT-CT-13101: Order not found. - KT-CT-1113: Disabled GraphQL field requested. """ legacyOrderDetails(identifier: String!): LegacyOrderDetailsType """ Get a complaint. The possible errors that can be raised are: - KT-CT-12301: Complaint not found. - KT-CT-1113: Disabled GraphQL field requested. """ complaint(complaintId: Int!): ComplaintType """ Get the details of a transactional message with a given external ID. The possible errors that can be raised are: - KT-CT-9911: Message not found. - KT-CT-1113: Disabled GraphQL field requested. """ message(messageId: ID!): Message! """ Get the details of a published trigger with a given ID. The possible errors that can be raised are: - KT-CT-9904: Trigger not found. - KT-CT-1113: Disabled GraphQL field requested. """ trigger(triggerId: ID!): Trigger! """ Get recording detail for a call and call recording. The possible errors that can be raised are: - KT-CT-11822: Recording detail incomplete. - KT-CT-1113: Disabled GraphQL field requested. """ callRecordingDetail(vendor: VoiceVendor!, vendorRecordingId: ID!): CallRecordingDetailType! """Get all completed transcripts whose transcribed_at falls within a time window.""" callTranscriptsInWindow(transcribedAfter: DateTime!, transcribedBefore: DateTime, before: String, after: String, first: Int, last: Int): CallTranscriptConnectionTypeConnection! """Get all non-deleted transcripts for the given call, newest first. In-progress and failed transcripts are included for diagnostic visibility but their `download` field will be null.""" callTranscripts(callId: ID!, before: String, after: String, first: Int, last: Int): CallTranscriptConnectionTypeConnection! """ Get routing attributes available for call routing configuration. The possible errors that can be raised are: - KT-CT-11816: Invalid routing attribute category. - KT-CT-1113: Disabled GraphQL field requested. """ routingAttributes(category: String, search: String): [RoutingAttributeType]! """Get call tags.""" callTags(name: String, isActive: Boolean, before: String, after: String, first: Int, last: Int): CallTagConnectionTypeConnection! """ Get the call tag for a given ID. The possible errors that can be raised are: - KT-CT-11809: Call tag not found. - KT-CT-1113: Disabled GraphQL field requested. """ callTag(id: ID!): CallTagType! """Get voice campaigns.""" voiceCampaigns( status: CampaignStatus campaignType: TypeOfVoiceCampaign name: String before: String after: String first: Int last: Int ): VoiceCampaignConnectionTypeConnection! """ Get the voice campaign for a given ID. The possible errors that can be raised are: - KT-CT-11501: Voice campaign not found. - KT-CT-1113: Disabled GraphQL field requested. """ voiceCampaign(campaignId: String!): VoiceCampaignType! """ Get the work schedule with the given identifier. The possible errors that can be raised are: - KT-CT-11804: Work schedule not found. - KT-CT-1113: Disabled GraphQL field requested. """ workSchedule(identifier: String!): WorkScheduleType! """Get the average wait time for inbound calls with the given routing attributes. Note that calls with more attributes than those given will be included.""" inboundCallAverageWaitTimeForAttributes(attributes: [String]!): InboundCallAverageWaitTimeForAttributesType """Get the average wait time for an inbound call.""" inboundCallAverageWaitTime: InboundCallAverageWaitTimeType """Get calls involving a given phone number, most recent first, optionally filtered by call tags. For example, this can be used to check whether previous calls from a phone number were tagged in a particular way.""" calls(phoneNumber: String!, callTagIds: [ID!], before: String, after: String, first: Int, last: Int): CallConnectionTypeConnection! """ Get a call using an integer or UUID identifier. The possible errors that can be raised are: - KT-CT-11802: Call not found. - KT-CT-11817: Invalid call ID. - KT-CT-1113: Disabled GraphQL field requested. """ call(id: ID!): CallInterface! """ Get available dates for product switch. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-1113: Disabled GraphQL field requested. """ availableProductSwitchDates(agreementId: Int!, maxRange: Int = 365): [Date] """The current version of kraken.""" krakenVersion: KrakenVersionType """ Get the active terms and conditions for a market supply product. The possible errors that can be raised are: - KT-CT-8501: No active terms and conditions found for product. - KT-CT-1113: Disabled GraphQL field requested. """ termsAndConditionsForProduct(productCode: String!): [TermsAndConditionsType] """ Get the status of a background task. The possible errors that can be raised are: - KT-CT-10401: Task not found. - KT-CT-1113: Disabled GraphQL field requested. """ taskResult(taskId: String!, accountNumber: String!): TaskResult """ Get the auxiliary status for a given agent. The possible errors that can be raised are: - KT-CT-7813: Support user not found with that username. - KT-CT-11823: No auxiliary status found for that agent. - KT-CT-1113: Disabled GraphQL field requested. """ agentAuxiliaryStatus(supportUserName: String!): AgentAuxiliaryStatusType! """ Get the call center status for a given agent. The possible errors that can be raised are: - KT-CT-7813: Support user not found with that username. - KT-CT-1113: Disabled GraphQL field requested. """ agentCallCenterStatus(supportUserName: String!): AgentCallCenterStatusType! """ A list of active sales channels. The possible errors that can be raised are: - KT-CT-12702: Invalid datetime range. - KT-CT-1113: Disabled GraphQL field requested. """ activeSalesChannels(activeFrom: DateTime, activeTo: DateTime): [SalesChannelType] """Get check results for creating requests and appointments.""" getOnSiteJobsCheckResults( supplyPointIdentifierToMarketNameMapping: [SupplyPointIdentifierToMarketNameMappingInput] supplyPointInternalIds: [Int] jobType: String ): OnSiteJobsCheckResultsType """Filter On-Site Jobs Requests.""" getOnSiteJobsRequests( supplyPointsToMarketNamesMapping: [SupplyPointIdentifierToMarketNameMappingInput] supplyPointInternalIds: [Int] statuses: [OnSiteJobsRequestStatus] accountNumbers: [NonEmptyString!] before: String after: String first: Int last: Int ): OnSiteJobsRequestConnectionTypeConnection """Get a specific request by ID.""" getOnSiteJobsRequestById(requestId: UUID): OnSiteJobsRequestType """A query to get a subset of Requests.""" siteworksRequests( ids: [UUID] createdAfter: DateTime statuses: [RequestStatus] before: String after: String first: Int last: Int ): CoreSiteworksRequestConnectionTypeConnection @deprecated(reason: "The 'siteworksRequests' field is deprecated. Please use getOnSiteJobsRequests instead. - Marked as deprecated on 2026-03-01. - Scheduled for removal on or after 2026-09-01.") """Validate referral claim code.""" validateReferralCode(value: String!): ReferralClaimCodeType """Return the current active signup referral reward scheme with the given code, if any exists.""" activeDomesticSignupRewardScheme: ReferralSchemeType """Return a business referral reward scheme for the given account referral code.""" businessAccountReferralRewardScheme(code: String!): ReferralSchemeType """Return a domestic referral reward scheme for the given account referral code.""" domesticAccountReferralRewardScheme(code: String!): ReferralSchemeType """Return a joining reward scheme with the given code, if it's active. A joining reward can be a signup reward or a promotional reward.""" domesticJoiningRewardScheme(code: String!): ReferralSchemeType """Return a signup referral reward scheme with the given code, if it's active.""" domesticSignupRewardScheme(code: String!): ReferralSchemeType """Combined information about points-allowance rate limiting and request-specific rate limiting.""" rateLimitInfo: CombinedRateLimitInformation """ The possible errors that can be raised are: - KT-CT-12403: Product offering not found. - KT-CT-12404: Product offering has expired. - KT-CT-1113: Disabled GraphQL field requested. """ quotingParamDefinitionsForProductOffering(productOfferingIdentifier: ID): QuotedOfferingParamsType offerGroupForQuoting(identifier: ID): OfferGroupType offerForQuoting(identifier: ID): OfferType """Get a list of audit account events, of type external, for a given account.""" externalAccountEvents(accountNumber: String!, before: String, after: String, first: Int, last: Int): ExternalAccountEventConnectionTypeConnection """Get the complexity of a query.""" queryComplexity(input: QueryComplexityInputType!): QueryComplexityOutputType """ Possible errors of the requested query/mutation. The possible errors that can be raised are: - KT-CT-1606: Query/Mutation not found. - KT-CT-1113: Disabled GraphQL field requested. """ possibleErrors(input: PossibleErrorsInputType!): PossibleErrorsOutputType """Search for properties that are already in Kraken and match the search term.""" propertySearch(searchTerm: String!): [PropertyType] @deprecated(reason: "The 'propertySearch' field is deprecated. This query is being deprecated in favour of `propertiesSearch`. The latter returns not only the matched properties but the level of confidence in the results through the `score` field. - Marked as deprecated on 2023-05-23. - Scheduled for removal on or after 2024-01-01.") """Search for properties that are already in Kraken and match the search term.""" propertiesSearch(searchTerm: String!): [PropertySearchResult!]! """Retrieve property information by either property id, associated MIRN or NMI identifier.""" property(id: ID, mirn: ID, nmi: ID): PropertyType """ Get the time of use scheme definition and available time slots for a rate group within a product specification. The possible errors that can be raised are: - KT-CT-12010: Unable to find the product's specification. - KT-CT-12049: Rate specification not found in the given product specification. - KT-CT-1113: Disabled GraphQL field requested. """ rateGroupTouScheme(specificationIdentifier: String!, rateGroupCode: String!): TimeOfUseSchemeType """Get a list of actively available offerings from the catalog.""" availableOfferings: [OfferingType] """ Get details about a product offering. The possible errors that can be raised are: - KT-CT-12001: Product catalogue offering with given identifier not found. - KT-CT-1113: Disabled GraphQL field requested. """ offering(identifier: String): OfferingType """ Get details about a portfolio, using its reference. The possible errors that can be raised are: - KT-CT-9409: Invalid portfolio reference. - KT-CT-1113: Disabled GraphQL field requested. """ portfolioByReference(portfolioReference: PortfolioReferenceInput!): PortfolioType """ Get details about a portfolio, using its portfolio number. The possible errors that can be raised are: - KT-CT-9403: Received an invalid portfolioId. - KT-CT-1113: Disabled GraphQL field requested. """ portfolio(portfolioNumber: String!): PortfolioType bankDetailsValidation(iban: NonEmptyString!): BankDetailsValidationResult """Get all payment requests for the given ledger.""" paymentRequests(ledgerNumber: String!): PaymentRequestsType """Get the default payment instruction for the account's main ledger.""" defaultPaymentInstruction(accountNumber: String!, instructionType: PaymentType): PaymentInstructionType @deprecated(reason: "The 'defaultPaymentInstruction' field is deprecated. Please use 'usablePaymentInstructions' on the Ledger type to get all usable instructions, or 'paymentPreferenceAtTime' on the Ledger type to get a specific one. Both require explicitly requesting a ledger. - Marked as deprecated on 2026-01-28. - Scheduled for removal on or after 2027-01-28.") """ Get deposit agreement related return schedules for a given account. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ returnSchedule(accountNumber: String!): [DepositReturnScheduleOutput] """ Get deposit agreements for a given account. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ depositAgreements(accountNumber: String!): [DepositAgreementOutput] """ Get payment adequacy data with an up to date calculation. The possible errors that can be raised are: - KT-CT-3963: Could not calculate live PA data. - KT-CT-1113: Disabled GraphQL field requested. """ livePaymentAdequacyCalculation(ledgerNumber: String!): LivePaymentAdequacyCalculation """Get all registered backend screen event IDs.""" backendScreenEventIds: [String] """Get all registered backend screen IDs.""" backendScreenIds: [String] """ Get a dashboard screen to render in the form of a json list of sections containing cards or grouped cards each with an order attribute. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-8001: No backend screen available. - KT-CT-8005: Backend screen does not support parameters. - KT-CT-8008: Incorrect or missing data necessary to build the screen. - KT-CT-8006: Error applying parameters to backend screen. - KT-CT-8009: Error translating screen content. - KT-CT-8010: Invalid step ID. - KT-CT-8011: Cannot rewind past a previous irreversible step. - KT-CT-1113: Disabled GraphQL field requested. """ dashboardScreen( dashboardId: ID! accountNumber: String! maxVersionSupported: Int! = 1 ledgerNumber: String propertyId: String params: [BackendScreenParamInputType] ): Dashboard """ Get mobile screen details to render. The possible errors that can be raised are: - KT-CT-8001: No backend screen available. - KT-CT-8005: Backend screen does not support parameters. - KT-CT-8008: Incorrect or missing data necessary to build the screen. - KT-CT-8006: Error applying parameters to backend screen. - KT-CT-8009: Error translating screen content. - KT-CT-8010: Invalid step ID. - KT-CT-8011: Cannot rewind past a previous irreversible step. - KT-CT-1113: Disabled GraphQL field requested. """ backendScreen(screenId: ID!, params: [BackendScreenParamInputType], maxVersionSupported: Int = 1): BackendScreenType """ Metadata for a linked object with key. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4177: Unauthorized. - KT-CT-4124: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6637: Unauthorized. - KT-CT-8411: Invalid data. - KT-CT-4155: Invalid data. - KT-CT-4179: No metadata found with given key. - KT-CT-8416: No metadata found with given key. - KT-CT-1113: Disabled GraphQL field requested. """ metadataForKey(linkedObjectType: LinkedObjectType, identifier: String!, key: String!): Metadata """ Metadata for a linked object. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4177: Unauthorized. - KT-CT-4124: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6637: Unauthorized. - KT-CT-8411: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ metadata(linkedObjectType: LinkedObjectType, identifier: String!): [Metadata] """Get applicable rates for an agreement.""" agreementRates(agreementId: ID!, activeAt: DateTime, before: String, after: String, first: Int, last: Int): ApplicableRateConnection """Get agreements eligible for the rollover process.""" agreementsForRollover(daysBeforeExpiration: Int!, windowSize: Int!): [CommonAgreementType] """ Get a supply point by its market specific id. The possible errors that can be raised are: - KT-CT-4722: Supply point readings API not configured. - KT-CT-4719: No supply point found for identifier provided. - KT-CT-4723: Invalid market name provided. - KT-CT-1113: Disabled GraphQL field requested. """ supplyPoint(externalIdentifier: String!, marketName: String!): SupplyPointType """Get list of supply points.""" supplyPoints(accountNumber: String, portfolioNumber: String, before: String, after: String, first: Int, last: Int): SupplyPointConnectionTypeConnection """ Get available products for the given market. The possible errors that can be raised are: - KT-CT-4930: Unsupported market. - KT-CT-1113: Disabled GraphQL field requested. """ availableProducts(marketName: String!): [SupplyProductType] """ Check if an account is eligible to join the loyalty points program. The possible errors that can be raised are: - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9218: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ eligibilityToJoinLoyaltyPointsProgram(input: LoyaltyPointsProgramEligibilityInput!): LoyaltyPointsProgramEligibilityType """ Get the loyalty points balance for an account. The possible errors that can be raised are: - KT-CT-9218: Unauthorized. - KT-CT-9217: Unauthorized. - KT-CT-9215: Loyalty points balance query disabled. - KT-CT-9216: Unauthorized. - KT-CT-9222: Loyalty points balance query requires either accountNumber field (deprecated) or input object (preferred) with account number and optional account user id. - KT-CT-1113: Disabled GraphQL field requested. """ loyaltyPointsBalance(input: LoyaltyPointsBalanceInput): AccountLoyaltyPointsType """ Resolve a loyalty point ledger entry. The possible errors that can be raised are: - KT-CT-9215: Loyalty points balance query disabled. - KT-CT-9223: Loyalty points ledger entry not found. - KT-CT-1113: Disabled GraphQL field requested. """ loyaltyPointLedgerEntry(input: LoyaltyPointLedgerEntryInput!): LoyaltyPointLedgerEntryType """ Get the Loyalty Point ledger entries for the passed user. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ loyaltyPointLedgers(input: LoyaltyPointLedgersInput): [LoyaltyPointLedgerEntryType] """ Get all loyalty cards for the given account user. The possible errors that can be raised are: - KT-CT-5412: No account user exists with the given id. - KT-CT-1113: Disabled GraphQL field requested. """ loyaltyCards(accountUserId: String!): [LoyaltyCardType] """ Get all lifecycle processes associated with an account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ lifecycleProcesses(onlyActive: Boolean, sortOrder: LifecycleProcessesSortOrder, accountNumber: String!): LifecycleProcessesType """ Details associated with a LeaveSupplier process. The possible errors that can be raised are: - KT-CT-10302: Invalid data. - KT-CT-10333: Missing either number of leave supplier process id. - KT-CT-1113: Disabled GraphQL field requested. """ leaveSupplierProcess(number: String): LeaveSupplierProcessType """ The possible errors that can be raised are: - KT-CT-10332: Join supplier process not found. - KT-CT-1113: Disabled GraphQL field requested. """ joinSupplierProcess(number: String!): JoinSupplierProcessType """Returns a list of paginated conversations associated with the user.""" inkLiveChatConversations(status: String, before: String, after: String, first: Int, last: Int): InkConversationsConnection! """ Fetch the content of a given comms template name. The possible errors that can be raised are: - KT-CT-7648: The comms template was not found. - KT-CT-1113: Disabled GraphQL field requested. """ inkCommsTemplate(templateIdentifier: String!): String! """ Fetch the text content of a given message. The possible errors that can be raised are: - KT-CT-7611: The message was not found. - KT-CT-1113: Disabled GraphQL field requested. """ inkMessageTextContent(messageId: ID!): String! """ Get attributes of a message at time of query. The possible errors that can be raised are: - KT-CT-7611: The message was not found. - KT-CT-1113: Disabled GraphQL field requested. """ inkMessageAttributes(vendor: String!, vendorId: String!): InkMessageAttributes! """ Get the content for a given message. The possible errors that can be raised are: - KT-CT-7611: The message was not found. - KT-CT-7638: Invalid conversation ID. - KT-CT-1113: Disabled GraphQL field requested. """ inkMessage(messageRelayId: String!): InkMessage! """ Get the Ink conversation for a given account. The possible errors that can be raised are: - KT-CT-7612: The Ink conversation was not found. - KT-CT-4177: Unauthorized. - KT-CT-7610: No Ink conversation for account. - KT-CT-7617: Must supply account number or relay id to get a conversation. - KT-CT-7638: Invalid conversation ID. - KT-CT-7658: Unauthorized to access this conversation. - KT-CT-1113: Disabled GraphQL field requested. """ inkConversation(accountNumber: String, conversationRelayId: String): InkConversation! """Get all sales funnels.""" salesFunnels(input: SalesFunnelsInput): [SalesFunnel] """ Get the sales funnel by input. The possible errors that can be raised are: - KT-CT-8912: Funnel not found. - KT-CT-1113: Disabled GraphQL field requested. """ salesFunnelByCode(input: SalesFunnelInput!): SalesFunnel """Fetch all opportunities for this Kraken, with optional filtering.""" opportunities(input: OpportunitiesQueryInput, offset: Int, before: String, after: String, first: Int, last: Int): OpportunitiesConnection """Fetch all leads for this Kraken, with optional filtering.""" leads(input: LeadsQueryInput, offset: Int, before: String, after: String, first: Int, last: Int): LeadsConnection """ Search and return the identifiers of a lead. The possible errors that can be raised are: - KT-CT-8920: Search filters are invalid. - KT-CT-1113: Disabled GraphQL field requested. """ searchLead(filters: SearchLeadFilters!): LeadIdType """ Return summaries of all products in opportunity's accepted offer. Supports multi-product offerings like dual fuel. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8923: The opportunity does not have a linked offer group. - KT-CT-8922: The opportunity does not have an accepted offer. - KT-CT-1113: Disabled GraphQL field requested. """ opportunityProductSummary(number: String): [OpportunityProductSummary!]! """ Get lead details by number. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-1113: Disabled GraphQL field requested. """ leadByNumber(number: String): LeadOutput """ Get opportunity details by number. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. """ opportunityByNumber(number: String): OpportunityOutput """Run a blocklist validation out of some dynamic client entry types.""" leadBlocklistValidations(blockListEntries: LeadBlockListValidationInput): LeadBlockListValidationOutput """ Get the value of a given key that is stored in an opportunity's related JSONFields. The possible errors that can be raised are: - KT-CT-8903: Unable to update opportunity. - KT-CT-1113: Disabled GraphQL field requested. """ opportunityValueByKey(opportunityId: ID, key: String): String """List purchases for an account.""" goodsPurchases(accountNumber: String!): [GoodsPurchase] """List Goods products given a market.""" goodsProducts(marketName: String!, productType: [String], code: [String], before: String, after: String, first: Int, last: Int): GoodsProductConnectionTypeConnection """ List quotes given an account number or retrieve a Goods quote given a quote code. The possible errors that can be raised are: - KT-CT-8204: Invalid arguments. - KT-CT-8223: Unauthorized. - KT-CT-8201: Received an invalid quoteId. - KT-CT-1113: Disabled GraphQL field requested. """ goodsQuotes(accountNumber: String, quoteCode: String): [GoodsQuote] """Check the verification status of a given email address.""" verificationStatus(email: String!): EmailVerificationStatus """Check if a given ID and type have a financial risk level.""" fraudRiskLevel(identifierValue: String!, identifierType: String!): FinancialRiskLevelType """Check if a given meter point ID is in suspicious meter point IDs list.""" fraudMeterPointChecks(meterPointId: String!): FraudMeterPointCheckType """Get details about an embedded network.""" embeddedNetwork(id: ID!): EmbeddedNetworkType """ The delinquent debt position for an account and its ledgers. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11613: Delinquent debt tracking is not configured for this client. - KT-CT-1113: Disabled GraphQL field requested. """ accountDebtPosition(accountNumber: String!, asOn: Date): AccountDebtPositionType """ Collection process record details. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11206: Unable to retrieve disconnection related data for collection process. - KT-CT-1113: Disabled GraphQL field requested. """ collectionProcessDetails(collectionProcessRecordNumber: String!): CollectionProcessDetailsType """Get customer asset by ID.""" customerAsset(customerAssetId: String!): CustomerAssetType """ Check if customer is eligible to give feedback following an email conversation. The possible errors that can be raised are: - KT-CT-5520: Ink conversation not found. - KT-CT-5521: Eligibility configuration not found. - KT-CT-5522: Invalid eligibility configuration. - KT-CT-5523: Invalid account or account user. - KT-CT-1113: Disabled GraphQL field requested. """ isCustomerEligibleToGiveFeedbackFollowingEmail( accountNumber: String! accountUserNumber: String! inkConversationId: Int! conversationClosedAt: DateTime! ): Boolean """ Check if customer is eligible to give feedback following a phone call. The possible errors that can be raised are: - KT-CT-5519: Voice call not found. - KT-CT-5521: Eligibility configuration not found. - KT-CT-5522: Invalid eligibility configuration. - KT-CT-5523: Invalid account or account user. - KT-CT-1113: Disabled GraphQL field requested. """ isCustomerEligibleToGiveFeedbackFollowingCall(accountNumber: String!, accountUserNumber: String!, callId: Int!): Boolean """Returns all active customer feedback forms for the account's brand.""" customerFeedbackForms( accountNumber: String! feedbackSource: CustomerFeedbackSourceChoices before: String after: String first: Int last: Int ): CustomerFeedbackFormConnectionTypeConnection """ Get default raw score for a customer feedback form. The possible errors that can be raised are: - KT-CT-5513: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ defaultRawScore(formId: Int!): Int """ Get the customer feedback survey question. The possible errors that can be raised are: - KT-CT-5513: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ question(formId: Int!): String """Get contribution schemes.""" contributionSchemes: [ContributionSchemeType] """Get all quote configurations for an opportunity.""" quoteConfigurationsByOpportunityNumber(opportunityNumber: String): [QuoteConfigurationType!] """ Get a quote configuration by its number. The possible errors that can be raised are: - KT-CT-14701: QuoteConfiguration not found. - KT-CT-1113: Disabled GraphQL field requested. """ quoteConfigurationByNumber(number: String): QuoteConfigurationType """Get a list of contract note reasons, optionally filtered by activity types.""" contractNoteReasons(activityTypes: [ContractActivityTypeOptions]): [ContractNoteReasonType] """ Get details about a contract creation journey. The possible errors that can be raised are: - KT-CT-10017: The contract journey could not be found. - KT-CT-1113: Disabled GraphQL field requested. """ contractCreationJourney(number: String!): ContractCreationJourneyType """ Get a list of contracts filtered by party or subject. The possible errors that can be raised are: - KT-CT-10029: Missing contract filters. - KT-CT-10030: Filter by subject is not implemented. - KT-CT-10031: Invalid party filter. - KT-CT-1113: Disabled GraphQL field requested. """ contracts(filters: ContractFiltersInput!): [Contract] """ Get details about an account contract. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided. - KT-CT-10006: Account not found. - KT-CT-1113: Disabled GraphQL field requested. """ businessContract(identifier: String, accountNumber: String, version: Int): Contract """ Get details about an account contract. The possible errors that can be raised are: - KT-CT-10003: Contract not found. - KT-CT-10005: Missing required parameter: either identifier or accountNumber must be provided. - KT-CT-10006: Account not found. - KT-CT-1113: Disabled GraphQL field requested. """ accountContract(identifier: String, accountNumber: String, version: Int): Contract """A list of the consent types available.""" consentTypes: [ConsentTypeType] """ Get print batch details, including messages in the batch. The possible errors that can be raised are: - KT-CT-9013: Invalid data. - KT-CT-9012: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ printBatch(batchId: ID): PrintBatchType! """Get all internal companies.""" internalCompanies(before: String, after: String, first: Int, last: Int): InternalCompanyConnectionTypeConnection """ Get an internal company by a set of criteria. Criteria will be added as needed, check documentation for the criteria object to see what is currently supported. The possible errors that can be raised are: - KT-CT-14401: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ internalCompany(criteria: SearchCriteriaInput!): InternalCompanyType """ Get details about a business. The possible errors that can be raised are: - KT-CT-11101: The viewer is not authorized to execute the query/mutation. Check the ownership/permissions of provided data. - KT-CT-11107: Unauthorized. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. """ business(id: ID, displayableNumber: String, details: [BusinessDetailInput]): BusinessType """Query billing trigger configurations for a specific target. By default returns only active configurations. Specify effective_from/effective_to for time range filtering. Use include_children=true on parent target to get configurations for all child targets.""" billingTriggerConfigurations( target: TargetInput! effectiveFrom: DateTime effectiveTo: DateTime includeChildren: Boolean = false before: String after: String first: Int last: Int ): BillingTriggerConfigurationsConnection """The help text of all configured password validators as plain-text or html. Defaults to plain-text.""" passwordValidatorHelpTexts(asHtml: Boolean = false): [String] """Check validity of a password reset token.""" isPasswordResetTokenValid(userId: String!, token: String!): Boolean """Get all the confidential-client applications the current user has authorized.""" authorizedApplications: [AuthorizedApplication] """Get all MFA devices for the current user.""" mfaDevices: [MfaDevice] """ Retrieve an account user by their identifier. This field requires the `Authorization` header to be set. """ accountUser(input: AccountUserInputType): AccountUserType! """ The currently authenticated partner user. This field requires the `Authorization` header to be set. """ partnerViewer: PartnerViewerType """ The currently authenticated third party. This field requires the `Authorization` header to be set. """ thirdPartyViewer: ThirdPartyOrganizationType """ The currently authenticated user. This field requires the `Authorization` header to be set. """ viewer: AccountUserType """Get brownouts by status.""" apiBrownouts(input: APIBrownoutInput, before: String, after: String, first: Int, last: Int): APIBrownoutConnection """Get a connection containing API Exceptions.""" apiExceptions(input: APIExceptionQueryInput, before: String, after: String, first: Int, last: Int): APIExceptionConnectionTypeConnection """ Get an agreement by its ID. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-1113: Disabled GraphQL field requested. """ agreement(id: ID!): CommonAgreementType """ Check if an agreement can be rescinded. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-1113: Disabled GraphQL field requested. """ canRescindAgreement(agreementId: Int!): Boolean """ Get an agreement rollover by its number. The possible errors that can be raised are: - KT-CT-13705: Agreement rollover not found. - KT-CT-1113: Disabled GraphQL field requested. """ agreementRollover(number: String!): AgreementRolloverType """ Return the details of a given partner team. The possible errors that can be raised are: - KT-CT-7731: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ partnerTeam(input: PartnerTeamInput!): PartnerTeamType """Return the available roles that can be assigned to a partner user.""" partnerUserRoles: [PartnerUserRoleType!]! """ Return the details of a given partner user, if any exists. The possible errors that can be raised are: - KT-CT-7724: Either number or email must be provided. - KT-CT-7725: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ partnerUser(number: String, email: String): PartnerUserType """App sessions recorded at the specified postcode or for the specified affiliate link subdomain.""" appSessions(postcode: String, subdomain: String, before: String, after: String, first: Int, last: Int): AppSessionConnectionTypeConnection! """Return the current active referral reward scheme of a given affiliate organisation, if any exists.""" activeAffiliateReferralScheme(subdomain: String!, accountType: ReferralSchemeAccountTypeOptions): ReferralSchemeType """ Return the details of a given affiliate organization, if any exists. The possible errors that can be raised are: - KT-CT-7701: The affiliate organisation was not found. - KT-CT-7702: Either id or number must be provided. - KT-CT-1113: Disabled GraphQL field requested. """ affiliateOrganisation(id: Int, number: String): AffiliateOrganisationType """Links (urls) for the affiliate organizations.""" affiliateLinks(agentContactEmail: String!): [AffiliateLinkType!]! """ Link object for an affiliate organization. The possible errors that can be raised are: - KT-CT-7713: Invalid data. - KT-CT-7718: Affiliate link is expired. - KT-CT-1113: Disabled GraphQL field requested. """ affiliateLink(subdomain: String!): AffiliateLinkType! """ List of matching account references. The possible errors that can be raised are: - KT-CT-8310: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. """ accountReference(value: String): [AccountReferenceType] """Available reasons for use in account credit mutations.""" accountCreditReasons: [CreditReasonType] """Available reasons for use in account charge mutations.""" accountChargeReasons: [ChargeReasonType] """ Autocomplete the SELECT options of a single field in an address field descriptor. Resolves the descriptor identified by `addressFieldDescriptorId`, locates the field named `fieldName`, and returns its options filtered by `query` (a case-insensitive substring match against each option's label, capped at a fixed result limit). An empty or omitted `query` returns the first options unfiltered, still subject to the cap, which is handy for previewing the available options before the user has typed anything. The possible errors that can be raised are: - KT-CT-4413: The supplied address field descriptor identifier is not recognised. - KT-CT-4414: The requested address field does not support autocomplete. - KT-CT-1113: Disabled GraphQL field requested. """ autocompleteAddressFieldOptions(addressFieldDescriptorId: String!, fieldName: String!, query: String = ""): [AddressFieldOptionType!]! """Get the address field descriptor for a given identifier. The identifier can be an ISO 3166-1 alpha-2 country code (e.g. 'AU', 'GB') or a custom descriptor key configured for the deployment. Returns null if the identifier is not recognised.""" addressFields(addressFieldDescriptorId: String!): AddressFieldDescriptorType """The campaigns associated with this account.""" campaigns(accountNumber: String!, before: String, after: String, first: Int, last: Int): AccountCampaignConnectionTypeConnection """ Search for account that are already in Kraken and match the search terms. The possible errors that can be raised are: - KT-CT-4183: One of more search terms failed validations. - KT-CT-1113: Disabled GraphQL field requested. """ accountsSearch(searchTerms: AccountSearchInputType, maxResults: Int = 20): [AccountSearchItemType] """ Get details about multiple accounts. The possible errors that can be raised are: - KT-CT-4184: Exactly one of phoneNumber or portfolioNumber must be provided. - KT-CT-1113: Disabled GraphQL field requested. """ accounts(phoneNumber: String, portfolioNumber: String): [AccountType] """ Get details about an account. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ account(accountNumber: String!): AccountType """Represents an individual object/resource in the API.""" node(id: ID!): Node properties(accountNumber: String!, active: Boolean): [PropertyType] """ Retrieve the account user with the given email address for an account with the given account number. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1113: Disabled GraphQL field requested. """ accountUserFromAccountNumber(input: AccountUserFromAccountNumberInputType): AccountUserType """ Retrieve the account users associated with the given list of account numbers. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-AU-5413: The number of accounts provided exceeds the maximum allowed. - KT-AU-5412: No account found with given list of account numbers. - KT-CT-1113: Disabled GraphQL field requested. """ getUsersForAccounts(accountNumbers: [String]!): [AccountUserType] """ Retrieve the account users associated with the given account number. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1113: Disabled GraphQL field requested. """ getUsersForAccount(accountNumber: String!): [AccountUserType] @deprecated(reason: "The 'getUsersForAccount' field is deprecated. Use `getUsersForAccounts` instead which gets list of account numbers. - Marked as deprecated on 2024-01-10. - Scheduled for removal on or after 2025-01-10.") """Results of MIRN search aggregated from multiple sources.""" mirnSearchByAddress(input: MirnSearchInput!): MirnSearchResult } type QueryComplexityOutputType { """The complexity of the query.""" complexityValue: Int } type QuoteBespokeRateConfigurationType implements QuoteTermInterface { """The type of the term.""" type: NonEmptyString """Unique identifier for the term.""" identifier: String """Whether this term uses variable rates.""" isVariable: Boolean """Rate schedules for this bespoke rate configuration.""" schedules: [QuoteBespokeRateScheduleType!] } type QuoteBespokeRateItemType { """Unique identifier for this rate item.""" identifier: String """Code identifying the rate specification.""" rateSpecificationCode: String """Price per unit for this rate item.""" pricePerUnit: Decimal """The variant profile for this rate item.""" variantProfile: QuoteConfigurationVariantProfileType } type QuoteBespokeRateScheduleType { """Unique identifier for this schedule.""" identifier: String """Start of validity for this schedule.""" validFrom: DateTime """End of validity for this schedule.""" validTo: DateTime """Rate items in this schedule.""" items: [QuoteBespokeRateItemType!] } type QuoteBillDueDateConfigurationType implements QuoteTermInterface { """The type of the term.""" type: NonEmptyString """Unique identifier for the term.""" identifier: String """Whether this term uses variable rates.""" isVariable: Boolean """Number of days to pay the bill before debt becomes delinquent.""" numberOfDays: Int """Whether days are WORKING or CALENDAR days.""" typeOfDays: String } type QuoteComponentType { """Identifier of the Quote.""" identifier: ID """Identifier of the Product Component.""" productComponentIdentifier: ID """The cost for quoting this product.""" costs: [QuoteCostType] """The input data used for quoting this product component.""" quotingParamsInputData: [QuotingParamType] """The date and time when the quote component was created.""" createdAt: DateTime """S3 URLs for terms and conditions linked to this quote component.""" termsAndConditionsS3Urls(expireIn: Int = 3600): [TermsAndConditionsS3UrlType] } type QuoteConfigurationExtraDetailItemType { """Field code for this extra detail.""" fieldCode: String """Value for this extra detail.""" fieldValue: String """Type of the value (STRING, INTEGER, FLOAT, DATETIME).""" fieldType: String } type QuoteConfigurationType { """Unique number identifying this quote configuration.""" number: String """Email address of the Support Site user who created this quote configuration.""" createdBy: String """Start of the contract period.""" contractStart: DateTime """End of the contract period.""" contractEnd: DateTime """When this quote configuration expires.""" expiresAt: DateTime """Number of the opportunity this quote configuration belongs to.""" opportunityNumber: String """Current status of the quote configuration.""" status: QuoteConfigurationStatus """Terms included in this quote configuration.""" terms: [QuoteTermInterface!] """Extra detail items for this quote configuration.""" extraDetailsItems: [QuoteConfigurationExtraDetailItemType!] """Extra quoting parameters including forecast consumption entries.""" extraQuotingParams: ExtraQuotingParamsType } type QuoteConfigurationVariantProfileType { """Characteristic values for this variant profile.""" characteristicValues: JSONString """Scheme labels for this variant profile.""" schemeLabels: JSONString } type QuoteContractedVolumeConfigurationType implements QuoteTermInterface { """The type of the term.""" type: NonEmptyString """Unique identifier for the term.""" identifier: String """Whether this term uses variable rates.""" isVariable: Boolean """Contracted volume periods.""" periods: [QuoteContractedVolumePeriodType!] } type QuoteContractedVolumePeriodType { """Volume value for this period.""" value: Decimal """Unit of measurement for the volume.""" unit: String """Market name for this contracted volume period.""" marketName: String """Start of validity for this period.""" validFrom: DateTime """End of validity for this period.""" validTo: DateTime } type QuoteCostType { """Name of the cost field.""" key: String! """Value of the cost field.""" value: QuoteCostUnionType } type QuoteRateGroupEligibilityConfigurationType implements QuoteTermInterface { """The type of the term.""" type: NonEmptyString """Unique identifier for the term.""" identifier: String """Whether this term uses variable rates.""" isVariable: Boolean """Rate group eligibility schedules.""" schedules: [QuoteRateGroupEligibilityScheduleType!] """Time series specification eligibility schedules.""" timeSeriesSpecificationSchedules: [QuoteTimeSeriesSpecificationEligibilityScheduleType!] } type QuoteRateGroupEligibilityPeriodType { """Start of the effective period.""" start: DateTime """End of the effective period (None if open-ended).""" end: DateTime } type QuoteRateGroupEligibilityScheduleType { """The product code associated with the rate group.""" productCode: String """The rate group code.""" rateGroupCode: String """Whether this rate group is eligible.""" isEligible: Boolean """The period during which this eligibility is effective.""" effectivePeriod: QuoteRateGroupEligibilityPeriodType """Optional supply point identifier.""" supplyPointIdentifier: String } type QuoteRequestType { id: ID! code: UUID! quotedSupplyPoints: [QuotedSupplyPointType] } type QuoteTimeSeriesSpecificationEligibilityScheduleType { """The product code associated with the time series specification.""" productCode: String """The time series specification code.""" timeSeriesSpecificationCode: String """Whether this time series specification is eligible.""" isEligible: Boolean """The period during which this eligibility is effective.""" effectivePeriod: QuoteRateGroupEligibilityPeriodType """Optional supply point identifier.""" supplyPointIdentifier: String } type QuoteType_ { """Identifier of the Quote.""" identifier: ID """The date and time when the quote was created.""" createdAt: DateTime """The product offering identifier this Quote is related to.""" productOfferingIdentifier: ID """Quote components of this quote.""" quoteComponents: [QuoteComponentType] """The Actor who created the Quote.""" createdBy: ActorType } type QuotedOfferingParamsType { """Product offering identifier.""" offeringIdentifier: ID """Product component data including its quoting parameters.""" productComponents: [QuotedProductComponentType] """Quoting components of this quote.""" offeringComponents: [QuotedOfferingParamsType] } type QuotedProductComponentType { """Product code.""" productCode: ID """Quoting parameter definitions for this product.""" quotingParams: [QuotingParamType] } """Quoted product for a supply point""" type QuotedProductType { id: ID! wasSelected: Boolean! """The associated product.""" product: Product """Return the DMO Usage Reference Data for the quoted MIRN.""" productReference: ProductReferenceType """Current or future rates for this quote.""" quotedRates: [RateInterface] """Return the Price Reference for the quoted supply point and product.""" priceReference: PriceReferenceInterface } """Quoted supply point""" type QuotedSupplyPointType { marketName: String! id: ID! """The distributor used for the quote.""" distributor: DistributorType """The associated supply point.""" supplyPoint: SupplyPointInterface agreement: AusAgreementInterface quotedProducts(filterHeroProducts: Boolean = false): [QuotedProductType] """Return the DMO Usage Reference Data for the quoted MIRN.""" referenceUsage: UsageReferenceType """Return the Usage Reference for the quoted supply point.""" usageReference: UsageReferenceInterface } type QuotingEmbeddedProperty implements GenericErrorInterface { message: String! } type QuotingNoSuitableProductsFound implements GenericErrorInterface { message: String! } type QuotingNoSupplyPointsFoundOnProperty implements GenericErrorInterface { message: String! } type QuotingParamType { """Stable key for the quoting parameter (e.g. characteristic code).""" name: String """Human-readable label when provided (e.g. product catalog characteristic name).""" label: String """Type of the quoting parameter.""" type: String """Choices of the quoting parameter if present.""" choices: [String] """Source of the quoting parameter.""" source: String """Value of the quoting parameter.""" value: String } type QuotingTermsAndConditionsCanNotBeFound implements GenericErrorInterface { message: String! } type QuotingUnsupportedMarket implements GenericErrorInterface { message: String! } type RangeTooWideErrorType implements GenericErrorInterface { message: String! } """ Represents a rate group eligibility term of in a contract. Note: This type is a stub, and will be fleshed out in the future. """ type RateGroupEligibilityConfigurationType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean """A list of rate group eligibility schedules associated with the contract.""" schedules: [RateGroupEligibilityScheduleType] """A list of time series specification eligibility schedules associated with the contract.""" timeSeriesSpecificationSchedules: [TimeSeriesSpecificationEligibilityScheduleType] } """ Represents a period with a start and optional end date. Note: This type is a stub, and will be fleshed out in the future. """ type RateGroupEligibilityPeriodType { """The start date and time of the period.""" start: DateTime """The end date and time of the period.""" end: DateTime } """ Represents a schedule for rate group eligibility within a contract. Note: This type is a stub, and will be fleshed out in the future. """ type RateGroupEligibilityScheduleType { """The product code associated with the rate group.""" productCode: String """The rate group code.""" rateGroupCode: String """The external identifier of the supply point this schedule targets. When null, the schedule targets all agreements for the product.""" supplyPointIdentifier: String """Indicates if the rate group is eligible.""" isEligible: Boolean """The period during which this eligibility is effective.""" effectivePeriod: RateGroupEligibilityPeriodType } """Rate group prices for a product.""" type RateGroupPrices { """The rate group code.""" rateGroup: String! """The prices for the rate group.""" prices: [PriceForStream!]! } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type RatesConnectionFieldConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [RatesConnectionFieldEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `RatesConnectionField` and its cursor.""" type RatesConnectionFieldEdge { """The item at the end of the edge""" node: RateInterface """A cursor for use in pagination""" cursor: String! } """ Reactivate a Collection Process Record that was previously activated. Unlike UpdateCollectionProcessRecordToActive, this mutation does not require or update the external_reference field. Use this when reactivating a collection process that already has an external_reference set from its initial activation. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11217: Invalid collection process record status for reactivation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type ReactivateCollectionProcessRecord { """The reactivated collection process record.""" collectionProcessReactivated: ReactivateCollectionProcessRecordOutputType } """Output for reactivating a Collection process Record.""" type ReactivateCollectionProcessRecordOutputType { """The number of the collection process record.""" number: String """The current status of the collection process record.""" status: CollectionProcessRecordStatusTypes } type Reading { """The recorded value for this reading.""" value: Decimal """This reading's units.""" units: String """The inclusive start of this reading's interval.""" intervalStart: DateTime """The exclusive end of this reading's interval.""" intervalEnd: DateTime """A breakdown of this reading's value and raw reading count by quality group.""" qualities: [ReadingQualityMeta] } type ReadingCreationErrorType implements GenericErrorInterface { message: String! } """A breakdown of a reading's value and count for a specific quality.""" type ReadingQualityMeta { """The quality of the readings in this group.""" quality: MeterDataQualities """The aggregated value for readings of this quality. For interval readings this is the sum of kWh; for peak readings this is the maximum demand recorded.""" value: Decimal """The number of raw readings contributing to this quality group.""" count: Int } type Readings { """Readings representing outgoing utility flow e.g., solar generation.""" exportReadings(before: String, after: String, first: Int, last: Int): ExportReadingsConnection """Readings representing incoming utility flow e.g., usage or consumption..""" importReadings(before: String, after: String, first: Int, last: Int): ImportReadingsConnection } type RebateType { """Label for displaying the rebate on statements etc.""" displayName: String! """The value that populates the `reason` field in AccountCredits for this rebate.""" creditReason: String! """The number of cents per day for the rebate, returned for pro rata rebates.""" rebateCents: Decimal """The percentage discount for the rebate, represented as a decimal number between 0 and 1, returned for percentage discount rebates.""" percentageDiscount: Decimal """When eligibility for the rebate starts.""" startAt: DateTime """When eligibility for the rebate ends. If this field is null, the rebate should be treated as ongoing.""" endAt: DateTime """What the rebate applies to.""" appliedTo: [AppliedTo]! } """ Record an activated payment method. The possible errors that can be raised are: - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3822: Unauthorized. - KT-CT-3987: Invalid payment method type code. - KT-CT-3991: Received no financial account details. - KT-CT-3992: Received multiple financial account details. - KT-CT-3993: The type of financial account details does not match the provided payment method type. - KT-CT-3994: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RecordActivatedPaymentMethod { """The stored payment method.""" paymentMethod: PaymentMethodType } """ Record one or more charged back payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RecordChargedBackPayment { """The unique identifier of the notice batch created from the input.""" noticeBatchIdentifier: String! } """ Record the customer's acceptance of a deposit agreement. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RecordDepositAgreementAccepted { isRecorded: Boolean } """ Record one or more failed payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RecordFailedPayment { """The unique identifier of the notice batch created from the input.""" noticeBatchIdentifier: String! } """ Record an invalidated payment method. The possible errors that can be raised are: - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3996: Unauthorized. - KT-CT-3997: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RecordInvalidatedPaymentMethod { """The unique identifier of the notice batch created from the input.""" noticeBatchIdentifier: String! } """ Record one or more pending payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RecordPendingPayment { """The unique identifier of the notice batch created from the input.""" noticeBatchIdentifier: String! } """ Record one or more successful payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information. - KT-CT-3985: Received multiple inputs for action intent. - KT-CT-3986: Received no input for action intent. - KT-CT-3987: Invalid payment method type code. - KT-CT-3988: Number of items in list exceeds maximum value. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RecordSuccessfulPayment { """The unique identifier of the notice batch created from the input.""" noticeBatchIdentifier: String! } type RectangularButtonType implements ButtonInterface & IdentifiableInterface { """The button style.""" buttonStyle: ButtonStyle """Title text of the button.""" title: String! """The action to perform when the button is pressed.""" buttonAction: ActionType! """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """Colour style of button eg. filled, outlined, text_only.""" variant: ButtonVariance } """ Redeem the specified number of Loyalty Points as account credit. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9201: No Loyalty Point ledger found for the user. - KT-CT-9202: Loyalty Points adapter not configured. - KT-CT-9203: No ledger entries for the ledger. - KT-CT-9205: Insufficient Loyalty Points. - KT-CT-9206: Indivisible points. - KT-CT-9204: Negative or zero points set. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9209: Negative Loyalty Points balance. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RedeemLoyaltyPointsForAccountCredit { """The number of loyalty points that were redeemed.""" pointsRedeemed: Int } """ Redeem the referral claim code from certain referral scheme. The possible errors that can be raised are: - KT-CT-6723: Unauthorized. - KT-CT-6724: Referral claim code not found. - KT-CT-6725: Referral claim code redeeming error. - KT-CT-6726: Referral claim code has already been redeemed. - KT-CT-6727: Referral claim code is not available. - KT-CT-1113: Disabled GraphQL field requested. """ type RedeemReferralClaimCode { """Whether or not the request was successful.""" success: Boolean! } """Referral claim code is a way of claiming promotional benefit coming from the partner-reward referral schemes.""" type ReferralClaimCodeType { """Id of claim code instance.""" id: Int """Value of claim code.""" value: String """Referral scheme claim code belongs to.""" referralScheme: ReferralSchemeType """Account referral associated with the claim code.""" accountReferral: ReferralType """Whether the referral claim code is valid and available for use.""" isValid: Boolean """Datetime when claim code was generated.""" createdAt: DateTime } type ReferralConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ReferralConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! """ Total payment amount given to the referring account in the smallest unit. of the client's currency. If you filter the referrals by `status`, this will only return the total payment amount of referrals with the specified status. """ referringUserTotalPaymentAmount: Int! } """A Relay edge containing a `ReferralConnectionType` and its cursor.""" type ReferralConnectionTypeEdge { """The item at the end of the edge""" node: ReferralType """A cursor for use in pagination""" cursor: String! } """A referral scheme is a way for one account to earn a reward for referring another. This is achieved by the referred account using a url (provided by the referring account) to sign up.""" type ReferralSchemeType { """A fully qualified url give people to create accounts referred by this scheme.""" referralUrl: String """A referral url for display purposes.""" referralDisplayUrl: String """The reward amount received by the referrer.""" referrerRewardAmount: Int """The reward amount received by the referred party.""" referredRewardAmount: Int """The reward amount received by the referrer and the referee combined.""" combinedRewardAmount: Int """The number of loyalty points to be awarded to the referrer in addition to the reward amount.""" loyaltyPointsBonus: Int """Whether the current account is eligible to be referred under this scheme.""" canBeReferred: Boolean """The unique code for the scheme.""" code: String """The given name of the person making the referral.""" referrerGivenName: String """The family name of the person making the referral.""" referrerFamilyName: String @deprecated(reason: "The 'referrerFamilyName' field is deprecated. Only make use of the referrerGivenName for privacy reasons. - Marked as deprecated on 2022-11-07. - Scheduled for removal on or after 2023-01-07.") """Scheme type of the referral scheme.""" schemeType: String """Max number of times this referral code can be credited to a given account.""" maxRecurrence: Int """True if the the scheme has limit of uses, and if the usage is at capacity.""" isUsageAtCapacity: Boolean } type ReferralSchemeTypes { """A domestic scheme type.""" domestic: ReferralSchemeType """A business scheme type.""" business: ReferralSchemeType """A friends and family scheme type.""" friendsAndFamily: ReferralSchemeType @deprecated(reason: "The 'friendsAndFamily' field is deprecated. Please use domestic instead. - Marked as deprecated on 2020-03-05. - Scheduled for removal on or after 2024-01-01.") } """Details of an account referral""" type ReferralType implements ReferralInterface { """The date when the payment was made.""" paymentDate: Date """The type of reward scheme.""" schemeType: ReferralSchemeTypeChoices """The referral code.""" code: String """The name of the referred user.""" referredUserName: String """The status of the payment.""" paymentStatus: String """The date the referred user joined.""" referredUserJoinDate: DateTime """Payment amount given to the referred account in the smallest unit of the client's currency.""" referredUserPaymentAmount: Int """Payment amount given to the referring account in the clients fractional currency unit.""" referringUserPaymentAmount: Int """The payment amount in the smallest unit of the clients currency received by the referrer and the referee combined.""" combinedPaymentAmount: Int id: ID! } """An opaque token that can be used to renew a Kraken Token.""" type RefreshToken { """The datetime when the token will expire.""" expiryDt: DateTime! key: String! isValid: Boolean } """A refund to the customer from the energy supplier.""" type Refund implements TransactionType { """Unique identifier for the transaction.""" id: ID """Date when the transaction was posted to the account.""" postedDate: Date """The date time when the transaction is created.""" createdAt: DateTime """Unique identifier of the account the transaction belongs to.""" accountNumber: String """Gross amount including tax (when payable). Refer to the `amounts` field for a breakdown of this information.""" amount: Int """The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.""" amounts: TransactionAmountType """The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.""" balanceCarriedForward: Int """Deprecated.""" isCredit: Boolean @deprecated(reason: "The 'isCredit' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountCharge: Boolean @deprecated(reason: "The 'isAccountCharge' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Deprecated.""" isAccountPayment: Boolean @deprecated(reason: "The 'isAccountPayment' field is deprecated. This information is provided by the __typename introspection query. - Marked as deprecated on 2020-06-19. - Scheduled for removal on or after 2022-11-15.") """Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.""" isHeld: Boolean """Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.""" isIssued: Boolean """Human-readable title describing the transaction.""" title: String """The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.""" billingDocumentIdentifier: ID """Returns None if a statement is not linked with the transaction.""" statementId: ID @deprecated(reason: "The 'statementId' field is deprecated. Use `billingDocumentIdentifier` instead. - Marked as deprecated on 2023-11-30. - Scheduled for removal on or after 2024-06-01.") isReversed: Boolean! """Returns True if the transaction is linked with a statement.""" hasStatement: Boolean """Returns the note field value for the transaction, which contains additional info.""" note: String """Returns the reason.""" reasonCode: String } """ Refund a cleared payment. The possible errors that can be raised are: - KT-CT-3924: Unauthorized. - KT-CT-3928: Idempotency key used for another repayment request. - KT-CT-3929: The payment is not in a refundable state. - KT-CT-3933: Refund amount greater than payment amount. - KT-CT-3937: Payment not eligible for refund. - KT-CT-3938: Partial refund not allowed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RefundPayment { """The repayment for the requested refund.""" repayment: AccountRepaymentType } type RefundPaymentRequestType { """The ID of the refund request.""" requestId: ID """The amount of money requested.""" amount: Int """The payment which is being refunded.""" payment: AccountPaymentType """Internal code for the reason the refund is being requested.""" reasonCode: String """The current status of the refund request.""" status: RepaymentRequestStatus } type RefundRequestConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [RefundRequestConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `RefundRequestConnectionType` and its cursor.""" type RefundRequestConnectionTypeEdge { """The item at the end of the edge""" node: RefundPaymentRequestType """A cursor for use in pagination""" cursor: String! } """ Refund a voucher purchase. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13205: Voucher purchase not found. - KT-CT-13206: Voucher has already been redeemed and cannot be refunded. - KT-CT-13207: Voucher has already been refunded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RefundVoucher { """The voucher purchase that was refunded.""" voucherPurchase: VoucherPurchaseType } """ Regenerate the user's API key. The possible errors that can be raised are: - KT-CT-11100: API key authentication unavailable. - KT-CT-1113: Disabled GraphQL field requested. """ type RegenerateSecretKey { """The generated key value, which is only ever available once (here).""" key: String! """The currently authenticated user.""" viewer: AccountUserType } """ Register a new customer asset for an account The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-14602: Customer asset already exists. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RegisterCustomerAsset { """The registered customer asset.""" customerAsset: CustomerAssetType } """ Register a flow status event for a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RegisterLeadFlowStatusEvent { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """The network tariff code (NTC) the register will be billed to. This indicates the NTC has been overridden.""" type RegisterNTCOverrideType { id: Int effectiveNetworkTariffCode: String! startAt: DateTime! endAt: DateTime } """ Register a flow status event for an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RegisterOpportunityFlowStatusEvent { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Register a device token to be used for push notifications for an app. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type RegisterPushNotificationBinding { pushNotificationBinding: PushNotificationBindingType } type RegisterReading { identifier: String name: String value: String digits: Int isQuarantined: Boolean """The ID of the register reading.""" id: Int """ Possible values: A: ACTUAL_METERING_DATA E: FORWARD_ESTIMATED_DATA F: FINAL_SUBSTITUTED_DATA N: NULL_DATA S: SUBSTITUTED_DATA V: VARIABLE_DATA """ qualityFlag: QualityFlag """ Possible values: 11: CHECK 12: CALCULATED 13: SCADA 14: RETROSPECTIVE_LIKE_DAY 15: RETROSPECTIVE_AVERAGE_LIKE_DAY 16: AGREED_REMOTE 17: LINEAR_REMOTE 18: ALTERNATIVE 19: ZERO 20: PROSPECTIVE_LIKE_DAY 21: FIVE_MINUTE_NO_HISTORICAL_DATA 22: PROSPECTIVE_AVERAGE_LIKE_DAY 23: PREVIOUS_YEAR 24: DATA_SCALING 25: AVERAGE_DAILY_LOAD 51: PREVIOUS_YEAR_MRIM 52: PREVIOUS_READ_MRIM 53: REVISION_MRIM 54: LINEAR_MRIM 55: AGREED_MRIM 56: AGREED_PRIOR_TO_FIRST_READ 57: CUSTOMER_CLASS_MRIM 58: ZERO_MRIM 59: MRIM_FIVE_MINUTE_NO_HISTORICAL_DATA 61: PREVIOUS_YEAR_BASIC 62: PREVIOUS_READ_BASIC 63: CUSTOMER_CLASS_BASIC 64: AGREED_BASIC 65: ADL 66: REVISION_BASIC 67: CUSTOMER_READ 68: ZERO_BASIC 69: LINEAR_INTERPOLATION 71: RECALCULATION 72: REVISED_TABLE 73: REVISED_ALGORITHM 74: AGREED_CALCULATED 75: EXISTING_TABLE KI: KRAKEN_INTERPOLATION KP: KRAKEN_INTERPOLATION_PREVIOUS_YEAR KE: KRAKEN_EXTRAPOLATION KA: KRAKEN_ADL RA: KRAKEN_REMOVAL_ALIGNED """ qualityMethod: String } """Pagination for device registers.""" type RegistersConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [RegistersEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `Registers` and its cursor.""" type RegistersEdge { """The item at the end of the edge""" node: DeviceRegister """A cursor for use in pagination""" cursor: String! } type RegularScheduleType { """The day of the month/week at which to take payment.""" paymentDay: Int """The base unit of frequency at which payments are to be taken.""" frequency: String """The multiple of the frequency at which payments are taken.""" frequencyMultiplier: Int } type Reminder { """The unique ID of the reminder.""" id: Int """The reminder type name.""" reminderTypeName: String """If the reminder is managed by Kraken.""" isKrakenManaged: Boolean """Reminder content.""" content: String """When the reminder is due.""" dueAt: DateTime """The username of the user responsible for completing the reminder.""" assigneeUsername: String """The id of the user responsible for completing the reminder.""" assigneeId: ID """The name of the team responsible for completing the reminder.""" assigneeTeamName: String """The id of the team responsible for completing the reminder.""" assigneeTeamId: ID """Reopen ink conversation.""" reopenInkConversation: Boolean """The date and time the account reminder was created.""" createdAt: DateTime """Additional parameters for the reminder type.""" params: JSONString } """ Soft delete the payment method reference for a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-8955: Payment method reference does not match. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemoveBankDetailsForLead { """The unique number of the lead.""" leadNumber: String } """ The possible errors that can be raised are: - KT-CT-7424: Failed to remove campaign from account. - KT-CT-7426: The account is not part of the given campaign. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemoveCampaignFromAccount { """Whether the campaign was successfully removed from the account.""" campaignRemoved: Boolean """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ The possible errors that can be raised are: - KT-CT-11501: Voice campaign not found. - KT-CT-11502: Cannot remove items from multiple campaigns at once. - KT-CT-11505: Voice campaign item not found. - KT-CT-11506: Invalid campaign ID. - KT-CT-11507: Invalid campaign item ID. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemoveCampaignItems { campaignItems: [VoiceCampaignItemType] } """ Mutation to remove a concession for a user account The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemoveConcession { concession: ConcessionType } """ Remove existing items from the risk list. The possible errors that can be raised are: - KT-CT-12106: Risk list item removal failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemoveItemsFromRiskList { """List of successfully removed risk identifiers.""" riskIdentifiers: [RiskListItemType] } """ Remove an existing partner user from a partner team. The possible errors that can be raised are: - KT-CT-7725: Unauthorized. - KT-CT-7726: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemovePartnerUserFromTeam { """The partner user that was removed from the team.""" partnerUser: PartnerUserType } """ Remove a property from a hierarchy. This operation is idempotent - if the property is not in the hierarchy, it will succeed without error. When a property is removed, its descendants are reparented to the removed property's parent. If removing a root node, its children become new root nodes. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RemovePropertyFromHierarchy { """The property that was removed from the hierarchy.""" property: PropertyType } type RepaymentInterventionType { """The repayment intervention outcome.""" outcome: String """The repayment intervention reason.""" reason: String } type RepaymentRequestConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [RepaymentRequestConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `RepaymentRequestConnectionType` and its cursor.""" type RepaymentRequestConnectionTypeEdge { """The item at the end of the edge""" node: RepaymentRequestType """A cursor for use in pagination""" cursor: String! } type RepaymentRequestType { """The ID of the repayment request.""" requestId: String """The amount of money requested.""" amount: Int """Classifier code for repayment reason.""" reasonCode: String """The method by which the money will be transferred to the customer.""" method: RepaymentMethod """The payment instruction, if any, associated with the repayment request.""" instruction: PaymentInstructionType """The current status of the repayment request.""" status: RepaymentRequestStatus } """ Replaces the active payment schedule with a new payment schedule. Requires the new schedule type to be passed in, as well as whether the schedule should be fixed. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ReplaceLatestPaymentSchedule { """The payment schedule that was replaced.""" replacedSchedule: PaymentScheduleType """The new payment schedule that has replaced the specified one.""" newSchedule: PaymentScheduleType } """ Replace all references for a partner The possible errors that can be raised are: - KT-CT-7701: The affiliate organisation was not found. - KT-CT-7732: The supplied reference namespace is not configured for this client. - KT-CT-7733: Another partner organisation already has a reference with this value in this namespace. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ReplacePartnerReferences { """The updated partner.""" partner: AffiliateOrganisationType } """ Request a customer access data (CAD) report. The possible errors that can be raised are: - KT-AU-3811: Missing or invalid mutation inputs. - KT-CT-3823: Unauthorized. - KT-CT-6420: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RequestCADReport { """The account.""" account: AccountType """Whether the email with the data was sent.""" successful: Boolean } """ Request a double opt in for a consent. This mutation will create a consent with a value of PENDING and publish a double opt-in requested transactional messaging trigger. The possible errors that can be raised are: - KT-CT-9019: Invalid input. - KT-CT-9018: Account not found. - KT-CT-1111: Unauthorized. - KT-CT-9016: Consent management not enabled. - KT-CT-9017: Consent type not found. - KT-CT-9023: Consent already accepted. - KT-CT-1199: Too many requests. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type RequestDoubleOptIn { """The consent that was created or updated.""" consent: ConsentType } """ Taking a MIRN identifier trigger an async request to resolve its origin The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RequestMIRNDiscovery { discoveryRequest: MDHXProcessDiscoveryType error: MIRNDiscoveryErrorUnion } type RequestPasswordResetOutputType { """The email that requested a password reset email.""" email: String """The number of the user that requested a password reset email.""" userNumber: String } """ Request an issued bill to be printed and (re)posted to billing address of the account. The possible errors that can be raised are: - KT-CT-3824: Unauthorized. - KT-CT-9705: The billing document has not been issued. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RequestPrintedBill { """Whether the request was successful.""" success: Boolean } type RequestRefundEligibilityType { """Whether the account can request a refund.""" canRequestRefund: Boolean! """The reason why a refund cannot be requested.""" reason: String } """Output for creating a repayment request.""" type RequestRepaymentOutputType { """The ID of the repayment request.""" requestId: String """The current status of the repayment request.""" status: RepaymentRequestStatus } type RequestedDateRangeType { """The start date of the date range.""" startDate: Date """The end date of the date range.""" endDate: Date } """ Reschedule an existing payment by a certain number of days This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type ReschedulePayment { newAccountPayment: AccountPaymentType error: ReschedulePaymentErrorUnion } type RescindContractOutput { """The contract rescinded.""" contract: Contract } """ Reset the password of an account user indicated by the userId to the value supplied. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type ResetPasswordMutationPayload { errors: [SerializerFieldErrorsType] """A unique identifier for the client performing the mutation.""" clientMutationId: String } type ResetUserPasswordOutput { """The ID of the user whose password was changed.""" userId: ID! """True if the password update was successful, false otherwise.""" passwordUpdated: Boolean @deprecated(reason: "The 'passwordUpdated' field is deprecated. Please handle the KT-CT-5450 error instead. Note that the KT-CT-5450 error will not be raised if you request any of the `failureCodes`, `failureReasons`, or `passwordUpdated` fields. - Marked as deprecated on 2025-04-07. - Scheduled for removal on or after 2025-10-04.") """A list of messages of which password validations the new password failed against if applicable.""" failureReasons: [String] @deprecated(reason: "The 'failureReasons' field is deprecated. Please handle the KT-CT-5450 error and inspect the `validationErrors[].message` extension instead. Note that the KT-CT-5450 error will not be raised if you request any of the `failureCodes`, `failureReasons`, or `passwordUpdated` fields. - Marked as deprecated on 2025-04-07. - Scheduled for removal on or after 2025-10-04.") """ A list of codes of which password validation the new password failed against if applicable. One of: - `password_too_short` - `password_too_common` - `password_reused` - `password_matches_current` - `password_has_too_few_numeric_characters` - `password_has_too_few_special_characters` - `password_has_too_few_lowercase_characters` - `password_has_too_few_uppercase_characters` - `password_contains_account_number` - `password_contains_part_of_email_address` """ failureCodes: [String] @deprecated(reason: "The 'failureCodes' field is deprecated. Please handle the KT-CT-5450 error and inspect the `validationErrors[].code` extension instead. Note that the KT-CT-5450 error will not be raised if you request any of the `failureCodes`, `failureReasons`, or `passwordUpdated` fields. - Marked as deprecated on 2025-04-07. - Scheduled for removal on or after 2025-10-04.") } """ Resolve a Meter Data Issue by setting its status to RESOLVED. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-13802: Meter data issue not found. - KT-CT-13805: Meter data issue is already resolved. - KT-CT-13806: Invalid market name provided. - KT-CT-13808: No active flow exists for this issue. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type ResolveMeterDataIssue { """The resolved meter data issue.""" meterDataIssueResolved: ResolveMeterDataIssueOutputType } """Output for resolving a MeterDataIssue.""" type ResolveMeterDataIssueOutputType { """The ID of the MeterDataIssue.""" issueId: Int """The new status of the meter data issue.""" status: MeterDataIssueStatus } """ Manually resume a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11215: Unable to resume, collection process is not paused. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type ResumeCollectionProcess { """Collection process resume output.""" collectionProcessResumed: ResumeCollectionProcessOutput } type ResumeCollectionProcessOutput { """Pause records on the collection process.""" pauseRecords: [CollectionProcessPauseStatusRecord] } """ Retire a customer asset for an account The possible errors that can be raised are: - KT-CT-14603: Unable to retire customer asset. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RetireCustomerAsset { """The retired customer asset.""" customerAsset: CustomerAssetType } """ Revoke an agreement. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1501: Agreement not found. - KT-CT-1502: Billed agreements cannot be revoked. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RevokeAgreement { """Account responsible for the revoked agreement.""" account: AccountType } type RevokeContractOutput { """The contract revoked.""" contract: Contract } """ Revoke all active role allocations a partner user has on a partner organisation. The possible errors that can be raised are: - KT-CT-7701: The affiliate organisation was not found. - KT-CT-7725: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RevokePartnerUserAccess { """The result of the deletion.""" partnerUser: RevokePartnerUserAccessType } """The result of revoking a partner user access.""" type RevokePartnerUserAccessType { """The number of the revoking partner user access.""" partnerUserNumber: String! } """ Revoke the selected role from the user for the business. The possible errors that can be raised are: - KT-CT-5463: Unauthorized. - KT-CT-11107: Unauthorized. - KT-CT-13501: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RevokeUserAccessFromBusiness { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ A reward is based on a scheme that an account has applied for in order to be eligible for a discount. Examples can include signup, promo, or partner codes that were applied to an account. """ type RewardType implements RewardInterface { """The date when the payment was made.""" paymentDate: Date """The type of reward scheme.""" schemeType: ReferralSchemeTypeChoices """The referral code.""" code: String """Reward amount given to the account in the smallest unit of the clients currency.""" rewardAmount: Int """The status of the reward payment.""" paymentStatus: ReferralStatusChoices id: ID! } """ A postal address. This data model is based on the structure used by Google's [libaddressinput library](https://github.com/google/libaddressinput)—so you can use it, or other libraries that use its data model and reference data, to accept input. All fields can be blank, except for ``country`` which must always be supplied. If you only need the address in a single string, use the ``asString`` property. If you need the address as a list of lines, use the ``asString`` property, then use ``.splitlines()`` (or your programming language's equivalent) on the resulting value. """ type RichAddressType { """A personal name.""" name: String """The name of a business or organisation.""" organization: String """ The 'street address' component. This value can (and often will) contain newline characters when appropriate. In some cases, data may appear in this field instead of the below fields; e.g. a UK post town name may appear here instead of in the `dependent_locality` field. This happens when data has been migrated from a legacy format, and that format had insufficient metadata to determine the appropriate field. If `structured_street_address` is also set, the value of this field will be a string generated from that value. """ streetAddress: String """ The 'street address' component, in a structured format. This field stores the same value as `street_address`, but with more detail; for instance, instead of `123 Example Street` it might be `{'street_number': '123', 'street_name': 'Example', 'street_type': 'Street'}`. In many cases this will be blank; we only use this field for Krakens where we need to supply this level of granularity to some third-party service, like a bulk mail provider. The exact structure of this value depends on the country _of the address_, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank. ### `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` """ structuredStreetAddress: GenericScalar """ UK dependent localities, or neighbourhoods or boroughs in some other locations. """ dependentLocality: 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. """ locality: String """ Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture. ### `AU`: Australia This must be one of `NSW`, `VIC`, `QLD`, `TAS`, `ACT`, `SA`, `NT`, `WA`. For addresses not within these locations, use the value that Australia Post uses, e.g. `ACT` for the Jervis Bay Territory or `WA` for Christmas Island. """ administrativeArea: String """ Postal code (ZIP code in the US). """ postalCode: String """ Sorting code, e.g. FR CEDEX code. This field is not used in many countries. """ sortingCode: String """ ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. `AU`, `GB`, `NZ`. """ country: 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. """ deliveryPointIdentifier: String """ The entire formatted address represented as a single string, as it would be written on an envelope. The formatting of this field may vary according to the country of the address (which may not match this Kraken installation's home country). It may also change if we update our address-formatting code or if our understanding of the correct formatting for a given country changes. Avoid parsing individual components of an address out of this field's value; use the other fields on this type instead. """ asString(showCountry: Boolean = true, showName: Boolean = true, showPostalCode: Boolean = true): String } """Represents the result of importing/removing risk identifiers into the risk list with detailed information.""" type RiskListItemType { """The unique identifier of the edited risk identifier.""" riskIdentifierId: ID } type RoleType { """The Financially Responsible Market Participant for this meter point.""" frmp: String """The Local Network Service Provider for this meter point.""" lnsp: String """The Metering Coordinator responsible for managing metering at this connection point.""" mc: String """The Meter Data Provider responsible for collecting and delivering metering data.""" mdp: String """The Metering Provider (Business) responsible for meter provision.""" mpb: String """The Metering Provider (Collection) responsible for meter data collection.""" mpc: String } type RoutingAttributeType { """The reference string used to identify this attribute (e.g., SKILL.ENERGY, LANGUAGE.ENGLISH).""" ref: String! """The category of the attribute (LANGUAGE, OPERATIONS_GROUP, SKILL).""" category: String! """Optional subcategory (e.g., TEAM, LOCATION).""" subcategory: String """Human-readable name for the attribute.""" friendlyName: String! """Whether this attribute is currently active and can be used for routing.""" isActive: Boolean! } """ Run an agreement rollover. The possible errors that can be raised are: - KT-CT-13705: Agreement rollover not found. - KT-CT-13706: Agreement rollover has an invalid status for this operation. - KT-CT-13709: Agreement rollover workflow has an invalid status for this operation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type RunAgreementRollover { """The executed agreement rollover.""" agreementRollover: AgreementRolloverType } type SMSEventType implements Node { """The ID of the object""" id: ID! eventType: String! occurredAt: DateTime! """SMS message of the SMS event.""" message: SMSMessageType } """Represents a SMS communication.""" type SMSMessageType { """The ID of the SMS.""" id: ID! """The date and time the SMS was sent.""" sentAt: DateTime """The account found.""" account: AccountType """SMS sender.""" sender: String """SMS recipient.""" recipient: String """SMS body.""" textBody: String """Attachments of the message.""" attachments: [AttachmentType] } """A sales channel.""" type SalesChannelType { """The name of the sales channel.""" name: String """The sales channel code.""" code: String """The sales channel description.""" description: String """The hierarchical name of the sales channel.""" hierarchicalName: String } type SalesFunnel { """The code of this sales funnel.""" code: String """The name of this sales funnel.""" name: String """The type of this sales funnel.""" funnelType: FunnelTypeChoices """The status of this sales funnel.""" status: FunnelStatusChoices """The stages of this sales funnel, in order.""" stages: [SalesFunnelStage] """The collections of this sales funnel.""" collections: [Collection] """Fields not associated with a collection.""" uncollectedFields: [FunnelField] @deprecated(reason: "The 'uncollectedFields' field is deprecated. Is not necessary since fields are part of a collection - Marked as deprecated on 2026-04-20. - Scheduled for removal on or after 2026-05-20.") """The rules of this sales funnel.""" rules: [SalesFunnelRule] } type SalesFunnelRule { """The code of the funnel.""" funnelCode: String! """The identifier of the product offering of the rule.""" productOfferingIdentifier: String! """The product offering of the rule.""" productOffering: OfferingType """The code of the sales channel of the rule.""" salesChannel: String! } type SalesFunnelStage { """The per-funnel unique code for this stage.""" code: String! """The human-readable name for this stage.""" name: String! """The order of the stage.""" order: Int } type SchedulabilityStatusType { description: String! canReschedule: Boolean! } type ScheduleOverlapErrorType implements GenericErrorInterface { message: String! } """ Schedule a quote follow up message to the provided recipient. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4632: Invalid recipient information. - KT-CT-4633: Mutation not enabled in this environment. - KT-CT-1113: Disabled GraphQL field requested. """ type ScheduleQuoteFollowUp { """Whether the message was scheduled successfully.""" success: Boolean! } type ScheduledTransactionType { """Whether the scheduled transaction is a 'charge' or a 'credit'.""" action: String """The gross amount of the scheduled transaction.""" grossAmount: BigInt """The net amount of the scheduled transaction.""" netAmount: BigInt """The tax amount of the scheduled transaction.""" salesTaxAmount: BigInt """The tax rate of the scheduled transaction.""" salesTaxRate: Decimal """The reason why the scheduled transaction is added to the account.""" reason: String """Additional data that is consumed and associated with the scheduled transaction.""" ancillaryData: JSONString """Any extra data that is associated with scheduled transaction.""" metadata: JSONString """Optional short note about the scheduled transaction for internal use.""" internalNote: String """Optional short note about the scheduled transaction for customer display.""" displayNote: String """The datetime after which the scheduled transaction can be added to the ledger.""" postedAfter: DateTime """The ledger the scheduled transaction is for.""" ledgerNumber: String } """An action which calls another backend screen via its screen id.""" type ScreenActionType implements IdentifiableInterface & ActionInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The name of the action object's type.""" typeName: String """The ID of the screen to navigate to.""" screenId: String! """Map of the parameters (key-value pairs) to pass to the next backend screen.""" params: [BackendScreenParam]! """Whether to allow returning to the original caller screen.""" allowBack: Boolean! } type SeasonType { """Season name.""" name: String! """Start day of the season.""" startDay: Int! """Start month of the season.""" startMonth: Int! """End day of the season.""" endDay: Int! """End month of the season.""" endMonth: Int! } """A section containing a list of cards or carousel items""" type SectionType implements IdentifiableInterface { """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """The content of the section.""" content: SectionContent! """The order of the section.""" order: Int! } type SegmentType { """The segment name.""" name: String! } """ Mark chosen quoted products for quoted supply points on a quote request as selected. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4634: Quoted product with given id not found. - KT-CT-4626: No product selected for the given quote code. - KT-CT-4635: Missing a quoted product for at least one quoted supply point on the quote request. - KT-CT-4636: Quoted product not linked to a product. - KT-CT-4646: Attempted to select multiple products for the same quoted supply point. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SelectProducts { """Whether we successfully marked the chosen quoted products as selected.""" success: Boolean! } type SelectedProductType { """The selected product code.""" code: String """The selected product display name.""" displayName: String } """ Publish a transactional message confirming an agreement rescission. The possible errors that can be raised are: - KT-CT-14101: Agreement rescission not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendAgreementRescissionConfirmation { """The agreement rescission for which we are sending a message.""" agreementRescission: AgreementRescissionType } """ Send a CDR notification to a named recipient for a given account. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendCDRNotification { """The list of Messages created and sent.""" messages: [MessageType] } """ Send a Change NMI Details request to create a pending data update. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13822: Change NMI details request precondition not met. - KT-AU-13823: Redundant NMI status update. - KT-AU-13824: Unable to verify NMI status against SDR. - KT-AU-13825: Change NMI details request blocked because the connection point has safety de-energisation enabled. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendChangeNMIDetailsRequest { """The result of sending the Change NMI Details request.""" result: SendChangeNMIDetailsRequestOutputType } type SendChangeNMIDetailsRequestOutputType { """The ID of the MeterDataIssue.""" issueId: Int """The NMI for which the Change NMI Details request was sent.""" nmi: String } """ Trigger a CustomerDetailsRequest to be sent to industry. The possible errors that can be raised are: - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-12604: Could not create Customer Details Request for NMI. - KT-AU-12605: There was no repsonse to your request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendCustomerDetailsRequest { """The transaction returned from the market gateway.""" transaction: ChromaTransactionType } """ Send an Ink outbound message. The possible errors that can be raised are: - KT-CT-7625: Invalid email address. - KT-CT-7650: Cannot send messages to internal handles. - KT-CT-7670: Invalid mutation input. - KT-CT-7671: Could not send message. - KT-CT-7672: Invalid outbound handle. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendInkOutboundMessage { """The Ink message that was enqueued for sending.""" message: InkMessage! } """ Send an offer quote summary to all active account users. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4178: No account found with given account number. - KT-CT-12407: The offer group does not contain an accepted offer. - KT-CT-5518: Account user not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendOfferQuoteSummary { """Whether the triggering of the offer quote summary was successful.""" success: Boolean! } """ Send a quote summary to the provided recipient. The possible errors that can be raised are: - KT-CT-4619: Quote with given code not found. - KT-CT-4178: No account found with given account number. - KT-CT-4632: Invalid recipient information. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendQuoteSummary { """Whether the triggering of the quote summary was successful.""" success: Boolean! } """ Trigger a SiteAccessNotification to be sent to industry. The possible errors that can be raised are: - KT-AU-5613: Cannot find meter point with the provided ID. - KT-CT-4502: Market message already sent. - KT-CT-4503: Market message failed validation. - KT-AU-4511: Error communicating with Chroma. - KT-AU-4512: Chroma request validation error. - KT-AU-4513: Chroma response validation error. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendSiteAccessNotification { """The transaction returned from Chroma.""" transaction: ChromaTransactionType } """ Send a Trustpilot review invitation email to an account user. The possible errors that can be raised are: - KT-CT-1128: Unauthorized. - KT-CT-5523: Invalid account or account user. - KT-CT-5524: Account user does not have an email address. - KT-CT-5525: Unable to send the Trustpilot review invitation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendTrustpilotReviewInvitation { """The datetime at which Trustpilot will send the review invitation.""" sendAt: DateTime } """ Verify user's email address. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SendVerificationEmail { """If the verification email was sent.""" verificationStatus: Boolean } type SerializerErrorType { message: String code: String } type SerializerFieldErrorsType { field: String errors: [ErrorTypeUnion!] } type ServiceOrderChargeRecordConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ServiceOrderChargeRecordConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ServiceOrderChargeRecordConnectionType` and its cursor.""" type ServiceOrderChargeRecordConnectionTypeEdge { """The item at the end of the edge""" node: ServiceOrderChargeRecordType """A cursor for use in pagination""" cursor: String! } type ServiceOrderChargeRecordType { id: ID! productCode: String! """Price in Australian cents, excluding GST.""" netAmount: Int! description: String! effectiveAt: DateTime! account: AccountType! """The charge.""" charge: AccountChargeType } type ServiceOrderFeeConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [ServiceOrderFeeConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `ServiceOrderFeeConnectionType` and its cursor.""" type ServiceOrderFeeConnectionTypeEdge { """The item at the end of the edge""" node: ServiceOrderFeeType """A cursor for use in pagination""" cursor: String! } type ServiceOrderFeeType { """Identifier for the associated service order fee.""" id: ID """The product code from the service order that will be charged.""" productCode: String """Type of supplied good/service associated with the fee.""" supplyType: SupplyType """The market the fee is participating in.""" marketParticipant: String jurisdiction: JurisdictionChoices """Price in Australian cents, excluding GST.""" price: Int """A short description of the charge, to be displayed on customer-facing bills.""" description: String """Date from which the fee is effective from.""" effectiveFrom: Date """Date from which the fee is effective to. Can be null if it has no end.""" effectiveTo: Date } """ The possible errors that can be raised are: - KT-CT-11801: Call recording in a confused state. - KT-CT-7813: Support user not found with that username. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetCallRecordingState { """Whether any call recording state was successfully changed.""" success: Boolean } """ Expire a Last Consumer Change Date record for a given NMI and date The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetLastConsumerChangeDateRecordToBeExpired { """The ID of the LastConsumerChangeDate record that was updated.""" lastConsumerChangeDateId: String } """ Set the Loyalty Points user for the account. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-9214: Couldn't assign user loyalty points role. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type SetLoyaltyPointsUser { """ID of the new Loyalty Points user.""" newLoyaltyPointsUserId: String } """ Update the opportunity outcome to mark the opportunity as won or lost. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetOpportunityOutcome { """Success message for now.""" message: String } """ Choose how automatic payments will be collected. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3967: Payment method is not valid. - KT-CT-3968: Preference cannot be set this soon. - KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type SetPaymentPreference { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """Output for the setQuoteConfigurationRatesRequestErrors mutation.""" type SetQuoteConfigurationRatesRequestErrorsOutput { """The quote configuration associated with the updated rates request.""" quoteConfiguration: QuoteConfigurationType! } """ Set up a new direct debit instruction. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3940: Invalid data. - KT-CT-5415: Account user not found. - KT-CT-11103: Business not found. - KT-CT-3971: Instruction owners are not valid. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetUpDirectDebitInstruction { paymentInstruction: DirectDebitInstructionType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Set up a new direct debit instruction for a business. The possible errors that can be raised are: - KT-CT-3940: Invalid data. - KT-CT-3956: Temporary error occurred. - KT-CT-11107: Unauthorized. - KT-CT-3948: Could not set up direct debit instruction. - KT-CT-3971: Instruction owners are not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetUpDirectDebitInstructionForBusiness { """The created direct debit instruction.""" paymentInstruction: DirectDebitInstructionType } """ Set up a new direct debit instruction from stored details. The possible errors that can be raised are: - KT-CT-3956: Temporary error occurred. - KT-CT-3948: Could not set up direct debit instruction. - KT-CT-3971: Instruction owners are not valid. - KT-CT-5415: Account user not found. - KT-CT-11103: Business not found. - KT-CT-4123: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetUpDirectDebitInstructionFromStoredDetails { """The payment instruction that was created from stored details.""" paymentInstruction: DirectDebitInstructionType } """ Setup the payment schedules and payment instructions, usually after a product switch. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SetupPaymentDetails { """The payment instruction.""" paymentInstruction: PaymentInstructionType """The payment schedule created.""" paymentSchedule: PaymentScheduleType } """ Share a goods quote. The possible errors that can be raised are: - KT-CT-4122: Invalid email. - KT-CT-8203: Received an invalid quote code. - KT-CT-1113: Disabled GraphQL field requested. """ type ShareGoodsQuote { """Goods quote shared.""" share: GoodsQuoteShare } """An action that instructs the app to display validation errors on input fields.""" type ShowInputFieldErrorsActionType implements ActionInterface & IdentifiableInterface { """The name of the action object's type.""" typeName: String """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String """Optional ID of the form screen these errors apply to.""" screenId: String """List of field-level validation errors to display.""" errors: [InputFieldErrorType]! } """An agreement for a Simple Services supply point (e.g. Direct Metering Agreement, Value Added Service).""" type SimpleServicesAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String meterPoint: MeterPointInterface supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement """The accounts for this agreement.""" account: AccountType } """Any special circumstances that the user has notified us about, which may entitle them to some specialist services.""" type SpecialCircumstanceRecordType { id: ID summary: String internalCode: String """The date and time the special circumstance record was created.""" createdAt: DateTime } """Information about the special circumstances that relate to a user.""" type SpecialCircumstancesType { """Whether the user has consented for their data to be given to the appropriate industry or regulatory bodies. We typically only ask for this once, so this field can be used to decide whether to ask the user for their initial consent.""" isSharingConsentGiven: Boolean records: [SpecialCircumstanceRecordUnion] } type StandingChargesWindowType { """Summarized standing charges.""" charges: [SummarizedConsumptionType!] """Potential internal error types.""" error: StandingChargesWindowErrorUnion } """ Start a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11208: Invalid billing document identifier for collection process. - KT-CT-11209: Collection process configuration does not have published version. - KT-CT-11210: Active collection process for entity already exists. - KT-CT-11211: Too many active collection processes for config. - KT-CT-11212: Invalid collection process config code. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type StartCollectionProcess { """Details of collection process that has been started.""" collectionProcessStarted: StartCollectionProcessOutput } type StartCollectionProcessOutput { """The number of the collection process record.""" number: String """Account number associated to the collection process.""" accountNumber: String } """ Start the customer verification using the provided verification method. The possible errors that can be raised are: - KT-CT-1701: Brand does not exist. - KT-CT-4194: Verification type not supported yet. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type StartCustomerVerification { """The newly created verification process.""" verificationProcess: VerificationProcess } """ Start a collection process grouped with a previously existing one. Use this when a new collection process (e.g. disconnection) must be linked to an earlier one (e.g. comms) for end-to-end traceability. Callers who do not need grouping should use startCollectionProcess instead. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11208: Invalid billing document identifier for collection process. - KT-CT-11209: Collection process configuration does not have published version. - KT-CT-11210: Active collection process for entity already exists. - KT-CT-11211: Too many active collection processes for config. - KT-CT-11212: Invalid collection process config code. - KT-CT-11308: Previous collection process not found. - KT-CT-11309: Previous collection process does not belong to the same entity. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type StartGroupedCollectionProcess { """Details of the collection process that has been started.""" collectionProcessStarted: StartGroupedCollectionProcessOutput } type StartGroupedCollectionProcessOutput { """The number of the collection process record.""" number: String """Account number associated to the collection process.""" accountNumber: String } """ Trigger an asynchronous MIRN discovery process based on (partial) address details. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type StartMirnIdentification { """Mirn Identification reference.""" identification: IdentificationType """Any error that occurs during the fulfilment of this mutation.""" error: StartMirnIdentificationErrorUnion } """A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.""" type StatementBillingDocumentConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [StatementBillingDocumentConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `StatementBillingDocumentConnectionType` and its cursor.""" type StatementBillingDocumentConnectionTypeEdge { """The item at the end of the edge""" node: StatementBillingDocumentType """A cursor for use in pagination""" cursor: String! } """A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.""" type StatementBillingDocumentType { """ID for the statement billing document.""" id: Int """The unique reference of the statement that can be used for identifying the statement externally.""" identifier: String """The start of the statement's period.""" startAt: DateTime! """The end of the statement's period.""" endAt: DateTime! """The date and time the statement was sent to the customer.""" firstIssuedAt: DateTime """The earliest charge date of the statement.""" earliestChargeAt: DateTime """The latest charge date of the statement.""" latestChargeAt: DateTime """The final date before missing payment is considered overdue.""" dueDate: Date """The scheduled date for payment (may be before the due_date).""" scheduledPaymentDate: Date """The date due for payment for the statement.""" paymentDueDate: Date @deprecated(reason: "The 'paymentDueDate' field is deprecated. This field name is ambiguous and inconsistently populated. Use `paymentDate` for the date on which payment will be collected. Use `dueDate` for the last date any payment can be made before the bill is considered overdue. - Marked as deprecated on 2026-06-15. - Scheduled for removal on or after 2027-08-15.") """Whether this statement is marked as final.""" isFinal: Boolean """URL to the PDF of the statement.""" pdfUrl: String """Billing document that annuls this statement.""" annulledBy: AnnulmentBillingDocumentType """The total amounts for all charges on the statement.""" totalCharges: StatementTotalType """The total amounts for all credits on the statement.""" totalCredits: StatementTotalType """Transactions on the statement""" transactions(orderBy: TransactionsOrderBy = POSTED_DATE_DESC, before: String, after: String, first: Int, last: Int): BillTransactionConnectionTypeConnection """Position of the billing document in the delinquent debt tracking system.""" documentDebtPosition: BillingDocumentPositionType } """The held status of a statement.""" type StatementHeldStatus { """Whether a statement is currently held.""" isHeld: Boolean """Reasons for statement being held.""" reasons: [String] } type StatementTotalType { """The net total amount for the statement (in minor currency units).""" netTotal: Int """The total amount of tax on the statement (in minor currency units).""" taxTotal: Int """The gross total amount for the statement (in minor currency units).""" grossTotal: Int } type StatementType implements BillInterface & ConstituentInterface { """The ID of the constituent bill.""" id: ID """The type of the bill.""" billType: BillTypeEnum """The date of the constituent bill covered from.""" fromDate: Date """The date of the constituent bill covered to.""" toDate: Date """ Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead. """ temporaryUrl: String @deprecated(reason: "The 'temporaryUrl' field is deprecated. This field is deprecated. Use the 'attachments' field instead. - Marked as deprecated on 2024-09-16. - Scheduled for removal on or after 2025-09-01.") """The date the bill was sent to the customer.""" issuedDate: Date attachments(before: String, after: String, first: Int, last: Int): BillingAttachmentConnectionTypeConnection """How many charges have been reversed after the close date.""" reversalsAfterClose: StatementReversalsAfterClose! """This field returns the closing balance of an issued statement.""" closingBalance: Int """This field returns the opening balance of a statement.""" openingBalance: Int """Whether the bill originated in Kraken or externally.""" isExternalBill: Boolean """Transactions on the bill.""" transactions(before: String, after: String, first: Int, last: Int): TransactionConnectionTypeConnection """Email recipient user ID.""" userId: Int """Email recipient address.""" toAddress: String """The date the bill is due to be paid.""" paymentDueDate: Date """The first day of consumption that this statement includes.""" consumptionStartDate: Date """The last day of consumption that this statement includes.""" consumptionEndDate: Date """Whether the statement is a final statement.""" isFinal: Boolean """Current status of the associated statement.""" status: AccountStatementStatus """Retrieve the held status of a account statement.""" heldStatus: HeldStatus """The total amounts for all charges on the statement.""" totalCharges: StatementTotalType """The total amounts for all credits on the statement.""" totalCredits: StatementTotalType """This field returns the average daily usage during the time period of a statement.""" averageDailyUsage(estimatedConsumptionOnly: Boolean = false): Float } type StatisticOutput { """The type of statistic being measured for the parent node.""" type: ReadingStatisticTypeEnum """Display label of the statistic for the parent node.""" label: String """Description of the statistic for the parent node.""" description: String """Monetary cost of the statistic (excluding tax), if applicable.""" costExclTax: EstimatedMoneyType """Monetary cost of the statistic (including tax), if applicable.""" costInclTax: EstimatedMoneyType """Consumption / generation value of the statistic, if applicable.""" value: Decimal } """A single step in a workflow.""" type StepType { id: ID! """The name of the single step in the workflow.""" name: String """The step's current processing status.""" status: Status } """ Set a preference to stop collecting automated payments. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3968: Preference cannot be set this soon. - KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type StopAutomatedPayments { """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Store bank details for a lead and return the mandate UUID. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-3940: Invalid data. - KT-CT-3956: Temporary error occurred. - KT-CT-8954: Unable to store payment method reference on lead. - KT-CT-8959: Unable to set payment details for lead. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type StoreBankDetailsForLead { """Reference of the mandate generated for the lead.""" paymentMethodReference: String } """ Store bank details with the vendor. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3940: Invalid data. - KT-CT-3956: Temporary error occurred. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type StoreDirectDebitPaymentMethodDetails { storedPaymentMethodDetailsReference: String } """ Store a new payment instruction created through the embedded process. The possible errors that can be raised are: - KT-CT-3820: Received both ledger ID and number. - KT-CT-4177: Unauthorized. - KT-CT-3822: Unauthorized. - KT-CT-3979: Invalid ledger. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type StorePaymentInstruction { """The stored payment instruction.""" paymentInstruction: PaymentInstructionType } type StringCharacteristicValueType implements CharacteristicValueInterface { """A string representation of a characteristic value, for convenience.""" value: String """The product characteristic.""" characteristic: CharacteristicType """The string value of the characteristic.""" stringValue: String! } """Graphene type object to represent string values""" type StringType { """Value of this field.""" stringValue: String! } """ Submit a repayment. The possible errors that can be raised are: - KT-CT-3944: Account repayment does not exist. - KT-CT-3945: Unable to allow a repayment to be submitted. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SubmitAllowedRepayment { """The repayment ID.""" repaymentId: ID """The current status of the repayment request.""" repaymentStatus: RepaymentRequestStatus } """ Submit customer feedback. The possible errors that can be raised are: - KT-CT-5514: Unable to submit feedback. - KT-CT-5511: The feedback_id should be provided for feedback source. - KT-CT-5512: The feedback doesn't match the account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SubmitCustomerFeedback { customerFeedback: CustomerFeedbackType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Submit a repayment request. The possible errors that can be raised are: - KT-CT-1132: Unauthorized. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3823: Unauthorized. - KT-CT-3926: Unauthorized. - KT-CT-3927: Invalid Amount. - KT-CT-3928: Idempotency key used for another repayment request. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type SubmitRepaymentRequest { """The newly created repayment request.""" repaymentRequest: RequestRepaymentOutputType } type SummarizedConsumptionType { startAt: DateTime! endAt: DateTime! consumption: Float! """ The cost of this consumption, in Australian cents. Note that this value is **approximate**, and only takes into account the rate at which consumption is charged. It does not include supply charges, pay-on-time discounts, concessions, card fees, or anything else of the sort. It may also be absent, if the rate at which consumption was (or will be) charged isn't known to Kraken at the time. """ cost: Float """ The same value as the `cost` field but with GST included. """ costWithGst: Float } """Ledgers provide the foundation of Kraken’s bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular Kraken account.""" type SupplementaryLedgerType implements SupplementaryLedgerInterface { id: ID @deprecated(reason: "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.") """The display name of the ledger.""" name: String ledgerType: String """The canonical name of the ledger.""" number: String """The current final balance of the ledger in pence.""" currentBalance: Int paymentAdequacy: PaymentAdequacyDetailsType } type SupplyDetailsType { """The agreed capacity for this supply.""" agreedCapacity: String """The connection units for this supply.""" connectionUnits: String } """Supporting information for a customer charge resulting from a supply or service agreement""" type SupplyOrServiceCharge { """The period that was charged.""" period: Period! """Agreements which were charged""" agreements(before: String, after: String, first: Int, last: Int): AgreementConnection } type SupplyPointConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [SupplyPointConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `SupplyPointConnectionType` and its cursor.""" type SupplyPointConnectionTypeEdge { """The item at the end of the edge""" node: SupplyPointType """A cursor for use in pagination""" cursor: String! } type SupplyPointContextDataType implements SupplyPointContextDataInterface { """Supply point external identifier.""" externalIdentifier: String """Supply point market name.""" marketName: String """Requested supply start date.""" requestedSupplyStartDate: Date """The selected product information for this supply point or None if no product is selected.""" selectedProduct: SelectedProductType } type SupplyPointOnEmbeddedProperty implements GenericErrorInterface { message: String! } """Represents a SupplyPoint.""" type SupplyPointType implements CommonSupplyPointInterface & HasReadings { """The ID of the supply point.""" id: ID! """The market this supply point belongs to.""" marketName: String! """The external identifier of the supply point.""" externalIdentifier: String """Get readings from a readable device e.g., a supply point, device, or register.""" readings( startAt: DateTime! endAt: DateTime! readingType: ReadingTypes! timeGranularity: TimeGranularities timezone: String = "Etc/GMT-10" units: [Units] ): Readings """The supply point's property.""" property: PropertyType """Get list of devices under a supply point.""" devices(deviceIdentifiers: [String], before: String, after: String, first: Int, last: Int): DevicesConnection } """A product tag.""" type SupplyProductTagType { """Tag code.""" code: String """Tag display name.""" displayName: String } """GraphQL type for a supply product.""" type SupplyProductType { """The product ID.""" id: ID! """The brand code of the product.""" brandCode: String """The name of the market the product belongs to.""" marketName: String """The product code.""" code: String """The product notes.""" notes: String """The product title.""" fullName: String """The product description.""" displayName: String """The product description.""" description: String """The date and time the product is available from.""" availableFrom: DateTime """The date and time the product is available to.""" availableTo: DateTime """Whether the product is hidden.""" isHidden: Boolean """The product term in months.""" term: Int """The date the product ends.""" endsAt: DateTime """The product availability status.""" availabilityStatus: ProductAvailability """The product contract type.""" termsContractType: String """Terms and conditions for this market supply product.""" termsAndConditions: [TermsAndConditionsType!]! """Deprecated alias of 'termsAndConditions'.""" termsAndConditionsTypes: [TermsAndConditionsType!]! @deprecated(reason: "The 'termsAndConditionsTypes' field is deprecated. This field returned the incorrect terms and conditions. Please use 'termsAndConditions' instead. - Marked as deprecated on 2026-07-14. - Scheduled for removal on or after 2026-09-14.") """The product parameters.""" params: JSONString """Tags associated with the product.""" tags: [SupplyProductTagType!]! """Rates applicable to the product.""" rates: [ApplicableRateType!]! } """ Switch account to variable payment schedule. Current schedule type will be preserved. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-3921: Account not found. - KT-CT-3922: Ledger not found for the account. - KT-CT-3947: An unexpected error occurred. - KT-CT-3984: Could not delete conflicting future payment schedule. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type SwitchAccountToVariablePaymentSchedule { """New payment schedule.""" schedule: PaymentScheduleType! } type SyncAccountCampaignType { """The campaign that is linked to the account.""" campaign: SyncCampaignType """Date when this link between account and campaign begins.""" startDate: String """Date when this link between account and campaign is no longer valid.""" expiryDate: String } type SyncAccountConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [SyncAccountConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `SyncAccountConnectionType` and its cursor.""" type SyncAccountConnectionTypeEdge { """The item at the end of the edge""" node: SyncAccountType """A cursor for use in pagination""" cursor: String! } type SyncAccountType { """The account's number.""" number: String """The portfolio's number.""" portfolioNumber: String """The brand code of the account's portfolio.""" brand: BrandChoices """The type of account.""" accountType: AccountTypeChoices """The status of account.""" status: AccountStatus """The account's delivery preference.""" commsDeliveryPreference: CommsDeliveryPreference """First line of the billing address.""" billingAddressLine1: String """Second line of the billing address.""" billingAddressLine2: String """Third line of the billing address.""" billingAddressLine3: String """Forth line of the billing address.""" billingAddressLine4: String """Fifth line of the billing address.""" billingAddressLine5: String """The billing address's postcode.""" billingPostcode: String """The linked users' IDs.""" linkedUserIds: [String] """The account's business information if .""" business: SyncBusinessType """The account's agreements.""" agreements: [SyncAgreementType] """Linked account campaigns.""" campaigns: [SyncAccountCampaignType] } type SyncAccountUserRoleType { """The account's number.""" accountNumber: String """The user's role for the account.""" role: RoleString } type SyncAgreementType { """The agreement's ID.""" id: ID """Whether the agreement is active.""" isActive: Boolean """The agreement's valid from datetime.""" validFrom: DateTime """The agreement's valid to datetime.""" validTo: DateTime """The agreement's product.""" product: SyncProductType """The agreement's supply point.""" supplyPoint: SyncSupplyPointType """The agreement's supply type.""" supplyType: String! } type SyncBusinessType { """The account's business name.""" name: String """The account's business number.""" number: String } type SyncBusinessUserRoleType { """The business's ID.""" businessId: ID """The business's number.""" businessNumber: String """The business's name.""" businessName: String """The user's role for the business.""" role: RoleString } type SyncCampaignType { """Corresponding unique campaign's name.""" name: String """Corresponding unique campaign's slug.""" slug: String """Date when the campaign begins.""" startDate: String """Date when the campaign is no longer valid.""" expiryDate: String } type SyncEventType { eventType: EventTypeChoices """The account for the event sync.""" account: AccountType """The account user for the event sync.""" accountUser: AccountUserType syncBatchId: String message: String } type SyncFamilyIssuesType { """Whether it is not safe to send the FDV policy to this user.""" notSafeToSendFdvPolicy: Boolean """Whether it is not safe to send move-in communications to this user.""" notSafeToReceiveMoveInComms: Boolean } type SyncMeterPointType { """The meter point identifier.""" identifier: ID """The meter point identifier type.""" identifierType: MeterPointIdentifierType } type SyncOccupancyPeriodType { """The occupancy effective from datetime.""" effectiveFrom: DateTime! """The occupancy effective to datetime.""" effectiveTo: DateTime } type SyncPortfolioUserRoleType { """The portfolio's ID.""" portfolioId: ID """The portfolio's number.""" portfolioNumber: String """The user's role in the portfolio.""" role: RoleString } type SyncProductType { """The product's code.""" code: String """The product's display name shown to customers during sign up process.""" displayName: String } type SyncPropertyType { """The property identifier.""" id: ID """The property's first address line.""" addressLine1: String """The property's second address line.""" addressLine2: String """The property's third address line.""" addressLine3: String """The property's forth address line.""" addressLine4: String """The property's fifth address line.""" addressLine5: String """The property's postcode.""" postcode: String """Occupancy periods for this property linked to the upstream account.""" occupancyPeriods: [SyncOccupancyPeriodType] } type SyncSupplyPointType { """The supply point's ID.""" id: ID """The supply point's meter point.""" meterPoint: SyncMeterPointType """The supply point's property.""" property: SyncPropertyType } """Represents a tag used for classifying offerings and products.""" type TagType { """Unique tag code.""" code: String! """Display name of the tag.""" displayName: String! } type TariffPeriodType { """The start date of the tariff period in a calendar year in mm-dd format.""" startDate: String """The end date of the tariff period in a calendar year in mm-dd format.""" endDate: String """Times of use for this rate.""" timeOfUse: [TimeOfUseType] """Demand threshold.""" demandThreshold: Decimal } type TaskResult { """The status of the task.""" status: TaskStatusEnum """The result of the task.""" result: JSONString """The error message if the task failed.""" error: String } """The tax information about a charge.""" type TaxItemType { """The amount to be charged for this tax.""" amount: Decimal! """A description of the tax applied (e.g. 'VAT', 'CCL', 'Sales').""" taxType: String! """The value that has been taxed. If a tax is applied to only a part of a charge, this should be the value on which the tax was calculated.""" valueTaxed: Decimal! """The dimension of the tax rate.""" unitType: TaxItemUnitType! """The charge.""" charge: AccountChargeType } type Team { """The ID of the operations team.""" id: ID! """The name of the operations team.""" name: String! """The team reference for routing (e.g., 'OPERATIONS_GROUP.TEAM.TEAM_A').""" ref: String! } type TeamGroup { """The name of the team group (e.g., 'GROUP_A').""" name: String! """The team group reference for routing (e.g., 'OPERATIONS_GROUP.GROUP.GROUP_A').""" ref: String! } type TeamLocation { """The location reference for routing (e.g., 'OPERATIONS_GROUP.LOCATION.London').""" ref: String! """The human-readable location name (e.g., 'London').""" friendlyName: String! } """Any special circumstances that the user has notified us about, which may entitle them to some specialist services. These circumstances have an end date, after which they will not longer apply. Having young children is an example of this in the UK.""" type TemporarySpecialCircumstanceRecordType { id: ID summary: String internalCode: String """The date and time the special circumstance record was created.""" createdAt: DateTime expiryDate: Date } """Represents a contract term template component within an offering.""" type TermTemplateComponentType { """Unique identifier of the component.""" identifier: ID! """Minimum quantity of this component that can be selected.""" minimumQuantity: Int! """Maximum quantity of this component that can be selected.""" maximumQuantity: Int! """Initial/default quantity for this component.""" initialQuantity: Int! """The contract term template associated with this component.""" component: TermTemplateType! } """Represents a contract term template in the catalog.""" type TermTemplateType { """The type of contract term.""" termType: String! """The data associated with this contract term template.""" templateData: JSONString! """The name of this contract term template.""" name: String! """The description of this contract term template.""" description: String! } """ Terminate an agreement. The possible errors that can be raised are: - KT-CT-1501: Agreement not found. - KT-CT-1513: Unable to terminate agreement. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TerminateAgreement { """The created agreement.""" agreement: CommonAgreementType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } type TerminateContractOutput { """The contract terminated.""" contract: Contract } """ Terminate a credit transfer permission. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3825: Credit transfer permission not found. - KT-CT-3827: The ledger is not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TerminateCreditTransferPermission { """Datetime when the credit transfer permission ends.""" validTo: DateTime } type TermsAndConditionsCanNotBeFoundErrorType implements GenericErrorInterface { message: String! } """Pagination for terms and conditions.""" type TermsAndConditionsConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [TermsAndConditionsConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `TermsAndConditionsConnectionType` and its cursor.""" type TermsAndConditionsConnectionTypeEdge { """The item at the end of the edge""" node: TermsAndConditionsType """A cursor for use in pagination""" cursor: String! } type TermsAndConditionsS3UrlType { """The display name of the terms and conditions.""" name: String """The S3 URL to the terms and conditions file.""" s3Url: String } type TermsAndConditionsType { name: String pdfUrl: String brandCode: String """The markdown text of the terms and conditions.""" markdown: String """The html of the terms and conditions document rendered as a JSON string.""" html: String version: String effectiveFrom: DateTime } """A block of text.""" type TextType implements TextInterface & IdentifiableInterface { """The text content.""" value: String! """The text style, i.e. header, body.""" textStyle: TextStyleV1 """The text alignment.""" textAlignment: Alignment """Unique identifier of the object.""" id: ID """The name of the object's type.""" typename: String } """Type for the third party organization.""" type ThirdPartyOrganizationType { """The name of the third party.""" name: String! """Holds information about the permissions of the current viewer.""" permissions: [ThirdPartyPermission] } """Holds information about a specific permission.""" type ThirdPartyPermission { """The short name of the permission.""" permission: String } """ Represents a time-of-use override to be applied in a contract. Note: This type is a stub, and will be fleshed out in the future. """ type TimeOfUseOverrideType implements TermInterface { """The type of the term.""" type: NonEmptyString """The display name of the term.""" displayName: NonEmptyString """The description of the term.""" description: NonEmptyString """The identifier of the term.""" identifier: NonEmptyString """Whether the term is variable.""" isVariable: Boolean } type TimeOfUseSchemeType { """Name of the time of use scheme.""" name: String! """Timezone of the time of use scheme.""" timezone: String """List of timeslots in the scheme.""" timeslots: [TimeSlotWithActivationRuleType!]! } type TimeOfUseSummaryType { """The label for this time of use slot.""" label: String """The estimated usage for this time of use slot.""" usage: Decimal } type TimeOfUseType { """The days that the rate applies to.""" days: [Weekday] """Start time on the first day of the period this year.""" startTime: DateTime """End time on the last day of the period this year.""" endTime: DateTime } """ Represents a schedule for time series specification eligibility within a contract. Note: This type is a stub, and will be fleshed out in the future. """ type TimeSeriesSpecificationEligibilityScheduleType { """The product code associated with the time series specification.""" productCode: String """The time series specification code.""" timeSeriesSpecificationCode: String """The external identifier of the supply point this schedule targets. When null, the schedule targets all agreements for the product.""" supplyPointIdentifier: String """Indicates if the time series specification is eligible.""" isEligible: Boolean """The period during which this eligibility is effective.""" effectivePeriod: RateGroupEligibilityPeriodType } type TimeSlotWithActivationRuleType { """Timeslot name.""" timeslot: String! """Active from time.""" activeFrom: Time! """Active to time.""" activeTo: Time! """Indicates applies on weekdays or not.""" weekdays: Boolean! """Indicates applies on weekends or not.""" weekends: Boolean! """Indicates applies on Saturdays or not.""" saturdays: Boolean! """Indicates applies on Sundays or not.""" sundays: Boolean! """Indicates applies on workdays or not.""" workdays: Boolean! """Indicates applies on holidays or not.""" holidays: Boolean! """Season the rule applies to.""" season: SeasonType! } type TransactionAmountType { """The net amount (in minor currency units).""" net: Int """The amount of tax (in minor currency units).""" tax: Int """The gross amount (in minor currency units).""" gross: Int } type TransactionConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [TransactionConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `TransactionConnectionType` and its cursor.""" type TransactionConnectionTypeEdge { """The item at the end of the edge""" node: TransactionType """A cursor for use in pagination""" cursor: String! } """ Transfer opportunities across leads. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TransferLeadOpportunities { """Number of opportunities transferred.""" opportunitiesTransferred: Int } """ Transfer value from a source ledger to a destination ledger. This decreases the balance of the source ledger by the given amount and increases the balance of the destination ledger by the same amount. If the amount is negative, the effect is reversed (the source ledger's balance increases and the destination ledger's balance decreases). This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3822: Unauthorized. - KT-CT-3823: Unauthorized. - KT-CT-9701: Balance transfer to same account is not allowed. - KT-CT-9702: Balance transfer is not support for debit account with Zero balance. - KT-CT-9703: Balance transfer is not supported for debit account. - KT-CT-9704: Balance transfer amount should be non-zero. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TransferLedgerBalance { """Balance transfer details.""" balanceTransfer: AccountBalanceTransferType } """ Transfer Loyalty Points between users. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9205: Insufficient Loyalty Points. - KT-CT-9204: Negative or zero points set. - KT-CT-9208: Invalid posted at datetime. - KT-CT-9209: Negative Loyalty Points balance. - KT-CT-9210: Unhandled Loyalty Points exception. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type TransferLoyaltyPointsBetweenUsers { """The number of loyalty points that were transferred.""" pointsTransferred: Int } type Trigger { """The ID of the trigger.""" id: String! """The trigger type code for this trigger.""" triggerTypeCode: String! """The date/time that the trigger was created.""" createdAt: DateTime! """The datetime that account linking was completed for this trigger. If null, the accounts field will be empty because linking hasn't occurred yet.""" accountsLinkedAt: DateTime """The accounts related to this trigger.""" accounts(before: String, after: String, first: Int, last: Int): AccountConnectionTypeConnection! """The messages created in response to this trigger.""" messages(before: String, after: String, first: Int, last: Int): MessageConnection! """The current processing status of this trigger.""" processingStatus: TriggerProcessingStatus! } """ Trigger a C4 request to be sent to the market gateway. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-13814: Invalid C4 request parameters. - KT-AU-13815: Unable to send C4 request. - KT-AU-13816: C4 request already in progress. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerC4Request { """The result of triggering the C4 request.""" result: TriggerC4RequestOutputType } type TriggerC4RequestOutputType { """The ID of the MeterDataIssue.""" issueId: Int """The NMI for which the C4 request was sent.""" nmi: String } """ Send a communication for a collection process. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerCollectionProcessMessage { """Details of the triggered communication.""" triggerResult: TriggerCollectionProcessMessageOutput } type TriggerCollectionProcessMessageOutput { """The unique identifier of the triggered communication.""" fuguTriggerId: String } """ Trigger the electricity house move out process for a related account asynchronously. This creates a workflow instance with step instances executed as tasks; use the workflow ID in the response to track progress. The possible errors that can be raised are: - KT-CT-6623: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerElectricityHouseMoveOut { """The workflow information which can be used to track the async processing progress.""" workflow: WorkflowType """The error encountered when trying to trigger the electricity house move out process, if any.""" error: TriggerElectricityHouseMoveErrorUnion } """ Trigger the gas house move out process for a related account, asynchronously. It won't return the occupier account immediately, instead, it will create a workflow instance linking to a few step instances. The steps will be executed as tasks and clients can use the workflow id in the response to track the progress. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerGasHouseMoveOut { """The workflow information which can be used to track the async processing progress.""" workflow: WorkflowType error: TriggerGasHouseMoveErrorUnion } """ Trigger a PMD (Provide Meter Data) request to be sent to the market gateway. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13821: PMD request precondition not met. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerPmdRequest { """The result of triggering the PMD request.""" result: TriggerPmdRequestOutputType } type TriggerPmdRequestOutputType { """The ID of the MeterDataIssue.""" issueId: ID """The NMI for which the PMD request was sent.""" nmi: String """The date ranges for which PMD requests were successfully sent.""" requestedDateRanges: [RequestedDateRangeType!] """The date ranges for which PMD requests failed to send.""" failedDateRanges: [FailedDateRangeType!] } """ Trigger standalone payment request. The possible errors that can be raised are: - KT-CT-3998: Unauthorized. - KT-CT-3999: Multiple recipient input. - KT-CT-39100: Unable to find manual standalone method configuration to use. - KT-CT-5463: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerStandalonePaymentRequest { """Payment notification trigerred for standalone payment request.""" paymentNotification: PaymentNotification } """ Trigger a VMD (Verify Meter Data) request to be sent to the market gateway. The possible errors that can be raised are: - KT-CT-13802: Meter data issue not found. - KT-AU-13817: Invalid VMD request parameters. - KT-AU-13818: Unable to send VMD request. - KT-AU-13819: VMD request precondition not met. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type TriggerVmdRequest { """The result of triggering the VMD request.""" result: TriggerVmdRequestOutputType } type TriggerVmdRequestOutputType { """The ID of the MeterDataIssue.""" issueId: Int """The NMI for which the VMD request was sent.""" nmi: String } type UnableToAdjustMoveDateErrorType implements GenericErrorInterface { message: String! } type UnableToCancelServiceOrderErrorType implements GenericErrorInterface { message: String! } type UnableToDeleteScheduleType implements GenericErrorInterface { message: String! } type UnableToDeterminePhoneContactDetailsErrorType implements GenericErrorInterface { message: String! } type UnableToEstimate implements GenericErrorInterface { message: String! } type UnableToMatchPaymentDateToLedgerSchedulesErrorType implements GenericErrorInterface { message: String! """Max date that the payment can be rescheduled to.""" maxDate: Date """Maximum number of days the payment can be extended by.""" maxDays: Int } type UnableToParseAEMOAPIResponseErrorType implements GenericErrorInterface { message: String! } type UnableToPerformDiscoveryErrorType implements GenericErrorInterface { message: String! } type UnableToQuoteErrorType implements GenericErrorInterface { message: String! } type UnableToUndoMoveErrorType { message: String! } type UnableToUpdateScheduleType implements GenericErrorInterface { message: String! } type UnableToValidateReadingType implements GenericErrorInterface { message: String! } type UnableToWithdrawChangeRequestErrorType implements GenericErrorInterface { message: String! } """ Unenroll an account from the loyalty program. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-9220: Ineligible loyalty points unenrollment. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type UnenrollAccountFromLoyaltyProgram { """Outcome of the loyalty points campaign enrollment.""" outcome: UnenrollAccountFromLoyaltyProgramOutcome } type UnenrollAccountFromLoyaltyProgramOutcome { """Indicates whether the account has been unenrolled from the loyalty points campaign.""" hasUnenrolled: Boolean } type UnmeteredElectricityAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String meterPoint: MeterPointInterface supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement account: AccountType! } """Product rates for unmeterd electricity.""" type UnmeteredElectricityRateType implements RateInterface { """ID associated with unmeterd electricity product rate.""" id: ID currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float } """An unmetered electricity supply point.""" type UnmeteredElectricitySupplyPointType implements UnmeteredSupplyPointInterface & SupplyPointInterface { multiplier: Decimal! """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The meter point associated with this supply point.""" meterPoint: MeterPointInterface applianceType: UnmeteredElectricitySupplyPointApplianceType! parentNmi: String """ The quotable supply point for an UnmeteredElectricitySupplyPointType must be used to accept a quote and is different to the id of the unmetered supply point. """ quotableSupplyPointId: ID } type UnmeteredGasAgreementType implements AusAgreementInterface { """The ID of the agreement.""" id: Int """The start datetime of the agreement.""" validFrom: DateTime """The end datetime of the agreement.""" validTo: DateTime agreedAt: DateTime terminatedAt: DateTime """The datetime the agreement was entered.""" agreedFrom: DateTime """The datetime the agreement was terminated.""" agreedTo: DateTime """Whether the agreement is revoked.""" isRevoked: Boolean """The deadline datetime for rescinding the agreement.""" rescissionDeadlineAt: DateTime """The datetime the rates were agreed.""" ratesAgreedAt: DateTime """The product for this agreement.""" product: Product supplyType: String isActive: String meterPoint: MeterPointInterface supplyPoint: SupplyPointInterface! """Data about concession rebates that users associated with the agreement are eligible for.""" eligibleRebates(startAt: DateTime, endAt: DateTime, rebateAmountEffectiveAt: DateTime): [RebateType] """Get the best offer for an agreement.""" bestOffer(asOf: DateTime, pricesAsOf: DateTime): BestOfferForAgreement account: AccountType! } """Product rates for unmetered gas.""" type UnmeteredGasRateType implements RateInterface { """ID associated with unmetered gas product rate.""" id: ID currency: String """Price in cents per unit.""" pricePerUnit: Decimal! """Category of band associated with a product rate.""" bandCategory: BandCategory """Subcategory of band associated with a product rate.""" bandSubcategory: String """Unit cost before tax.""" rateExcludingTax: Float """Unit cost including tax.""" rateIncludingTax: Float """Description that will show up on the customer's bill.""" rateDescription: String """What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.""" unitType: UnitType! validFrom: DateTime validTo: DateTime """Start of the step the rate applies to.""" stepStart: Float """End of the step the rate applies to (Exclusive).""" stepEnd: Float } """An unmetered gas supply point.""" type UnmeteredGasSupplyPointType implements UnmeteredSupplyPointInterface & SupplyPointInterface { multiplier: Decimal! """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The meter point associated with this supply point.""" meterPoint: MeterPointInterface applianceType: UnmeteredGasSupplyPointApplianceType! pricingZone: UnmeteredGasSupplyPointPricingZone parentMirn: String """ The quotable supply point for an UnmeteredGasSupplyPointType must be used to accept a quote and is different to the id of the unmetered supply point. """ quotableSupplyPointId: ID } type UnsupportedBrandErrorType implements GenericErrorInterface { message: String! } type UnsupportedMarketErrorType implements GenericErrorInterface { message: String! } """ Mutation to update an existing APIException instance. The possible errors that can be raised are: - KT-CT-7804: No fields present in the input for updating the APIException. - KT-CT-7803: Received an invalid apiExceptionId. - KT-CT-7809: Update results in no changes to API Exception. - KT-CT-7805: Too many tags associated with this API Exception. - KT-CT-7806: Cannot create duplicate tags for the same API exception. - KT-CT-7801: Received an invalid operationsTeamId. - KT-CT-7811: Received an invalid assignedUserId. - KT-CT-7812: Support user is inactive. - KT-CT-7814: Received an invalid accountNumber. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAPIException { """The updated APIException.""" apiException: APIExceptionType } """ Mutation to update an existing APIExceptionNote instance. The possible errors that can be raised are: - KT-CT-7807: Received an invalid apiExceptionNoteId. - KT-CT-7808: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAPIExceptionNote { """The updates APIExceptionNote.""" apiException: APIExceptionType } """ Update address in legacy format for the specified account. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountAddressMutation { """ The currently authenticated user. This field requires the `Authorization` header to be set. """ viewer: AccountUserType } """ Update the account billing address. The possible errors that can be raised are: - KT-CT-4145: Invalid address. - KT-CT-7123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountBillingAddress { """The updated account.""" account: AccountType } """ Update the billing email for the given account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4122: Invalid email. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountBillingEmail { """Account that was changed.""" account: AccountInterface } """ Update the billing name and billing sub name for the input account number. Fields that are omitted, null, or empty are left unchanged; this mutation cannot clear a name. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountBillingName { """Account that was changed.""" account: AccountInterface } """ Update the consents for an account using the consent management system. The possible errors that can be raised are: - KT-CT-9014: Duplicate consent. - KT-CT-9016: Consent management not enabled. - KT-CT-9017: Consent type not found. - KT-CT-9018: Account not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountConsents { """Consents linked to this account.""" consents: [ConsentType!]! } """ This mutation is used for processing an electricity product switch. This is when an existing user opts in for a different product during the tenure of their agreement. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountElectricityProduct { account: AccountType error: ElectricityProductSwitchingErrorUnion } """ This mutation is used for processing a gas product switch. This is when an existing user opts in for a different product during the tenure of their agreement. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountGasProduct { account: AccountType error: GasProductSwitchingErrorUnion } """ Update a reference for a particular account and namespace. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-8310: Invalid data. - KT-CT-8311: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountReference { accountReference: AccountReferenceType } """ Update the status of an AccountReferral. Status transitions can only move forward: - Pending → Paid (allowed) - Pending → Cancelled (allowed) - Paid → any (not allowed) - Cancelled → any (not allowed) The possible errors that can be raised are: - KT-CT-6712: Invalid reference. - KT-CT-6732: Invalid referral status transition. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountReferralStatus { """The updated account referral instance.""" accountReferral: ReferralType } """ Update address for the specified account. The possible errors that can be raised are: - KT-CT-4412: The supplied address is not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountRichAddressMutation { """ The currently authenticated user. This field requires the `Authorization` header to be set. """ viewer: AccountUserType } """ Update the comms preferences of the account user (the authenticated user). The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountUserCommsPreferencesMutationPayload { isOptedInToClientMessages: Boolean isOptedInToOfferMessages: Boolean isOptedInToRecommendedMessages: Boolean isOptedInToUpdateMessages: Boolean isOptedInToThirdPartyMessages: Boolean isOptedInMeterReadingConfirmations: Boolean isOptedInToSmsMessages: Boolean isUsingInvertedEmailColours: Boolean fontSizeMultiplier: Float emailFormat: String preferredHoldMusic: String errors: [ErrorType] commsPreferences: AccountUserCommsPreferences clientMutationId: String } """ Update the consents from an account user using consent management system The possible errors that can be raised are: - KT-CT-9014: Duplicate consent. - KT-CT-9016: Consent management not enabled. - KT-CT-9017: Consent type not found. - KT-CT-1111: Unauthorized. - KT-CT-5421: Account user not found. - KT-CT-5422: Invalid data. - KT-CT-1605: Invalid input. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAccountUserConsents { """All the consents for an account user.""" accountUserConsents: AccountUserConsents } """ **DEPRECATED: Please use updateUser instead** Update the account user details of the authenticated user. Only one field can be updated per day. This prevents users from switching accounts to someone else (usually when moving homes) All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type UpdateAccountUserMutationPayload { givenName: String familyName: String pronouns: String mobile: String email: String dateOfBirth: Date landline: String errors: [ErrorType] clientMutationId: String } """ Update an active purchase. The possible errors that can be raised are: - KT-CT-8225: Received an invalid purchaseId. - KT-CT-8226: The provided purchase is not active. - KT-CT-8206: Invalid data. - KT-CT-8227: Available grants could not be applied. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateActivePurchase { """Goods purchase updated.""" goodsPurchase: GoodsPurchase } """ Update an affiliate link of an existing sales agent. The possible errors that can be raised are: - KT-CT-7711: Invalid data. - KT-CT-7713: Invalid data. - KT-CT-7714: Invalid data. - KT-CT-7715: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAffiliateLink { """The updated affiliate link.""" affiliateLink: AffiliateLinkType } """ Update an existing affiliate organisation. The possible errors that can be raised are: - KT-CT-7717: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAffiliateOrganisation { """The updated affiliate organisation.""" affiliateOrganisation: AffiliateOrganisationType } """ The possible errors that can be raised are: - KT-CT-7813: Support user not found with that username. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAgentAuxiliaryStatus { """Whether the auxiliary status was successfully updated.""" success: Boolean } """ Update the period of an agreement. The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-1501: Agreement not found. - KT-CT-1503: Agreement valid_to date must be later than valid_from date. - KT-CT-1504: Account does not match with the agreement. - KT-CT-1505: Unable to edit agreement. - KT-CT-1506: Agreement period is not within the supply and property period. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAgreementPeriod { """Account responsible for the update agreement.""" account: AccountType } """ Update an agreement rescission. This mutation allows updating the status and tracking information for an agreement rescission process. Updates are not allowed if the rescission has already been completed. The possible errors that can be raised are: - KT-CT-14101: Agreement rescission not found. - KT-CT-14102: Cannot update completed agreement rescission. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAgreementRescission { """The updated agreement rescission instance.""" agreementRescission: AgreementRescissionType } """ Update an agreement rollover. The possible errors that can be raised are: - KT-CT-4910: No product exists with the given input. - KT-CT-13705: Agreement rollover not found. - KT-CT-13706: Agreement rollover has an invalid status for this operation. - KT-CT-13707: Agreement rollover has an invalid type for this operation. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAgreementRollover { """The update agreement rollover.""" agreementRollover: AgreementRolloverType } """ Change the auto top up amount for the payment schedule. The possible errors that can be raised are: - KT-CT-3815: No active payment schedule found for this account. - KT-CT-3941: Invalid data. - KT-CT-3942: An unexpected error occurred. - KT-CT-3947: An unexpected error occurred. - KT-CT-3953: The payment schedule is not a balance triggered schedule. - KT-CT-3820: Received both ledger ID and number. - KT-CT-3821: Received neither ledger ID nor ledger number. - KT-CT-3822: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateAutoTopUpAmount { """The new schedule created.""" schedule: PaymentScheduleType } """ The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-4123: Unauthorized. - KT-CT-7428: Failed to update campaign account. - KT-CT-7429: No active campaign account found for the given account and campaign. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateCampaignAccountExpiryDate { """The campaign account with the updated expiry date.""" campaignAccount: AccountCampaignType } """ Update the latest step of a Collection Process Record. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateCollectionProcessRecordLatestStep { """The updated collection process record.""" updatedCollectionProcessRecord: UpdateCollectionProcessRecordLatestStepOutputType } """Output for updating a Collection process Record's latest step.""" type UpdateCollectionProcessRecordLatestStepOutputType { """The number of the collection process record.""" number: String """The updated latest step of the collection process record.""" latestStep: CollectionProcessStepType } """ Update the Collection Process Record from raised status to active. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11202: No External reference provided. - KT-CT-11207: Unsupported external source for collection process. - KT-CT-11218: External reference cannot be updated once it has been set. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateCollectionProcessRecordToActive { """Whether the collection process was successfully updated.""" collectionProcessActivated: UpdateCollectionProcessRecordToActiveOutputType } """Output for updating a Collection process Record to Active.""" type UpdateCollectionProcessRecordToActiveOutputType { """The number of the collection process record.""" number: String """The current status of the collection process record.""" status: CollectionProcessRecordStatusTypes } """ Update the Collection Process Record from raised status to complete. The possible errors that can be raised are: - KT-CT-1111: Unauthorized. - KT-CT-11201: No Collection Process Records associated with id. - KT-CT-11203: No Completion reason provided. - KT-CT-11204: No Completion details provided. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateCollectionProcessRecordToComplete { """Whether the collection process was successfully updated.""" collectionProcessComplete: UpdateCollectionProcessRecordToCompleteOutputType } """Output for updating a Collection process Record to Complete.""" type UpdateCollectionProcessRecordToCompleteOutputType { """The number of the collection process record.""" number: String """The current status of the repayment request.""" status: CollectionProcessRecordStatusTypes } """ Update the comms delivery preference for the given account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-4136: Cannot set comms preference to email when account has no email. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateCommsDeliveryPreference { account: AccountInterface } """ The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateConcession { concession: ConcessionType } """ Update an existing credit card instruction. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-3926: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. """ type UpdateCreditCardInstruction { """The updated credit card instruction.""" creditCardInstruction: DirectDebitInstructionType } """ Update the status of a DCA proceeding. The possible errors that can be raised are: - KT-CT-11610: unable to edit the debt collection proceeding. - KT-CT-11604: Active debt collection proceeding does not exist for account. - KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateDCAProceeding { """Whether the update has been applied.""" dcaProceedingUpdateStatus: DCAProceedingUpdateStatus } """ Update the document accessibility preference for the given account. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateDocumentAccessibilityPreference { """Account that was changed.""" account: AccountType } """ Requires either/both accessDetails or hazard inputs. This mutation overrides existing access details. The possible errors that can be raised are: - KT-CT-6420: Unauthorized. - KT-CT-4011: No meter points found with the given ID. - KT-AU-7810: Missing mutation inputs. - KT-AU-5610: Max number of meter point hazards exceeded. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateElecMeterPointAccessDetails { """The target meter point.""" meterPoint: MeterPointType } """ Update the method of payment for a solar export repayment. Allows customers to add or change their payment method for receiving solar export repayments. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-3823: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateExportPaymentMethod { """Updated export repayment details.""" exportRepaymentDetails: ExportRepaymentDetailsType } """ Update an existing hardship agreement for an account. The possible errors that can be raised are: - KT-CT-11611: Hardship agreement not found. - KT-CT-11612: Overlapping hardship agreement exists. - KT-CT-10950: Invalid date range. - KT-CT-1113: Disabled GraphQL field requested. """ type UpdateHardshipAgreement { """The updated hardship agreement.""" updatedHardshipAgreement: HardshipAgreementType } """ Update the details of a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-8912: Funnel not found. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8935: National ID bad input. - KT-CT-8956: Conflicting address inputs. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateLeadDetails { """Arguments passed.""" updatedLeadData: JSONString } """ Update the stage of a lead. The possible errors that can be raised are: - KT-CT-8907: Lead not found. - KT-CT-8914: Stage not found. - KT-CT-8915: Stages are not in the same funnel. - KT-CT-8916: Current stage mismatch. - KT-CT-8917: Stage transition not allowed. - KT-CT-8918: Stage precondition not met. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateLeadStage { """Arguments passed.""" updatedLeadData: JSONString } """ The possible errors that can be raised are: - KT-CT-7611: The message was not found. - KT-CT-7614: The Ink tag was not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateMessageTags { """Confirmed tags.""" tags: [InkTag!]! } """ Update existing metadata on an object. The possible errors that can be raised are: - KT-CT-4177: Unauthorized. - KT-CT-4124: Unauthorized. - KT-CT-6622: Unauthorized. - KT-CT-6637: Unauthorized. - KT-CT-8411: Invalid data. - KT-CT-4123: Unauthorized. - KT-CT-8413: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateMetadata { metadata: Metadata } """ Update the notes of an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateNotesOnOpportunity { """The number of the opportunity.""" opportunityNumber: String } """ Update the offer group of an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOfferGroupOnOpportunity { """The number of the opportunity.""" opportunityNumber: String } """ Update an On Site Jobs Request. The possible errors that can be raised are: - KT-CT-13032: Request does not exist. - KT-CT-13035: Request is inactive. - KT-CT-13038: Invalid request status. - KT-CT-13045: Failed to update appointment assets. - KT-CT-13050: Cannot provide both supply_point_identifier_to_market_name_mapping and supply_point_internal_id when creating assets. - KT-CT-13051: Supply point not found when creating assets. - KT-CT-13052: Multiple supply points found when creating assets. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOnSiteJobsRequest { """The updated request.""" onSiteJobsRequest: OnSiteJobsRequestType } """ Update assignment fields for an Opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8903: Unable to update opportunity. - KT-CT-8913: Organisation is not valid to be assigned. - KT-CT-8946: A team must also be provided when assigning a user. - KT-CT-8947: The team you specified was not found. - KT-CT-8948: The user you specified was not found. - KT-CT-8949: The selected team does not belong to the specified partner. - KT-CT-8950: The selected user does not belong to the specified partner. - KT-CT-8951: The selected user is not a member of the specified team. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOpportunityAssignment { """Arguments passed.""" updatedOpportunityData: JSONString } """ Update the details of an opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8930: Unable to parse address. - KT-CT-8931: Extra detail value is invalid. - KT-CT-8912: Funnel not found. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOpportunityDetails { """Arguments updated.""" updatedData: JSONString } """ Update the extra details of a opportunity. The possible errors that can be raised are: - KT-CT-8906: Opportunity not found. - KT-CT-8926: Unable to create opportunity. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOpportunityExtraDetails { """The opportunity's extra details to be added or updated.""" extraDetails: JSONString } """ Update the stage of a opportunity. The possible errors that can be raised are: - KT-CT-8903: Unable to update opportunity. - KT-CT-8910: Received opportunity current stage is not valid. - KT-CT-8914: Stage not found. - KT-CT-8915: Stages are not in the same funnel. - KT-CT-8916: Current stage mismatch. - KT-CT-8917: Stage transition not allowed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOpportunityStage { """Placeholder success message for now.""" message: String } """ Update the language preference for an account. Determines the language in which communications about the account are sent. It does not affect the language seen in the UI. The possible errors that can be raised are: - KT-CT-4123: Unauthorized. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateOptionsLanguagePreference { """The selected language preference.""" optionsLanguagePreference: OptionsLanguagePreferenceChoices } """ Update user's password. Note this is different from the ResetPassword mutation, which is used to reset a password when the user has forgotten it. This mutation is used to update the password when the user is already authenticated and wants to change their password. Ideally, this mutation would simply receive a "new_password" and use the current password update usecase, but, until we're ready for a breaking change, we'll need to use the Django form to also validate the old password and two new passwords. The possible errors that can be raised are: - KT-CT-5460: Old password is invalid. - KT-CT-5450: Password is invalid. - KT-CT-1113: Disabled GraphQL field requested. """ type UpdatePassword { """ The currently authenticated user. This field requires the `Authorization` header to be set. """ viewer: AccountUserType } """ Update a payment schedule for an account. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdatePaymentSchedule { """Updated payment schedule.""" schedule: PaymentScheduleType """Handled errors related to payment schedule updates.""" error: UpdatePaymentScheduleErrorUnion } """ Update an existing primary residence for the given user and property. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdatePrimaryResidence { """The updated primary residence.""" primaryResidence: PrimaryResidenceType """The error type and message.""" error: UpdatePrimaryResidenceErrorUnion } """ Mutation to trigger an update the date of house move in or out The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateProcessedHouseMoveDate { account: AccountType error: UpdateProcessedHouseMoveDateErrorUnion } """Rate group prices for a product.""" type UpdateProductPricesOutput { """The rate group prices.""" prices: [RateGroupPrices!]! } """ Update the address of an existing property. The possible errors that can be raised are: - KT-CT-6622: Unauthorized. - KT-CT-6638: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdatePropertyAddress { """The property whose address was updated.""" property: PropertyType } """Output for the updateQuoteConfiguration mutation.""" type UpdateQuoteConfigurationOutput { """The updated quote configuration.""" quoteConfiguration: QuoteConfigurationType! } """ Updates the given NTC override for the register under Meter point. The possible errors that can be raised are: - KT-AU-5611: Cannot find register with the provided ID. - KT-AU-5612: Error in creating the override. - KT-AU-5613: Cannot find meter point with the provided ID. - KT-AU-5614: Cannot find register network tariff code override with the provided ID. - KT-AU-5617: Override period falls outside the register's active period. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateRegisterNTCOverride { """The target meter point.""" meterPoint: MeterPointType } """ Update a Request. The possible errors that can be raised are: - KT-CT-4231: Unauthorized. - KT-CT-4232: Status passed is not valid. - KT-CT-4233: Request does not exist. - KT-CT-4234: Terminated Request cannot be updated. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateSiteworksRequest { """The siteworks request after the update.""" siteworksRequest: CoreSiteworksRequestType } """ Update address in legacy format for all accounts for this user. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. """ type UpdateUserAddressMutation { """ The currently authenticated user. This field requires the `Authorization` header to be set. """ viewer: AccountUserType } """ Update the account user details of the authenticated user. firstName and givenName fields are blocked and can't be updated via this mutation. There is no limit in the number of fields and number of times they can be updated per day. This field requires the `Authorization` header to be set. The possible errors that can be raised are: - KT-CT-5413: Invalid data. - KT-CT-5414: Invalid data. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateUserMutation { viewer: AccountUserType """Field with the possible errors of the query/mutation.""" possibleErrors: [PossibleErrorType] @deprecated(reason: "The 'possibleErrors' field is deprecated. Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead. - Marked as deprecated on 2025-01-31. - Scheduled for removal on or after 2025-03-01.") } """ Update address for all accounts for this user. The possible errors that can be raised are: - KT-CT-4412: The supplied address is not valid. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type UpdateUserRichAddressMutation { """ The currently authenticated user. This field requires the `Authorization` header to be set. """ viewer: AccountUserType } type UsageReferenceType { pricingZone: UsageReferencePricingZone! state: UsageReferenceState! accountType: UsageReferenceAccountType! """The reference supply usage in MJ""" totalUsage: Int! } type UsageSummaryType { """Usage summary for the different time of use slots. Basic meters will have a single ALLDAY entry.""" standard: [TimeOfUseSummaryType] """Controlled load usage summary.""" controlledLoad: Decimal """Solar export usage summary. Will be null for system generated usage estimates.""" export: [TimeOfUseSummaryType] """The starting date and time this usage summary covers.""" startAt: DateTime """The ending date and time this usage summary covers.""" endAt: DateTime } """Represents the preference of the user to pay himself, instead of get charged.""" type UserManagedPayment { """The start time of the payment preference.""" forPaymentsAfter: String } type UserNotFound implements GenericErrorInterface { message: String! } type UserRole implements RoleInterface { """The unique code of the role.""" code: String! """The unique displayable name of the role.""" name: String! """The description of the role.""" description: String! """The permissions associated with the role.""" permissionCodes: [String]! } type UserSyncPayloadType { """The account user's ID.""" accountUserId: ID """The account user's given name.""" givenName: String """The account user's family name.""" familyName: String """The account user's date of birth.""" dateOfBirth: String """Whether the account user has family issues.""" hasFamilyIssues: Boolean """The account user's family issues record.""" familyIssues: SyncFamilyIssuesType """The account user's email address.""" email: String """The account user's mobile phone number.""" mobile: String """The account user's landline phone number.""" landline: String """List of alternative phone numbers for the account user.""" alternativePhoneNumbers: [String] """List of portfolio user roles.""" portfolioUserRoles: [SyncPortfolioUserRoleType] """List of account user roles.""" accountUserRoles: [SyncAccountUserRoleType] """List of business user roles.""" businessUserRoles: [SyncBusinessUserRoleType] """List of accounts on the portfolios.""" accounts(offset: Int, before: String, after: String, first: Int, last: Int): SyncAccountConnectionTypeConnection } """ Validate an address without persisting it. Accepts address form values (matching the structure from the addressFields query), runs validation, and returns the full descriptor with cleaned/normalised values and per-field errors so the client can compare submitted vs. normalised data. The possible errors that can be raised are: - KT-CT-4413: The supplied address field descriptor identifier is not recognised. - KT-CT-1113: Disabled GraphQL field requested. """ type ValidateAddress { """Whether the address passed all validation checks.""" isValid: Boolean! """The address field descriptor with cleaned/normalised values and per-field validation errors populated. Each field's errors list is empty when valid. Returned on both success and failure.""" cleanedDescriptor: AddressFieldDescriptorType } """ The possible errors that can be raised are: - KT-AU-8812: User has no active concession. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ValidateConcession { concession: ConcessionType } """ Validate whether a user's email address is valid via the Kickbox API. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ValidateEmail { """Whether the email is valid or not.""" isValid: Boolean } """ Validate a multi-factor authentication (MFA) device for a user. The possible errors that can be raised are: - KT-CT-1150: MFA device not found. - KT-CT-1151: MFA device not found. - KT-CT-1152: Invalid MFA token. - KT-CT-1155: Enabled backup device is needed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ValidateMfaDevice { """Flag to indicate if the device has been verified, so it can be used for MFA.""" deviceIsValid: Boolean } """ Validate whether a user's phone number is valid. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type ValidatePhone { """Whether the phone number is valid or not.""" isValid: Boolean } type ValidationErrorFieldType { inputPath: [String] message: String } """Error type for resolving input validation errors.""" type ValidationErrorType { fieldErrors: [ValidationErrorFieldType] } """Represents a validity period defined by specific start and end date times.""" type ValidityPeriod { """The start date and time of the period.""" start: DateTime """The end date and time of the period. Null indicates an open-ended period.""" end: DateTime } """Object representing a variant profile.""" type VariantProfile { """The characteristic values for the variant.""" characteristicValues: JSONString! @deprecated(reason: "The 'characteristicValues' field is deprecated. Please use 'characteristics' instead. - Marked as deprecated on 2026-07-17. - Scheduled for removal on or after 2026-07-31.") """The scheme labels for the variant.""" schemeLabels: JSONString @deprecated(reason: "The 'schemeLabels' field is deprecated. Please use 'schemes' instead. - Marked as deprecated on 2026-07-17. - Scheduled for removal on or after 2026-07-31.") """The characteristic values for the variant.""" characteristics: GenericScalar! """The scheme labels for the variant.""" schemes: GenericScalar } """Output type for varying contract terms.""" type VaryContractTermsOutput { """The contract with the varied terms.""" contract: Contract } type VerificationProcess { """Customer with pending verification.""" userNumber: String """Verification process status.""" status: String """Verification type.""" type: String } """ Verify a customer using the provided verification code and type. The possible errors that can be raised are: - KT-CT-4191: Error while verifying the customer. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type VerifyCustomer { """The currently authenticated user.""" user: AccountUserType } """ Verify user's email address. The possible errors that can be raised are: - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type VerifyEmail { """Whether the email is verified.""" isVerified: Boolean } """ Provide identifying information about an account and user to get a scoped token that will permit access to associate an email address with the account's user. The possible errors that can be raised are: - KT-CT-1145: Account/user details do not match. - KT-CT-1113: Disabled GraphQL field requested. """ type VerifyIdentity { """An expiring token that can be used to request to update the user's email address.""" token: String! } """ Verify supply abolishment job. The possible errors that can be raised are: - KT-AU-11710: Supply abolishment verification is not enabled. - KT-AU-11711: Verification code is not in expected format: {job_id}_{verification_code}. - KT-AU-11712: Supply abolishment job not found. - KT-AU-11713: Supply abolishment journey is not in a proper status. - KT-AU-11714: Job is not subject to verification. - KT-AU-11715: Job is already verified. - KT-AU-11716: Verification code does not match. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type VerifySupplyAbolishment { """A flag that shows whether verification was done successfully.""" isVerified: Boolean } """Paginator of Voice Campaigns""" type VoiceCampaignConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [VoiceCampaignConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `VoiceCampaignConnectionType` and its cursor.""" type VoiceCampaignConnectionTypeEdge { """The item at the end of the edge""" node: VoiceCampaignType """A cursor for use in pagination""" cursor: String! } """Paginator of Campaign Items""" type VoiceCampaignItemConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [VoiceCampaignItemConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `VoiceCampaignItemConnectionType` and its cursor.""" type VoiceCampaignItemConnectionTypeEdge { """The item at the end of the edge""" node: VoiceCampaignItemType """A cursor for use in pagination""" cursor: String! } type VoiceCampaignItemType { """The ID of the campaign item.""" id: ID """ The phone number of the campaign item. This is used to determine the phone number to call when the item is processed. If it is not set, the account ID will be used instead to call the phone number associated with the account. """ phoneNumber: String """ The status of the campaign item that determines what actions can be taken on it. "UNASSIGNED": An item that is ready to be assigned to an agent "ASSIGNED": An item that is assigned to an agent and ready to contact "IN_PROGRESS": An item where a call is currently in progress "COMPLETE": An item has been contacted, and does not need to be re-contacted "REMOVED": An item that was removed without being contacted """ status: CampaignItemStatus! """ Together with `call_window_end`, this determines the time window in which the item should be called. Specified as ISO 8601 format. """ callWindowStart: DateTime """ Together with `call_window_start`, this determines the time window in which the item should be called. Specified as ISO 8601 format. """ callWindowEnd: DateTime """ The account ID associated with the item. If the phone number for the item is not set, the account ID will be used to determine the phone number to call. """ accountId: ID """ Metadata about the item. This enables items to be filtered based on additional information such as location. It is a dictionary of key-value pairs, with both keys and values being strings. """ metadata: JSONString } type VoiceCampaignType { """The ID of the campaign.""" id: ID """ The name of the campaign. This is used to identify the campaign in the system, and must be unique. """ name: String! """Additional information to describe the purpose of the campaign.""" description: String """ If appropriate, a custom number to use as the caller id for calls from this campaign. """ customOutboundPhoneNumber: String """The call tags that can be used within this campaign.""" tags(before: String, after: String, first: Int, last: Int): CallTagConnectionTypeConnection """ The status of the campaign. Indicates whether calls can be made for items in the campaign or not. """ status: CampaignStatus """The type of campaign, e.g. preview or predictive.""" campaignType: TypeOfVoiceCampaign """ The items that are part of the campaign. These are the items that contain information about what phone numbers or accounts to call while this campaign is active. """ campaignItems(before: String, after: String, first: Int, last: Int): VoiceCampaignItemConnectionTypeConnection """ Flag to indicate whether not to create a duplicate record when uploading campaign items that already exist for a given account number and/or phone number """ preventDuplicateRecords: Boolean } type VoucherPurchaseConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [VoucherPurchaseConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `VoucherPurchaseConnectionType` and its cursor.""" type VoucherPurchaseConnectionTypeEdge { """The item at the end of the edge""" node: VoucherPurchaseType """A cursor for use in pagination""" cursor: String! } type VoucherPurchaseType { """The purchase ID.""" id: ID """The amount charged for the voucher.""" charge: AccountChargeType """A balance transfer for the voucher charge, if any.""" chargeBalanceTransfer: AccountBalanceTransferType """The payment associated with the voucher purchase, if any.""" payment: AccountPaymentType """Display name for the voucher purchase.""" displayName: String """Additional metadata from client sources stored against the voucher. This data is not structural and won't be relied on by Kraken internally.""" clientParams: JSONString """When the purchase was performed.""" purchasedAt: DateTime """The value of the voucher in cents.""" voucherValue: Int """When the voucher becomes available to be redeemed.""" availableFrom: Date """The current balance left in the voucher.""" balance: Int """Fetch the redemptions for this voucher.""" redemptions: [VoucherRedemptionType] """When the voucher was refunded, if it was refunded.""" refundedAt: DateTime } type VoucherRedemptionType { """The redemption ID.""" id: ID """The amount credited for the voucher redemption.""" credit: AccountCreditType """When the redemption was claimed.""" claimedAt: DateTime """Whether the redemption has been reversed.""" isReversed: Boolean } type VouchersBalanceDetail { """The balance from vouchers that can be redeemable today.""" redeemableToday: Int """The balance from vouchers that will be redeemable in future.""" redeemableInFuture: Int } type WaterFiltersOutput { """Meter point reference.""" marketSupplyPointId: String """Serial number.""" deviceId: String """The frequency of the reading.""" readingFrequencyType: ReadingFrequencyType } type WaterMeterConnectionPeriodType { id: ID! status: ConnectionPeriodStatus! startAt: DateTime! endAt: DateTime } type WaterMeterPointType implements MeterPointInterface { """The database identifier of the meter point.""" id: Int """Pricing zone.""" pricingZone: CESPricingZone @deprecated(reason: "The 'pricingZone' field is deprecated. Field will be moved to the meter point instead. - Marked as deprecated on 2023-05-04. - Scheduled for removal on or after 2024-01-01.") parentMirn: String status: String """A list of agreements belonging to an account that is linked to the logged in user.""" agreements(includeInactive: Boolean = true): [AusAgreementInterface] """The external identifier for the meter point (NMI for electricity, MIRN for gas).""" identifier: String """Returns all meters by default, but can be filtered by meter id.""" meters(id: Int): [Meter] """The fuel/service type for this meter point.""" supplyType: String """Supply details including agreed capacity and connection units.""" supplyDetails: SupplyDetailsType property: PropertyType! supplyPoint: WaterSupplyPointType! """Heating plant or boiler.""" heatingPlant: HotWaterPlantType @deprecated(reason: "The 'heatingPlant' field is deprecated. Field will be moved to the meter point instead. - Marked as deprecated on 2023-05-04. - Scheduled for removal on or after 2024-01-01.") } type WaterMeterType implements Meter { id: ID! serialNumber: String! makeAndModel: String! readMethod: WaterMeterReadMethod! location: MeterLocation! accessDetails: String! measurementUnit: MeterMeasurementUnit! numberOfDials: Int! keyDetails: String installationDate: Date! constructionDate: Date activeFrom: DateTime! activeTo: DateTime """The units of consumption for a smart meter.""" consumptionUnits: String """Whether this meter requires a final change of tenancy (COT) reading.""" requiresCotFinalReading: Boolean """The type of fuel this meter uses.""" fuelType: String """Energy consumption recorded by the meter.""" consumption( startAt: DateTime! grouping: ConsumptionGroupings! timezone: String! before: String after: String first: Int last: Int ): ConsumptionConnection """The next scheduled read date of the meter.""" nextScheduledReadDate: Date connectionPeriods: [WaterMeterConnectionPeriodType] accumulationReadings(before: String, after: String, first: Int, last: Int): EmbeddedWaterAccumulationReadingConnectionTypeConnection """Heating plant or boiler.""" heatingPlant: HotWaterPlantType @deprecated(reason: "The 'heatingPlant' field is deprecated. Field will be moved to the meter point instead. - Marked as deprecated on 2023-05-04. - Scheduled for removal on or after 2024-01-01.") """Pricing zone.""" pricingZone: CESPricingZone @deprecated(reason: "The 'pricingZone' field is deprecated. Field will be moved to the meter point instead. - Marked as deprecated on 2023-05-04. - Scheduled for removal on or after 2024-01-01.") meterPoint: WaterMeterPointType! } type WaterSupplyPointType implements SupplyPointInterface { """The unique identifier of the supply point.""" id: ID """The market this supply point belongs to.""" marketName: String """The property associated with this supply point.""" property: PropertyType """The associated meter point.""" meterPoint: WaterMeterPointType } type WhatsAppTextMessage { """Whatsapp text message body.""" body: String! } """ Withdraw a dunning process for an account The possible errors that can be raised are: - KT-CT-4178: No account found with given account number. - KT-CT-11301: Account not in a dunning process for the given path name. - KT-CT-11302: No active dunning process found. - KT-CT-11303: Multiple active dunning processes found. - KT-CT-11306: Withdrawing the dunning process failed. - KT-CT-1113: Disabled GraphQL field requested. - KT-CT-1111: Unauthorized. - KT-CT-1112: 'Authorization' header not provided. """ type WithdrawDunning { """Whether the dunning process was withdrawn successfully.""" withdrawSuccessful: Boolean } type WorkScheduleType { """The identifier of the work schedule (also known as the 'slug').""" identifier: String! """Name of the work schedule.""" name: String! """Whether the work schedule is currently open.""" isOpen: Boolean! """Whether today is a public holiday, according to the work schedule.""" isPublicHoliday: Boolean! """The reason the Work Schedule is open or closed.""" openOrClosedReason: WorkScheduleOpenOrClosedReason! } """A workflow manages a set of long-running steps of a user journey. This type represents a single run of a given workflow.""" type WorkflowType { id: ID! """The name of the business flow that the workflow is affiliated to.""" name: String """The workflow's current processing status.""" status: Status """The steps of the workflow.""" steps: [StepType] } """ This field is a connection type. Connections are used to implement [cursor based pagination](https://graphql.org/learn/pagination/#pagination-and-edges). """ type WorkflowTypeConnectionTypeConnection { """Pagination data for this connection.""" pageInfo: PageInfo! """Contains the nodes in this connection.""" edges: [WorkflowTypeConnectionTypeEdge]! """Total number of nodes.""" totalCount: Int! """Number of nodes in the edge.""" edgeCount: Int! } """A Relay edge containing a `WorkflowTypeConnectionType` and its cursor.""" type WorkflowTypeConnectionTypeEdge { """The item at the end of the edge""" node: WorkflowType """A cursor for use in pagination""" cursor: String! } type WrongMarket implements GenericErrorInterface { message: String! } """ The `BigInt` scalar type represents non-fractional whole numeric values. `BigInt` is not constrained to 32-bit like the `Int` type and thus is a less compatible type. """ scalar BigInt """The `Boolean` scalar type represents `true` or `false`.""" scalar Boolean """ Graphene String that validates against the available business roles. Available business roles: - OWNER - SUPPLIER """ scalar BusinessRoleString """ Graphene String that validates against the available business sectors. Available business sectors: No business sectors configured. """ scalar BusinessSectorString """ The `Date` scalar type represents a Date value as specified by [iso8601](https://en.wikipedia.org/wiki/ISO_8601). """ scalar Date """ The `DateTime` scalar type represents a DateTime value as specified by [iso8601](https://en.wikipedia.org/wiki/ISO_8601). """ scalar DateTime """The `Decimal` scalar type represents a python Decimal.""" scalar Decimal scalar Email """Estimated daily energy usage for a household in kWh/day.""" scalar EnergyBenchmarkType """The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).""" scalar Float """ The `GenericScalar` scalar type represents a generic GraphQL scalar value that could be: String, Boolean, Int, Float, List or Object. """ scalar GenericScalar """The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.""" scalar ID """ Custom scalar that accepts a date string and returns a midnight-aligned, industry timezone-aware datetime. """ scalar IndustryMidnightAlignedDateField """The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.""" scalar Int """ Allows use of a JSON String for input / output from the GraphQL schema. Use of this type is *not recommended* as you lose the benefits of having a defined, static schema (one of the key benefits of GraphQL). """ scalar JSONString """ An NMI suffix for a register data stream (for example E1 or B1), or MULTIPLE when more than one suffix appears for the register in the query window. """ scalar NmiSuffix """Custom scalar type representing a non-empty ID.""" scalar NonEmptyID """Custom scalar type representing a non-empty string.""" scalar NonEmptyString """ Graphene String that validates against the available roles. Available roles: - ADMIN - BSP_USER - BUSINESS_COMMS - BUSINESS_NO_COMMS - BUSI_FINANCIALLY - CDR_REPRESENTATIVE - EZ_ADMIN - EZ_BROKER - EZ_CUSTOMER - EZ_DFPP_RO - EZ_DFPP_RW - FLAGGED_LS - LIFE_SUPPORT_CONTACT - MSBG_COMMS - MSBG_NO_COMMS - MSP_USER - NOMINATED_BILL - NOMINATED_MAND - NOMINATED_NONE - NO_EMAIL - OUTAGE_CONTACT - PRIMARY_NO_COMMS - RECEIVES_DUNNING - RECEIVES_INVOICES - RECEIVES_SALES - RECEIVES_SERVICE - RESI_SECONDARY - TRUSTEE - TRUSTEE_BILL - TRUSTEE_MAND - TRUSTEE_NONE """ scalar RoleString """The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.""" scalar String """ The `Time` scalar type represents a Time value as specified by [iso8601](https://en.wikipedia.org/wiki/ISO_8601). """ scalar Time scalar URI """ Leverages the internal Python implementation of UUID (uuid.UUID) to provide native UUID objects in fields, resolvers and input. """ scalar UUID union AccountEvent = EmailEventType | PrintEventType | SMSEventType | PushNotificationEventType """Actions are things to do upon a user interaction, such as tapping a button.""" union ActionType = DeeplinkActionType | LinkActionType | BackendScreenEventActionType | CloseActionType | ScreenActionType | ShowInputFieldErrorsActionType union AlternativeNumberErrorUnion = AlternativeNumberValidationErrorType | AlternativeNumberDoesNotExistErrorType """A backend screen is the top-level container for mobile UI.""" union BackendScreenType = ComponentListType | GenericBackendScreen | Dashboard | FormScreenType union CancelHouseMoveErrorUnion = DoesNotExistErrorType | MultipleObjectsReturnedErrorType | UnableToUndoMoveErrorType union CancelHouseMoveInErrorUnion = HouseMoveInCancelExceptionErrorType | UnableToCancelServiceOrderErrorType | InvalidWithdrawalRequestErrorType | UnableToWithdrawChangeRequestErrorType | DoesNotExistErrorType | MultipleObjectsReturnedErrorType | PreconditionsNotMetErrorType """Items are sections making up a card.""" union CardItemType = TextType | ImageType | AnimationType | RectangularButtonType | PillButtonType union CharacteristicValueUnion = StringCharacteristicValueType | IntegerCharacteristicValueType """Supporting information about a charge""" union ChargeDetail = SupplyOrServiceCharge union ConcessionCreationErrorUnion = ConcessionAlreadyExistsErrorType | ValidationErrorType """Union type representing the subject that entered into a contract, either an Account or Business.""" union ContractParty = AccountType | BusinessType union CreateGasQuoteErrorUnion = NoSupplyPointsAssociatedWithMirnErrorType | TermsAndConditionsCanNotBeFoundErrorType | NoSuitableProductsFoundErrorType | UnsupportedMarketErrorType | SupplyPointOnEmbeddedProperty | UnableToQuoteErrorType union CreateGasSupplyPointErrorUnion = MirnAlreadyExistsErrorType | ValidationErrorType union CreatePrimaryResidenceErrorUnion = AccountUserCanNotFoundErrorType | PropertyCanNotFoundErrorType | FailedPrimaryResidenceValidationErrorType | InvalidPrimaryResidenceEndDateErrorType union CreateQuoteForPropertyErrorUnion = DoesNotExistErrorType | MultipleObjectsReturnedErrorType | InvalidSupplyPointDateErrorType | NoSupplyPointsAssociatedWithPropertyErrorType | OnlyMoveInAllowedWithSupply | NoSuitableProductsFoundErrorType | UnsupportedMarketErrorType | UnableToQuoteErrorType union CreateUserProfileEventAndPublishErrorUnion = CreateUserProfileEventAndPublishAccountNumberNotProvidedError | CreateUserProfileEventAndPublishUserIdNotProvidedError | CreateUserProfileEventAndPublishFinalBillNotFoundError | CreateUserProfileEventAndPublishOtherValidationError | CreateUserProfileEventAndPublishClientError | AccountNotFound | UserNotFound | InvalidUserID union DeletePaymentScheduleErrorUnion = DoesNotExistErrorType | UnableToDeleteScheduleType union ElectricityCostEstimateErrorUnion = ProductDoesNotExist | UnableToEstimate union ElectricityMeterReadingType = ElectricityAccumulationMeterReadingType | ElectricityIntervalMeterReadingType | ElectricityAmphioIntervalMeterReadingType union ElectricityMoveInDatesErrorUnion = DoesNotExistErrorType union ElectricityProductSwitchingErrorUnion = UnsupportedBrandErrorType | MeterPointIdentifierInvalidErrorType | AsOfDateInvalidErrorType | AccountUserIsNotEligibleErrorType | ProductCodeNotFoundErrorType | FailedToRetrieveQuoteErrorType | NoMatchingPropertyFromNMIErrorType | NoMatchingAccountFoundErrorType | CanNotCreateAgreementErrorType | FailedToSwitchProductForAccountErrorType | CannotProductSwitchOnUnrelatedAccountError | CannotProductSwitchWithoutLoyaltyCardError | InvalidLoyaltyCardNumberError | AccountCannotSelectProductErrorType | AccountDoesNotHaveEmailErrorType | InvalidAddonErrorType union EnrollmentProcess = JoinSupplierProcessType | OccupyPropertyProcessType union ErrorTypeUnion = SerializerErrorType | SerializerFieldErrorsType union FixedPaymentScheduleErrorUnion = OutOfBoundsPaymentDayErrorType | ScheduleOverlapErrorType union GasMoveInDatesErrorUnion = DoesNotExistErrorType union GasProductSwitchingErrorUnion = UnsupportedBrandErrorType | UserNotFound | PropertyNotFound | MissingActiveAgreement | AsOfDateInvalidErrorType | AccountUserIsNotEligibleErrorType | NoMatchingAccountFoundErrorType | MissingActiveGasSupplyPoint | WrongMarket | QuotingNoSupplyPointsFoundOnProperty | QuotingTermsAndConditionsCanNotBeFound | QuotingNoSuitableProductsFound | QuotingUnsupportedMarket | QuotingEmbeddedProperty | ProductCodeNotInQuote | CannotProductSwitchOnUnrelatedAccountError | CannotProductSwitchWithoutLoyaltyCardError | InvalidLoyaltyCardNumberError | AccountCannotSelectProductErrorType | InvalidAddonErrorType | CanNotCreateAgreementErrorType union GasReadingValidationSaveErrorUnion = ReadingCreationErrorType union InkConversationEvent = InkNewMessage union InkMessage = InkEmail | InkSMS | InkLine | InkWhatsApp | InkTwilioWhatsApp | InkPost | InkGenericMessage | InkLiveChatMessage union ItemSizeType = FractionSizeType | PointsSizeType """Items are sections making up a screen. They can be different types, hence Union.""" union ItemType = TextType | ImageType | AnimationType | RectangularButtonType | PillButtonType | CardComponentType """Union type representing a customer, either an account or a business.""" union LegacyOrderCustomerType = AccountType | BusinessType """Union type representing either a date range or a duration for an order line period.""" union LegacyOrderLinePeriodType = LegacyOrderLineDateRangeType | LegacyOrderLineDurationType union LineMessage = LineTextMessage | LineStickerMessage | LineImageMessage union LinkUserToLineResponse = LineLinkRedirectResponse | LinkTokenNotFound | AlreadyLinkedError union MIRNDiscoveryErrorUnion = MIRNDiscoveryRequestAlreadyTriggeredErrorType | UnableToPerformDiscoveryErrorType | InvalidDiscoveryRequestErrorType union MoveInDatesErrorUnion = DoesNotExistErrorType union MoveOutDatesErrorUnion = DoesNotExistErrorType | AccountIsNotAssociatedWithPropertyErrorType | HouseMoveOutHasBeenPerformedErrorType union NMIDiscoveryTypeErrorUnion = BothHouseAndLotNumberErrorType | MissingHouseAndLotNumberErrorType | AEMOAPIUnavailableErrorType | UnableToParseAEMOAPIResponseErrorType | FailureStatusCodeInAEMOResponseErrorType union NMIType2DsicoveryErrorUnion = AEMOAPIUnavailableErrorType | UnableToParseAEMOAPIResponseErrorType | FailureStatusCodeInAEMOResponseErrorType union PaymentExtensionUnionType = PaymentPromiseType | PaymentScheduleType | AccountPaymentType """One of PreferredInstructionType or UserManagedPaymentType""" union PaymentPreferenceUnion = PreferredInstruction | UserManagedPayment union PredictedBillErrorUnion = PredictedBillBasicMeterNotSupportedErrorType | PredictedBillFailedToDeterminePeriodErrorType | PredictedBillFixedBillingNotSupportedErrorType | PredictedBillTenantNotFoundErrorType | PredictedBillReadingNotFoundErrorType | PredictedBillBasicMetersRequiredOnQuarantineType | PredictedBillCannotCalculateBillMissingNetworkTariffCodeType | DuplicateNTCForStandingChargeErrorType | RangeTooWideErrorType union ProcessHouseMoveErrorUnion = DoesNotExistErrorType | MultipleObjectsReturnedErrorType | MoveInFailedToCompleteErrorType | HouseMoveOutHasBeenPerformedErrorType | MarketMismatchErrorType | HouseMoveProblemsErrorType | ValidationErrorType | BillingFrequencyNotValidType | PaymentTermsInvalidErrorType union ProcessHouseMoveInElectricityErrorUnion = DoesNotExistErrorType | MultipleObjectsReturnedErrorType | AddOnInvalidErrorType | MoveInDetailsInValidErrorType | MoveInAdressDetailIsMissingErrorType | MoveInDetailsHaveTooManyHazardsErrorType | MoveInFailedToCompleteErrorType | ValidationErrorType | HouseMoveProblemsErrorType union ProcessHouseMoveInGasErrorUnion = DoesNotExistErrorType | MultipleObjectsReturnedErrorType | ValidationErrorType | GasHouseMoveInFailedErrorType | HouseMoveProblemsErrorType union ProductErrorUnion = DoesNotExistErrorType union QuoteCostUnionType = DecimalType | FloatType | IntegerType | QuantityType | StringType union ReadingValidationSaveErrorUnion = MultipleMeterpointsValidationErrorType | MissingReadingsValidationErrorType | MissingAccountForRegisterValidationErrorType | InvalidTimezoneReadAtDateValidationErrorType | UnableToValidateReadingType union ReschedulePaymentErrorUnion = ExceededMaxSchedulableWorkingDaysErrorType | MissingPaymentDetailsErrorType | InvalidVendorForRescheduleErrorType | InvalidStatusForRescheduleErrorType | CannotRescheduleForFixedPaymentCustomerErrorType | CannotRescheduleForReRepresentedPaymentsErrorType | CannotRescheduleWithMissingAccountStatementErrorType | CannotRescheduleWithMoreThenOneRescheduledPaymentErrorType | InvalidTransactionErrorType | NoRelatedPaymentSchedulesOnPaymentDateErrorType | UnableToMatchPaymentDateToLedgerSchedulesErrorType """A union type representing different kinds of sales records.""" union SalesRecordType = KrakenDrivenSalesInfoType | KrakenTrackedSalesInfoType | ExternalSalesInfoType union SectionContent = CardComponentType | CarouselItemType union ServiceOrderUnion = ElectricityServiceOrderType | GasServiceOrderType | GasSpecialReadType | EmbeddedElectricityServiceOrderType | EmbeddedWaterServiceOrderType union SpecialCircumstanceRecordUnion = SpecialCircumstanceRecordType | TemporarySpecialCircumstanceRecordType union StandingChargesWindowErrorUnion = DuplicateNTCForStandingChargeErrorType union StartMirnIdentificationErrorUnion = InvalidContactDetails union TriggerElectricityHouseMoveErrorUnion = UnableToDeterminePhoneContactDetailsErrorType | CouldNotStartWorkflowErrorType | ValidationErrorType | DoesNotExistErrorType | MultipleObjectsReturnedErrorType union TriggerGasHouseMoveErrorUnion = CouldNotStartWorkflowErrorType | DoesNotExistErrorType | MultipleObjectsReturnedErrorType | ValidationErrorType union UnlinkUserFromLineResponse = LineUnlinkedResponse | LinkTokenNotFound | LineCommonError union UpdatePaymentScheduleErrorUnion = DoesNotExistErrorType | UnableToUpdateScheduleType union UpdatePrimaryResidenceErrorUnion = AccountUserCanNotFoundErrorType | PropertyCanNotFoundErrorType | FailedPrimaryResidenceValidationErrorType | InvalidPrimaryResidenceEndDateErrorType | InvalidPrimaryResidenceFromDateErrorType union UpdateProcessedHouseMoveDateErrorUnion = DoesNotExistErrorType | MultipleObjectsReturnedErrorType | ExistingBillingOverMoveInAdjustmentErrorType | UnableToAdjustMoveDateErrorType union UtilityFiltersOutput = ElectricityFiltersOutput | EmbeddedElectricityFiltersOutput | GasFiltersOutput | WaterFiltersOutput