About Queries
Every GraphQL schema has a root type for both queries and mutations. The query type defines GraphQL operations that retrieve data from the server.
API Site
accountIoEligibility
Type:AccountIoEligibility
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Determines whether an account is eligible to register devices with SmartFlex.
Arguments
| Name | Description |
|---|---|
| Account number. |
| |
Query
query AccountIoEligibility(
$accountNumber: String!,
$propertyId: Int
) {
accountIoEligibility(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
isEligibleForIo
}
}Variables
{
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"accountIoEligibility": {
"isEligibleForIo": true
}
}
}accountReference
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
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.
Arguments
| Name | Description |
|---|---|
| Filter account references by this value. |
Query
query AccountReference($value: String) {
accountReference(value: $value) {
namespace
value
createdAt
updatedAt
account {
...AccountTypeFragment
}
}
}Variables
{
"value": "abc123"
}Response
{
"data": {
"accountReference": [
{
"namespace": "abc123",
"value": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"account": AccountType
}
]
}
}accountsSearch
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
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.
Arguments
| Name | Description |
|---|---|
| Search operators. |
| The maximum number of results to return. |
Query
query AccountsSearch(
$searchTerms: AccountSearchInputType,
$maxResults: Int
) {
accountsSearch(
searchTerms: $searchTerms,
maxResults: $maxResults
) {
account {
...AccountTypeFragment
}
score
}
}Variables
{
"searchTerms": AccountSearchInputType,
"maxResults": 1
}Response
{
"data": {
"accountsSearch": [
{
"account": AccountType,
"score": "1.0"
}
]
}
}backendScreen
Type:BackendScreenType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
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.
Arguments
| Name | Description |
|---|---|
| The ID of the screen to return. |
| List of key-value pairs (strings) to pass as parameters to the screen. |
| The maximum version of backend screens supported by the client. |
Query
query BackendScreen(
$screenId: ID!,
$params: [BackendScreenParamInputType],
$maxVersionSupported: Int
) {
backendScreen(
screenId: $screenId,
params: $params,
maxVersionSupported: $maxVersionSupported
) {
... on ComponentListType {
...ComponentListTypeFragment
}
... on GenericBackendScreen {
...GenericBackendScreenFragment
}
... on Dashboard {
...DashboardFragment
}
... on FormScreenType {
...FormScreenTypeFragment
}
}
}Variables
{
"screenId": "abc123",
"params": BackendScreenParamInputType,
"maxVersionSupported": 1
}Response
{
"data": {
"backendScreen": ComponentListType
}
}backendScreenEventIds
Type:[String]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Get all registered backend screen event IDs.
Query
query BackendScreenEventIds {
backendScreenEventIds
}Response
{
"data": {
"backendScreenEventIds": ["abc123"]
}
}backendScreenIds
Type:[String]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Get all registered backend screen IDs.
Query
query BackendScreenIds {
backendScreenIds
}Response
{
"data": {
"backendScreenIds": ["abc123"]
}
}Query
query ChargePointVariants {
chargePointVariants {
make
models {
...ChargePointVariantModelTypeFragment
}
}
}Response
{
"data": {
"chargePointVariants": [
{
"make": "abc123",
"models": [ChargePointVariantModelType]
}
]
}
}completedDispatches
Type:[UpsideDispatchType]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
All completed device dispatches 12 hours behind, in reverse time order.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4341: Unable to fetch completed dispatches.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query CompletedDispatches($accountNumber: String!) {
completedDispatches(accountNumber: $accountNumber) {
start
end
startDt
endDt
deltaKwh
delta
meta {
...UpsideDispatchMetaTypeFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"completedDispatches": [
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"startDt": "abc123",
"endDt": "abc123",
"deltaKwh": 1,
"delta": "1.0",
"meta": UpsideDispatchMetaType
}
]
}
}costOfCharge
Type:[CostOfChargeType]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Aggregated cost of charge for an EV device.
The possible errors that can be raised are:
- KT-CT-4326: Could not get consumption cost data.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'costOfCharge' field is deprecated.
Use `cost` field on `SmartFlexChargingSession` instead.
- Marked as deprecated on 2025-05-13.
- Scheduled for removal on or after 2026-01-16.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/605/
Arguments
| Name | Description |
|---|---|
| |
| Frequency by day, week, month or year. |
| The date up to which data should be relative to. |
| The start date of the results required. Overrides report date (end date) if provided. |
Query
query CostOfCharge(
$accountNumber: String!,
$frequency: DataFrequency!,
$reportDate: Date,
$startDate: Date
) {
costOfCharge(
accountNumber: $accountNumber,
frequency: $frequency,
reportDate: $reportDate,
startDate: $startDate
) {
costOfChargeId
krakenflexDeviceId
reportDate
isSmartCharge
totalConsumption
totalCostExclTax
totalCostInclTax
}
}Variables
{
"accountNumber": "abc123",
"frequency": "DAILY",
"reportDate": "2020-01-01",
"startDate": "2020-01-01"
}Response
{
"data": {
"costOfCharge": [
{
"costOfChargeId": "abc123",
"krakenflexDeviceId": "abc123",
"reportDate": "2020-01-01",
"isSmartCharge": true,
"totalConsumption": 1.0,
"totalCostExclTax": 1.0,
"totalCostInclTax": 1.0
}
]
}
}dashboardScreen
Type:Dashboard
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
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.
Arguments
| Name | Description |
|---|---|
| The ID of the dashboard type screen to return. |
| The account number of the user. |
| The maximum version of dahshboard type screens supported by the client. |
| The ledger id associated to the account. |
| The ledger number associated to the account. |
| The property id associated to the account. |
| List of key-value pairs (strings) to pass as parameters to the screen. |
Query
query DashboardScreen(
$dashboardId: ID!,
$accountNumber: String!,
$maxVersionSupported: Int!,
$ledgerId: String,
$ledgerNumber: String,
$propertyId: String,
$params: [BackendScreenParamInputType]
) {
dashboardScreen(
dashboardId: $dashboardId,
accountNumber: $accountNumber,
maxVersionSupported: $maxVersionSupported,
ledgerId: $ledgerId,
ledgerNumber: $ledgerNumber,
propertyId: $propertyId,
params: $params
) {
id
typename
dashboardItems {
...SectionTypeFragment
}
serialisedDashboardItems
}
}Variables
{
"dashboardId": "abc123",
"accountNumber": "abc123",
"maxVersionSupported": 1,
"ledgerId": "abc123",
"ledgerNumber": "abc123",
"propertyId": "abc123",
"params": BackendScreenParamInputType
}Response
{
"data": {
"dashboardScreen": {
"id": "abc123",
"typename": "abc123",
"dashboardItems": SectionType,
"serialisedDashboardItems": "abc123"
}
}
}devices
Type:[SmartFlexDeviceInterface!]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
A list of devices registered to an account.
Arguments
| Name | Description |
|---|---|
| The account number, e.g. A-12345678. |
| Only list devices registered to this property. |
| Only list the device with this ID. |
| Only list the device with this integration device ID. |
Query
query Devices(
$accountNumber: String!,
$propertyId: ID,
$deviceId: String,
$integrationDeviceId: String
) {
devices(
accountNumber: $accountNumber,
propertyId: $propertyId,
deviceId: $deviceId,
integrationDeviceId: $integrationDeviceId
) {
id
name
deviceType
provider
integrationDeviceId
status {
...SmartFlexDeviceStatusInterfaceFragment
}
propertyId
alerts {
...SmartFlexDeviceAlertInterfaceFragment
}
onboardingWizard {
...SmartFlexOnboardingWizardFragment
}
preferences {
...SmartFlexDevicePreferencesInterfaceFragment
}
preferenceSetting {
...FlexDevicePreferenceSettingInterfaceFragment
}
reAuthenticationState {
...DeviceReAuthenticationInterfaceFragment
}
}
}Variables
{
"accountNumber": "abc123",
"propertyId": "abc123",
"deviceId": "abc123",
"integrationDeviceId": "abc123"
}Response
{
"data": {
"devices": [
{
"id": "abc123",
"name": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"integrationDeviceId": "abc123",
"status": SmartFlexDeviceStatusInterface,
"propertyId": "abc123",
"alerts": SmartFlexDeviceAlertInterface,
"onboardingWizard": SmartFlexOnboardingWizard,
"preferences": SmartFlexDevicePreferencesInterface,
"preferenceSetting": FlexDevicePreferenceSettingInterface,
"reAuthenticationState": DeviceReAuthenticationInterface
}
]
}
}electricVehicles
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
All electric vehicle types and their details.
The possible errors that can be raised are:
- KT-CT-4343: Unable to fetch electric vehicles list for make.
- KT-CT-4344: Make is not supported by provider.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Only return vehicle types for the specified make. |
| Only return vehicle types supported by the specified provider, e.g. Tesla. |
| Only return vehicles that are currently integrated. |
Query
query ElectricVehicles(
$make: String,
$supportedProvider: ProviderChoices,
$isIntegrationLive: Boolean
) {
electricVehicles(
make: $make,
supportedProvider: $supportedProvider,
isIntegrationLive: $isIntegrationLive
) {
make
models {
...ElectricVehicleModelTypeFragment
}
}
}Variables
{
"make": "abc123",
"supportedProvider": "BYD",
"isIntegrationLive": true
}Response
{
"data": {
"electricVehicles": [
{
"make": "abc123",
"models": [ElectricVehicleModelType]
}
]
}
}eligibleDeviceTypes
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
A list of device types that are eligible for registration.
Arguments
| Name | Description |
|---|---|
| The account number, e.g. A-12345678. |
| |
Query
query EligibleDeviceTypes(
$accountNumber: String!,
$propertyId: Int
) {
eligibleDeviceTypes(
accountNumber: $accountNumber,
propertyId: $propertyId
)
}Variables
{
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"eligibleDeviceTypes": "BATTERIES"
}
}enodeLinkSession
Type:EnodeLinkSessionType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The user specific Enode link session details.
The possible errors that can be raised are:
- KT-CT-4328: Invalid data.
- KT-CT-1111: Unauthorized.
- KT-CT-4319: Unable to get Enode link session.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'enodeLinkSession' field is deprecated.
Please use 'startSmartFlexOnboarding' instead.
- Marked as deprecated on 2025-10-30.
- Scheduled for removal on or after 2026-04-30.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/608/
Arguments
| Name | Description |
|---|---|
| |
|
Query
query EnodeLinkSession(
$accountNumber: String,
$vendor: EnodeVendors
) {
enodeLinkSession(
accountNumber: $accountNumber,
vendor: $vendor
) {
linkState
linkUrl
}
}Variables
{
"accountNumber": "abc123",
"vendor": "AUDI"
}Response
{
"data": {
"enodeLinkSession": {
"linkState": "abc123",
"linkUrl": "abc123"
}
}
}flexPlannedDispatches
Type:[SmartFlexDispatch]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
All planned device dispatches in time order.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4340: Unable to fetch planned dispatches.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The SmartFlex device ID to get the planned dispatches for. |
Query
query FlexPlannedDispatches($deviceId: String!) {
flexPlannedDispatches(deviceId: $deviceId) {
start
end
type
energyAddedKwh
}
}Variables
{
"deviceId": "abc123"
}Response
{
"data": {
"flexPlannedDispatches": [
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"type": "SMART",
"energyAddedKwh": "1.0"
}
]
}
}flexSupportedDevices
Type:FlexSupportedDevices
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Devices capable of being registered with SmartFlex.
Arguments
| Name | Description |
|---|---|
| The device type to get the supported devices for. |
Query
query FlexSupportedDevices($deviceType: KrakenFlexDeviceTypes!) {
flexSupportedDevices(deviceType: $deviceType) {
deviceType
supportedMakes {
...FlexSupportedMakeFragment
}
}
}Variables
{
"deviceType": "BATTERIES"
}Response
{
"data": {
"flexSupportedDevices": {
"deviceType": "BATTERIES",
"supportedMakes": FlexSupportedMake
}
}
}heatPumpDevice
Type:HeatPumpDeviceType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The currently active heat pump device.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Query
query HeatPumpDevice(
$accountNumber: String!,
$propertyId: Int!
) {
heatPumpDevice(
accountNumber: $accountNumber,
propertyId: $propertyId
) {
krakenflexDeviceId
deviceType
provider
params {
...HeatPumpParamsTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"heatPumpDevice": {
"krakenflexDeviceId": "abc123",
"deviceType": "BATTERIES",
"provider": "BYD",
"params": HeatPumpParamsType
}
}
}heatPumpStatus
Type:HeatPumpStatusType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
A heat pump registered with KrakenFlex for a given account
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4360: Device status could not be fetched.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query HeatPumpStatus($accountNumber: String!) {
heatPumpStatus(accountNumber: $accountNumber) {
isConnected
climateControlStatus {
...ClimateControlDetailsTypeFragment
}
waterTemperatureStatus {
...WaterTemperatureDetailsTypeFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"heatPumpStatus": {
"isConnected": true,
"climateControlStatus": ClimateControlDetailsType,
"waterTemperatureStatus": WaterTemperatureDetailsType
}
}
}heatPumpVariants
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
All heat pumps and their details.
The possible errors that can be raised are:
- KT-CT-4361: No heat pumps of that make found.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| Only return heat pumps of a specific make. |
| Only return (non-) deprecated heat pumps. |
Query
query HeatPumpVariants(
$make: String,
$isDeprecated: Boolean
) {
heatPumpVariants(
make: $make,
isDeprecated: $isDeprecated
) {
make
models {
...HeatPumpVariantModelsTypeFragment
}
}
}Variables
{
"make": "abc123",
"isDeprecated": true
}Response
{
"data": {
"heatPumpVariants": [
{
"make": "abc123",
"models": [HeatPumpVariantModelsType]
}
]
}
}krakenVersion
Type:KrakenVersionType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The current version of kraken.
Query
query KrakenVersion {
krakenVersion {
number
SHA
isPinned
}
}Response
{
"data": {
"krakenVersion": {
"number": "abc123",
"SHA": "abc123",
"isPinned": true
}
}
}Arguments
| Name | Description |
|---|---|
| The ID of the object |
Query
query Node($id: ID!) {
node(id: $id) {
id
}
}Variables
{
"id": "abc123"
}Response
{
"data": {
"node": {
"id": "abc123"
}
}
}ocppConnection
Type:OCPPConnectionType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
To confirm whether a device is connected to OCPP.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4311: Unable to confirm OCPP connection.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query OcppConnection($accountNumber: String!) {
ocppConnection(accountNumber: $accountNumber) {
isConnected
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"ocppConnection": {
"isConnected": true
}
}
}ocppDetails
Type:OCPPDetailsType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The user specific generated OCPP details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
|
Query
query OcppDetails($accountNumber: String!) {
ocppDetails(accountNumber: $accountNumber) {
url
username
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"ocppDetails": {
"url": "abc123",
"username": "abc123"
}
}
}paymentFingerprintChecks
Type:PaymentFingerPrintCheckType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Check if a given payment fingerprint already exists and/or is risk-listed.
Arguments
| Name | Description |
|---|---|
| Fingerprint. |
Query
query PaymentFingerprintChecks($fingerprint: String!) {
paymentFingerprintChecks(fingerprint: $fingerprint) {
fingerprint
isFound
isRiskListed
}
}Variables
{
"fingerprint": "abc123"
}Response
{
"data": {
"paymentFingerprintChecks": {
"fingerprint": "abc123",
"isFound": true,
"isRiskListed": true
}
}
}plannedDispatches
Type:[UpsideDispatchType]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
All planned device dispatches 24 hours ahead, (usually) in time order.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4340: Unable to fetch planned dispatches.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'plannedDispatches' field is deprecated.
Please use 'flexPlannedDispatches' instead.
- Marked as deprecated on 2025-05-27.
- Scheduled for removal on or after 2026-01-16.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/604/
Arguments
| Name | Description |
|---|---|
|
Query
query PlannedDispatches($accountNumber: String!) {
plannedDispatches(accountNumber: $accountNumber) {
start
end
startDt
endDt
deltaKwh
delta
meta {
...UpsideDispatchMetaTypeFragment
}
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"plannedDispatches": [
{
"start": "2020-01-01T00:00:00.000Z",
"end": "2020-01-01T00:00:00.000Z",
"startDt": "abc123",
"endDt": "abc123",
"deltaKwh": 1,
"delta": "1.0",
"meta": UpsideDispatchMetaType
}
]
}
}providerAuthDetails
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Auth details (e.g. OAuth 2.0 URI) for the provider (if available).
Deprecated
The 'providerAuthDetails' field is deprecated.
Please use 'startSmartFlexOnboarding' instead.
- Marked as deprecated on 2025-10-30.
- Scheduled for removal on or after 2026-04-30.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/608/
Arguments
| Name | Description |
|---|---|
| The provider to get the auth details for. |
| The device type to get the auth details for (as providers may support multiple). |
| The client type the request originated from. Used when oauth_uri is different between web and app. |
| The account number that will be associated with the device. Required for some providers. |
| The ID of the property the device belongs to. |
Query
query ProviderAuthDetails(
$provider: ProviderChoices!,
$deviceType: KrakenFlexDeviceTypes!,
$clientType: ClientType,
$accountNumber: String,
$propertyId: Int
) {
providerAuthDetails(
provider: $provider,
deviceType: $deviceType,
clientType: $clientType,
accountNumber: $accountNumber,
propertyId: $propertyId
) {
oauthUri
}
}Variables
{
"provider": "BYD",
"deviceType": "BATTERIES",
"clientType": "APP",
"accountNumber": "abc123",
"propertyId": 1
}Response
{
"data": {
"providerAuthDetails": {
"oauthUri": "abc123"
}
}
}providerVirtualKeyDetails
Type:ProviderVirtualKeyDetailsType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Virtual key details (e.g. certificate public key) for the provider (if available).
Arguments
| Name | Description |
|---|---|
| The provider to get the virtual key details for. |
| The device type to get the virtual key details for (as providers may support multiple). |
Query
query ProviderVirtualKeyDetails(
$provider: ProviderChoices!,
$deviceType: KrakenFlexDeviceTypes!
) {
providerVirtualKeyDetails(
provider: $provider,
deviceType: $deviceType
) {
virtualKeyName
virtualKeyUri
}
}Variables
{
"provider": "BYD",
"deviceType": "BATTERIES"
}Response
{
"data": {
"providerVirtualKeyDetails": {
"virtualKeyName": "abc123",
"virtualKeyUri": "abc123"
}
}
}registeredKrakenflexDevice
Type:KrakenFlexDeviceType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
A device registered with KrakenFlex for a given account.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'registeredKrakenflexDevice' field is deprecated.
Please use 'devices' instead.
- Marked as deprecated on 2024-04-23.
- Scheduled for removal on or after 2026-03-01.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/677/
Arguments
| Name | Description |
|---|---|
|
Query
query RegisteredKrakenflexDevice($accountNumber: String!) {
registeredKrakenflexDevice(accountNumber: $accountNumber) {
krakenflexDeviceId
provider
vehicleMake
vehicleModel
vehicleBatterySizeInKwh
chargePointMake
chargePointModel
chargePointPowerInKw
status
suspended
hasToken
createdAt
stateOfChargeLimit {
...StateOfChargeLimitFragment
}
testDispatchFailureReason
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"registeredKrakenflexDevice": {
"krakenflexDeviceId": "abc123",
"provider": "BYD",
"vehicleMake": "abc123",
"vehicleModel": "abc123",
"vehicleBatterySizeInKwh": "1.0",
"chargePointMake": "abc123",
"chargePointModel": "abc123",
"chargePointPowerInKw": "1.0",
"status": "abc123",
"suspended": true,
"hasToken": true,
"createdAt": "2020-01-01T00:00:00.000Z",
"stateOfChargeLimit": StateOfChargeLimit,
"testDispatchFailureReason": "NONE"
}
}
}smartFlexDeviceSupplyPoint
Type:SmartFlexDeviceSupplyPointType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The supply point linked to the SmartFlex device.
Arguments
| Name | Description |
|---|---|
| The SmartFlex device ID to get the supply point details for. |
Query
query SmartFlexDeviceSupplyPoint($smartFlexDeviceId: String) {
smartFlexDeviceSupplyPoint(smartFlexDeviceId: $smartFlexDeviceId) {
importSupplyPointId
smartFlexDeviceId
}
}Variables
{
"smartFlexDeviceId": "abc123"
}Response
{
"data": {
"smartFlexDeviceSupplyPoint": {
"importSupplyPointId": "abc123",
"smartFlexDeviceId": "abc123"
}
}
}smartFlexOnboardingWizards
Type:[SmartFlexOnboardingWizard!]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
A list of wizards for onboarding devices for an account and property.
The possible errors that can be raised are:
- KT-CT-4321: Serializer validation error.
- KT-CT-1111: Unauthorized.
- KT-CT-1113: Disabled GraphQL field requested.
Arguments
| Name | Description |
|---|---|
| The account number, e.g. A-12345678. |
| Only list wizards for this property. |
| To get a specific wizard by ID, if it exists. |
| Include cancelled wizards. |
| Include completed wizards. |
| Filters for onboarding wizards that can be resumed. List limits to one resumable wizard. |
Query
query SmartFlexOnboardingWizards(
$accountNumber: String!,
$propertyId: Int,
$wizardId: ID,
$includeCancelled: Boolean,
$includeCompleted: Boolean,
$isResumable: Boolean
) {
smartFlexOnboardingWizards(
accountNumber: $accountNumber,
propertyId: $propertyId,
wizardId: $wizardId,
includeCancelled: $includeCancelled,
includeCompleted: $includeCompleted,
isResumable: $isResumable
) {
id
resumable {
...SmartFlexResumableFragment
}
deviceType
displayName
backendScreen {
... on ComponentListType {
...ComponentListTypeFragment
}
... on GenericBackendScreen {
...GenericBackendScreenFragment
}
... on Dashboard {
...DashboardFragment
}
... on FormScreenType {
...FormScreenTypeFragment
}
}
currentStep {
...SmartFlexOnboardingStepInterfaceFragment
}
completedSteps {
...SmartFlexOnboardingStepInterfaceFragment
}
}
}Variables
{
"accountNumber": "abc123",
"propertyId": 1,
"wizardId": "abc123",
"includeCancelled": true,
"includeCompleted": true,
"isResumable": true
}Response
{
"data": {
"smartFlexOnboardingWizards": [
{
"id": "abc123",
"resumable": SmartFlexResumable,
"deviceType": "BATTERIES",
"displayName": "abc123",
"backendScreen": ComponentListType,
"currentStep": SmartFlexOnboardingStepInterface,
"completedSteps": SmartFlexOnboardingStepInterface
}
]
}
}thirdPartyViewer
Type:ThirdPartyOrganizationType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The currently authenticated third party.
This field requires the Authorization header to be set.
Query
query ThirdPartyViewer {
thirdPartyViewer {
name
permissions {
...ThirdPartyPermissionFragment
}
}
}Response
{
"data": {
"thirdPartyViewer": {
"name": "abc123",
"permissions": [ThirdPartyPermission]
}
}
}userVehicles
Type:[UserVehiclesType]
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
A list of vehicles available to the user.
Note: If the API returns an empty list, there might be a delay between the vehicle being registered in the provider's system, and data being fetched from the vehicle's manufacturer. In such cases, the query should be retried after a few seconds.
The possible errors that can be raised are:
- KT-CT-4314: Unable to get provider details.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'userVehicles' field is deprecated.
Please use 'startSmartFlexOnboarding' instead.
- Marked as deprecated on 2025-10-30.
- Scheduled for removal on or after 2026-04-30.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/608/
Arguments
| Name | Description |
|---|---|
| |
| The provider used to authenticate the device (default Enode). |
| The authentication details required given the chosen provider. |
Query
query UserVehicles(
$accountNumber: String,
$supportedProvider: ProviderChoices,
$authentication: AuthenticationInput
) {
userVehicles(
accountNumber: $accountNumber,
supportedProvider: $supportedProvider,
authentication: $authentication
) {
vehicleId
information {
...VehicleInformationTypeFragment
}
}
}Variables
{
"accountNumber": "abc123",
"supportedProvider": "BYD",
"authentication": AuthenticationInput
}Response
{
"data": {
"userVehicles": [
{
"vehicleId": "abc123",
"information": VehicleInformationType
}
]
}
}vehicleChargingPreferences
Type:VehicleChargingPreferencesType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
Vehicle charging preference details.
The possible errors that can be raised are:
- KT-CT-1111: Unauthorized.
- KT-CT-4339: Your device charging preferences could not be fetched.
- KT-CT-1113: Disabled GraphQL field requested.
Deprecated
The 'vehicleChargingPreferences' field is deprecated.
Please use 'devices.preferences' instead.
- Marked as deprecated on 2024-04-23.
- Scheduled for removal on or after 2026-03-01.
You can read more about this deprecation on:
https://announcements.kraken.tech/announcements/public/675/
Arguments
| Name | Description |
|---|---|
|
Query
query VehicleChargingPreferences($accountNumber: String!) {
vehicleChargingPreferences(accountNumber: $accountNumber) {
weekdayTargetTime
weekdayTargetSoc
weekendTargetTime
weekendTargetSoc
minimumSocPercentage
maximumSocPercentage
}
}Variables
{
"accountNumber": "abc123"
}Response
{
"data": {
"vehicleChargingPreferences": {
"weekdayTargetTime": "abc123",
"weekdayTargetSoc": 1,
"weekendTargetTime": "abc123",
"weekendTargetSoc": 1,
"minimumSocPercentage": 1,
"maximumSocPercentage": 1
}
}
}viewer
Type:AccountUserType
URL:https://api.resiflexeu-kraken.systems/v1/graphql/
The currently authenticated user.
This field requires the Authorization header to be set.
Query
query Viewer {
viewer {
id
number
accounts {
...AccountInterfaceFragment
}
givenName
familyName
email
mobile
landline
title
pronouns
isDeceased
liveSecretKey
createdAt
permissions {
...AccountUserPermissionFragment
}
displayName
firstName
lastName
fullName
preferredName
isActive
address {
...RichAddressTypeFragment
}
portfolioId
portfolioIds
portfolios {
...PortfolioConnectionTypeConnectionFragment
}
businesses {
...BusinessConnectionTypeConnectionFragment
}
specialCircumstances {
...SpecialCircumstancesTypeFragment
}
preferences {
...AccountUserCommsPreferencesFragment
}
dateOfBirth
label
landlinePhoneNumber
alternativePhoneNumbers
hasFamilyIssues
isInHardship
accountUserRoles {
...AccountUserRoleTypeFragment
}
portfolioUserRoles {
...PortfolioUserRoleTypeFragment
}
details {
...AccountUserDetailTypeFragment
}
consents {
...ConsentTypeFragment
}
paymentMethods {
...PaymentInstructionConnectionTypeConnectionFragment
}
}
}Response
{
"data": {
"viewer": {
"id": "abc123",
"number": "abc123",
"accounts": AccountInterface,
"givenName": "abc123",
"familyName": "abc123",
"email": "abc123",
"mobile": "abc123",
"landline": "abc123",
"title": "abc123",
"pronouns": "abc123",
"isDeceased": true,
"liveSecretKey": "abc123",
"createdAt": "2020-01-01T00:00:00.000Z",
"permissions": [AccountUserPermission],
"displayName": "abc123",
"firstName": "abc123",
"lastName": "abc123",
"fullName": "abc123",
"preferredName": "abc123",
"isActive": true,
"address": RichAddressType,
"portfolioId": "abc123",
"portfolioIds": ["abc123"],
"portfolios": PortfolioConnectionTypeConnection,
"businesses": BusinessConnectionTypeConnection,
"specialCircumstances": SpecialCircumstancesType,
"preferences": AccountUserCommsPreferences,
"dateOfBirth": "2020-01-01",
"label": "abc123",
"landlinePhoneNumber": "abc123",
"alternativePhoneNumbers": ["abc123"],
"hasFamilyIssues": true,
"isInHardship": true,
"accountUserRoles": [AccountUserRoleType],
"portfolioUserRoles": [PortfolioUserRoleType],
"details": [AccountUserDetailType],
"consents": ConsentType,
"paymentMethods": PaymentInstructionConnectionTypeConnection
}
}
}