As part of the redesign, we have removed CSV download links from the UI. Existing CSV download URLs continue to work, and automated use cases will not be interrupted. These CSVs will be deprecated once we release the upcoming capabilities API, which will provide a more reliable and structured way to integrate capabilities data programmatically.
Huawei Support: IDLE Mode
Released
Update
Support for setting operation mode IDLE on Huawei batteries is now added.
IDLE mode allows to enforce the battery into an a state where it maintains its current state of charge.
EV Charger Pairing: Now in Beta
Released
Update
EV Charger Pairing automatically pairs a user's vehicle and charger, unifying control through the Vehicle API to overcome vehicle limitations, increase reliability, and expand the reach of your managed charging programs.
A core component of EV Charger Pairing is the EV System, a logical system that augments the Vehicle API and is:
Created once as a vehicle and charger are linked to the same user, immediately unlocking vehicle capabilities (like startCharging for incapable vehicles).
Activated when the two devices are physically plugged into one another, enabling unified steering, synchronized charging state, and returning the pluggedInChargerId and pluggedInVehicleId.
Increase your market reach: Start onboarding users whose vehicles are otherwise incapable for managed charging by leveraging the capabilities of their charger. You no longer need to turn away customers due to their choice of vehicle.
Improve control performance and reliability: Even for capable vehicles, a paired charger provides faster plug-in detection and a fallback for control commands to improve reliability.
Capture more flex value: More reliable data and controls enables more sophisticated flex optimizations and value capture.
Simplify integration: Offload the complexity of pairing logic, merging data, and control routing across a large range of unique devices to Enode so that you can focus on your core product.
Key features that were previously available to Early Adopters are now available to all customers including:
Unlocked capabilities: You can unlock startCharging, stopCharging and location capabilities for incapable vehicles through the paired charger.
Unified control: We offload the complexity of pairing logic, data merging, and control routing. You only need to interact with the Vehicle API to manage both assets.
Enhanced performance and reliability: By orchestrating commands across both assets, we ensure the highest possible success rate and provide a seamless fallback if one of the devices is offline. You also benefit from faster plug-in detection and unified charge state.
We have also rolled out a number of bug fixes, product improvements and made it easier for customers to start integrating and testing the solution including:
Full sandbox support: You can now use Sandbox to test your integration before moving to production. We've added support for managing locations and the common pairing/unpairing flows.
A new product guide: We have published a comprehensive and completely revamped Product Guide to our public documentation. This guide walks you through the entire process, from initial integration steps to full production rollout.
EV Charger Pairing is now enabled by default for all new and most of our existing customers on API version 2024-10-01. We first recommend diving straight into our comprehensive Product Guide.
PLEASE NOTE: We've disabled certain features for some customers
To mitigate any risk of disruption for customers who 1) link both vehicles and chargers AND 2) directly control those chargers via our API, we have proactively disabled certain EV Charger Pairing features across all of your API clients. This includes capability unlocking and command orchestration features.
The features released to all customers, including returning the pluggedInChargerId and pluggedInVehicleId on the Vehicle and Charger endpoints respectively and improved charge rate handling, will continue to work as they did before.
Please contact your Customer Success Manager or Support if you would like to enable the full EV charger pairing solution.
Need help integrating?
For technical questions & bug reports, report issues through Zendesk. We're actively developing EV Charger Pairing and welcome your feedback to help shape its future.
FOXESS Support: IDLE Mode
Released
Update
Support for setting operation mode IDLE on FoxESS batteries is now added.
IDLE mode allows to enforce the battery into an a state where it maintains its current state of charge.
Updated Android Link SDK
Released
Update
Improved stability
The 1.0.6 release of the Android SDK improves handling of OAuth flows powered by our partners.
Virtual accounts let you simulate real-world OEM accounts in Sandbox, including multi-device setups, for more realistic integration testing
Virtual accounts are now available in Sandbox, giving you a realistic way to test how OEM accounts behave in production.
With virtual accounts, you can recreate any real-world device setup and test every stage of the linking process, from connecting accounts to managing devices after linking.
You can:
Create accounts with one or many devices across asset types such as vehicles, batteries, and chargers
Automatically link all devices in an account to a user, or retrieve credentials to test linking using LinkUI
Add or remove devices after linking to simulate real-world API behavior
To try it out, head to your dashboard and open the Virtual accounts section on your Sandbox client. ➡️ Read the Sandbox guide to learn more
New unified API support for solar inverters and home batteries: The HEM System (Beta)
Released
Update
A single API endpoint for home energy insights that reports accurate, synchronized data for energy flows behind-the-meter
The Home Energy Management (HEM) System models how energy devices work together in the real world. It links a user’s inverter, battery, and meter into one synchronized system within the Enode API - laying the foundation for consistent, end-to-end energy insights.
Instead of leaving our customers with the task to turn devices that belong together into a system, we solve it for them by providing system level data, insights and statistics in one easy to use and central API: The HEM System
Energy metrics: Easy access to solar generation, household consumption, grid imports/exports, and battery charge/discharge data.
Synchronized data collection: All devices are polled together, ensuring consistency across generation, consumption, and storage metrics.
Comprehensive statistics: Access detailed time series data with 5–15 minute resolution (vendor dependent).
Simplified development: A single API endpoint for complete home energy insights that match what users see in vendor apps.
Optimization-ready data: Accurate, synchronized data enables both behind-the-meter and grid-level optimization strategies.
The HEM System is currently in beta and supported for Enphase, FoxESS, GivEnergy, Huawei, SMA, SolarEdge, Solax, Solis, and Tesla on API version 2024-10-01 and later.
Interested in testing these features and helping us shape this solution? Inquire with your Customer Success Manager about joining our beta.
New battery operation mode: IDLE
Released
Update
Maintain a specific state of charge over time with IDLE mode for batteries
Setting a battery into IDLE mode enables battery optimization use cases such as:
Prevent the battery from discharging to cover household load - this is useful to shift discharging to a later point in time, for example when prices are high.
Prevent the battery from charging from solar - This is useful to ensure free battery capacity is available at a later point in time, for example when prices are low. Solar will continue to produce as normal, but the battery will not charge from it.
IDLE mode is an important building block when optimizing batteries. Our initial release adds support for SolarEdge and Solis (hybrid) inverters connected to a battery. We are working towards supporting more vendors soon.
To learn more, please visit our API documentation on battery modesAPI.
Fullscreen support: iOS Link SDK
Released
Update
The Link UI modal in the iOS Link SDK now supports fullscreen presentation style
The 1.0.7 release of the iOS SDK brings full screen support for Link UI.
You can now choose between the following presentation styles:
Enhanced Find by ID with a clearer interface, helpful search hints, and support for VIN lookups to increase successful searches
The Find by ID feature has been refined to increase successful searches and provide clearer guidance when no results are found. Enhancements include:
Built-in support for search by VIN
A revamped UI that makes the process clearer and more intuitive
Context-aware hints for cases such as attempting to search under an unintended client account, looking up users without associated assets, or entering familiar terms like vendor names instead of IDs
Garo, Keba and Heidelberg chargers are now generally available
Released
Update
We are removing the beta label from Garo, Keba and Heidelberg chargers
The integrations have been stable for several months. These assets can now be linked to all Enode clients without manual activation.
EV Charger Dynamic Pairing - Seamless Vehicle and Charger Orchestration
Released
Update
Unified control and unlocked capabilities are now available to Early Adopters on an opt-in basis.
Linking a charger to the same user immediately unlocks previously unavailable vehicle capabilities:
Charging control: Vehicles gain isCapable: true for startCharging and stopCharging the moment a charger is linked
Location detection: Vehicles gain isCapable: true for location when it can be inferred from the charger
Smart Charging eligibility: Vehicles that previously lacked control capabilities are now eligible for Smart Charging
By leveraging these unlocked capabilities, customers can expand the market reach of their managed EV charging programs.
Interested in testing these features and helping us shape this solution? Inquire with your Customer Success Manager about joining our Early Adopter Program.
Expanded Support: Solis Batteries and Meters
Released
Update
Expanded support for Solis
Solis battery and meter asset types are now ready for beta testing.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
All Beta device models now have N/A reliability scores
Released
Update
We've updated the reliability score for all Beta integrations to "N/A" to maintain consistency and ensure reliability scores are only published when backed by sufficient data.
As part of our commitment to providing accurate and meaningful reliability scores, we will now always mark Beta models as having an "N/A" reliability score. Beta models by definition are newer where we don't have the typical data needed to assign a reliability score.
This policy ensures consistency across our platform and avoids presenting scores that may not reflect real-world performance due to limited data. Our goal is to move models out of Beta as soon as possible and only assign a reliability score once we've gathered enough data to feel confident in its accuracy.
EV Charger Dynamic Pairing
Released
Update
Flexibility-focused products, such as electricity tariffs that rely on managed EV charging, are limited by unreliable and/or incapable EV APIs as well as the additional complexity of integrating smart chargers, restricting their market reach.
To solve this, our new EV Charger Dynamic Pairing solution automatically detects when a user's vehicle is plugged into their charger, forming a dynamic charging pair that can be fully controlled via the vehicle API. Once your user links both their vehicle and charger, you can overcome capability limitations, improve charging reliability, and simplify your integration by letting Enode handle the complex pairing logic and command orchestration between the two devices.
We have released foundational components to EV Charger Dynamic Pairing for all customers. Starting today:
Charger identification:Vehicle APIAPI responses now include a new attribute, pluggedInChargerId, identifying which of a user's chargers is currently plugged into their vehicle. By default, this attribute will be null and will only be populated if:
The charger and the vehicle are linked to the same Enode userId.
AND Enode has determined that the vehicle and charger are currently plugged into each other.
Improved charge rate handling: When a vehicle doesn't report a chargeRate, we now automatically fall back to using the charger's provided rate, giving you consistent and accurate charging information.
Faster plug-in detection: Reduced plug-in detection time by leveraging direct signals from the charger.
More advanced features coming soon! Interested in using chargers to control previously incompatible vehicles or to further increase command reliability? Get exclusive, early access to these features by joining our Early Adopter Program. You will collaborate closely with our product team and help shape the future of this solution. Enquire with your Customer Success Manager about joining.
New languages supported in Interventions API and Link UI
Released
Update
New languages supported in the Interventions API and Link UI
You can now request a linking session with the following language codes to present the LinkUI in additional languages:
Latvian (lv-LV)
Lithuanian (lt-LT)
Japanese (ja-JP)
Polish (pl-PL)
To use this feature, set the language attribute to the desired code when creating a linking session.
Additionally, interventions will now also be available in these languages. Set the language query parameter accordingly when fetching interventions to receive the resolution descriptions in the selected language.
Expanded Vehicle Support: BYD Australia
Released
Update
Expanded support for BYD vehicles in Australia
BYD vehicles are available for beta testing in Australia. These vehicles are "read only", meaning they cannot be started or stopped.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Asset History (beta)
Released
Update
Asset History gives your team a clear view of what happened with a vehicle and when, so they can resolve issues independently and with context.
Asset History lets you see a chronological timeline of events for each vehicle. It includes charging actions, power delivery changes, and interventions – so you can understand how a vehicle has been used and identify the root cause of issues faster.
Use it to:
Trace the full sequence of events for any vehicle
Understand how vehicles are being used and controlled over time
View failed charging actions and interventions with rich detail
Spot and resolve integration issues early
How to find it: Simply head to your dashboard, use Find by ID to locate a vehicle asset, and click “History” in the top-right corner of the Asset View.
Note: This is a beta release. We'd love your feedback to help shape what comes next. You can share it directly through the built-in feedback form in the Asset History view or reach out to your Enode contact.
Expanded Vehicle Support: BYD
Released
Update
New beta support for BYD vehicles in Europe
BYD vehicles are available for beta testing in Europe.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
FOXESS Support: Set operation mode for batteries
Released
Update
Support for setting operation mode on Foxess batteries is now added.
Expanded Vehicle Support: Dacia and Alpine
Released
Update
New beta support for Dacia and Alpine vehicles.
Dacia and Alpine vehicles are now available for beta testing.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate them.
SolaX Batteries and Meters support
Released
Update
SolaX batteries and meters are now available for beta testing.
Zaptec model name updates
Released
Update
Routine maintenance to remove redundant "Zaptec" prefixes from device names.
As part of ongoing system maintenance, we've cleaned up Zaptec device model names to remove redundant prefixes in the information.model field in our API. Your devices will now display with simpler names for improved readability. For example, information.model values that were previously Zaptec Go will now simply be Go.
Dashboard Insights (Beta)
Released
Update
Insights provides analytics on your connection data to help you monitor connection growth, detect issues, empowering product teams to optimize more effectively.
Insights is a new section in the customer dashboard that gives you a clear overview of your integration health — with aggregated data on connection growth, connection mix, and potential issues. It's designed to support faster decision-making and increase visibility across technical and product teams.
With Insights, you can:
View week-over-week trends in connections and interventions
Drill down into specific metrics by asset type and vendor
Pin your most important insights for quick weekly check-ins
Access Enode's expert guidance directly alongside the data
Note: This is a beta release. We'd love your feedback to help shape what comes next — you can share it directly through the built-in feedback form in the dashboard or reach out to your Enode contact.
To explore Insights, head to your dashboard and open the Insights tab.
Support for integrating with FOXESS batteries and meters is added.
FOXESS batteries and meters are now available for beta testing. Please note that the support for setting operation mode on batteries is pending. We are working on it and will update the changelog once ready.
Asset View for production clients
Released
Update
Asset View provides real-time asset data to help you quickly resolve customer issues and conduct thorough QA on new features
Asset View provides real-time asset data to help you quickly resolve customer issues and conduct thorough QA on new features, empowering you to work faster and support users more effectively.
With Asset View, you can:
Find any asset quickly given the asset ID or user ID
View real-time asset states and live/historical webhook data
See automatic issue warnings that flag common problems
Escalate to Enode with confidence, using Zendesk integration and auto-filled ticket data.
To access asset view, go to your dashboard and select a production client.
Deprecation Notice: Sandbox 1 decommissioning on 4 September 2025
Released
Update
Check your setup to ensure your integration continues running smoothly.
We're retiring Sandbox 1, and after 4 September 2025, it will no longer be available.
To avoid disruptions, please check whether your integration is using Sandbox 1 clients and migrate to our new Sandbox environment if needed.
To verify your setup, log in to your customer dashboard and check your clients. Sandbox 1 clients are labeled "Sandbox (legacy)" in the dashboard overview.
Update your API credentials: Replace your Sandbox 1 client ID and secret with your new Sandbox client credentials.
Adjust authentication flow: In the new Sandbox, users must log in using an email/password from a virtual asset (manual logins are not supported).
Check dependencies: If you have automated tests or integrations relying on Sandbox 1, they may require updates—especially if they interact with Link UI.
Please complete your migration by 2 June to prevent service disruptions.
GivEnergy now generally available
Released
Update
We are removing the beta label from the vendor
The integration has been stable for several months. GivEnergy assets can now be linked to all Enode clients without manual activation.
The new Sandbox has arrived!
Released
Update
A brand new Sandbox experience offering full control and coverage of asset types.
Our new Sandbox experience offers a simpler, faster and more reliable way to test your Enode integration with fully controllable virtual assets.
Expanded coverage: Sandbox now supports all asset categories. Create and control vehicles, batteries, and other asset types.
Full control: Modify asset states instantly to simulate real-world conditions. You can now control the full asset state.
Webhook integration: Monitor live updates and changes directly in the Sandbox UI.
Intervention simulations: Test interventions and their effects on assets in a controlled environment.
Learn more about how to use Sandbox for building and testing energy apps in our Sandbox guide.
New Relinking Endpoint
Released
Update
New functionality for reconnecting assets or resolving interventions
We are introducing a new relinking endpoint. Integrating with this endpoint allows you to:
Resolve interventions which require user interaction within LinkUI
Reconnect a device which Enode no longer has access to
Link UI can now link multiple types of assets at once
Sometimes linking a single asset type is not enough. When your customer owns multiple asset types from the same vendor, Link UI can now be configured to link all of them at once in a single session. This can significantly reduce friction for users by helping to consolidate linking flows and to get devices connected to your app faster.
Multi-type linking is particularly useful when connecting solar inverters, batteries and meters or when connecting other vendors with a wide range of devices supported by Enode.
To learn everything about it, please visit our documentation.
Charger Serial Numbers
Released
Update
Chargers: Add serial number
Soon, our Get Chargers API and webhooks will show the serial number of a connected charger.
We're exposing a nullable attribute inside the information object, under information.serialNumber.
Reach out to us if you'd like to opt-in early.
Expanded Inverters Support: Afore
Released
Update
New beta support for Afore solar inverters
Afore integration is available for beta testing.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Link SDK 1.0.5 for iOS
Released
Update
Enode Link SDK for iOS received a patch update and reached version 1.0.5
The 1.0.5 release of the iOS SDK brings fixes for redirect URI values requiring encoding. We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0 versions. Get the 1.0.5 iOS SDK from our documentation:
We are excited to announce that support for integrating with Heidelberg chargers is now in beta.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Removal of Default Vehicle Charge Limit Value
Released
Update
The default charge limit for vehicles is no longer always 100%
Previously, the default charge limit for vehicles was always 100%. When Enode wasn't able to determine the charge limit, it would default to 100%.
This has now been changed. When Enode isn't able to determine the charge limit, it will now default to null. This indicates that the vehicle isn't reporting a charge limit, or Enode isn't able to determine what it is. If you are using this value in calculations, we still recommend defaulting to 100%. However, a default 100% should not be presented in user interfaces.
GivEnergy support
Released
Update
New beta support for GivEnergy solar inverters, batteries and meters
Our GivEnergy support is available for beta testing.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Expanded Vehicle Support: Acura
Released
Update
New beta support for Acura vehicles in North America.
Acura vehicles are available for beta testing in North America.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Integrations endpoint
Released
Update
List supported vendor integrations and scopes per asset type
To check available vendor integrations for one or more assetTypes, we are adding a new "/integrations" endpoint.
This makes it convenient to check support and scopes across asset types for our vendor integrations. It reduces the need for multiple requests to "/health/<assetType>" for different asset types.
Enphase Battery Export Focus
Released
Update
Enabled EXPORT_FOCUS mode for supported Enphase batteries
Enphase batteries with the ability to configure a timer for discharging to the grid are now marked as EXPORT_FOCUS capable and can be switched into that mode.
We'll update the capabilities table as we learn more about which Enphase batteries are capable of discharging to the grid.
Solaredge Battery Control
Released
Update
Ability to set Solaredge battery operation modes has been added.
We have added support for controlling the operation modes of Solaredge batteries.
Check the capabilities object in the battery response to determine which operation modes are supported by the linked battery.
Expanded Vehicle Support: Lucid
Released
Update
New beta support for Lucid vehicles in Europe and North America.
Lucid vehicles are available for beta testing in Europe and North America.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Expanded Vehicle Support: NIO
Released
Update
New beta support for NIO vehicles in Europe.
NIO vehicles are available for beta testing in Europe.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Link SDK 1.0.3 for iOS
Released
Update
Enode Link SDK for iOS received a patch update and reached version 1.0.3
The 1.0.3 release of the iOS SDK brings fixes for linking Nibe devices. We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0 versions. Get the 1.0.3 iOS SDK from our documentation:
New beta support for Polestar (Europe and North America) vehicles.
Polestar vehicles are now available beta for Europe and North America. These vehicles are "read only", meaning they cannot be started or stopped.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Expanded Vehicle Support: Chrysler, Dodge, Ram, Alfa Romeo, and Lancia
Released
Update
New beta support for Chrysler, Dodge, Ram, Alfa Romeo, and Lancia vehicles.
Chrysler, Dodge, and Ram vehicles are now available for beta testing in North America. Alfa Romeo is available for beta testing in both North America and Europe. Finally, Lancia vehicles are available for beta testing exclusively in Europe.
To opt-in, please activate the desired brands in the enabled-brands section under your Enode client.
Expanded Charger Support: myenergi
Released
Update
myenergi now available for Beta testing.
We are excited to announce that support for integrating with myenergi chargers is now in beta.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Expanded Vehicle Support: Mazda
Released
Update
New beta support for Mazda (Europe and North America) vehicles.
Mazda vehicles are now available in beta for Europe and North America.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Expanded Vehicle Support: Honda and MG
Released
Update
New beta support for Honda (North America) and MG (Europe) vehicles.
Honda vehicles are now available in beta for North America, and MG vehicles are supported in Europe.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Keba Charger Support Added
Released
Update
Keba chargers are now available for Beta testing.
We've expanded charger linking support to include Keba.
To opt-in, please update the enabled-brands section in your Enode client and toggle Keba.
Expanded Charger Support: Hypervolt
Released
Update
Hypervolt now available for Beta testing.
We are excited to announce that support for integrating with Hypervolt chargers is now in beta.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Volvo EX (formerly Recharge) Model Support
Released
Update
Volvo EX models are now supported.
Volvo EX models can now be linked to Enode. These vehicles are "read only", meaning they cannot be started or stopped.
To opt-in, please reach out to your Enode contact, or send us a ticket at support@enode.io.
Huawei Battery Control
Released
Update
Ability to set Huawei battery operation modes has been added.
We have added support for controlling the operation modes of Huawei batteries.
Check the capabilities object in the battery response to determine which operation modes are supported by the linked battery.
Expanded Vehicle Support: Subaru
Released
Update
Subaru now available for Beta testing in North America and Europe.
We are excited to announce EU and US support for integrating with Subaru vehicles is now in beta.
To opt-in, please navigate to the enabled-brands section under your Enode client and activate it.
Expanded Vehicle Support: Fiat and Jeep
Released
Update
Fiat now supported in North America, Jeep Beta testing now available.
Vehicle linking support has been expanded to include Fiat in North America. Jeep is now available for Beta testing in both North America and Europe.
For detailed information on supported regions and models, refer to Vehicle capabilities.
To enable Jeep support, navigate to the enabled-brands section under your Enode client.
Link SDK 1.0.2 for iOS
Released
Update
Enode Link SDK for iOS received a patch update and reached version 1.0.2
The 1.0.2 release of the iOS SDKs brings improved memory management.
We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0 versions.
New power delivery state: `PLUGGED_IN:DISCHARGING`
Released
Update
New power delivery state `PLUGGED_IN:DISCHARGING` added.
A new state PLUGGED_IN:DISCHARGING has been added to the PowerDeliveryState enum. This state indicates that the vehicle or charger is actively discharging power to the home/grid, causing the battery level to decrease.
Version 2024-10-01
Released
Breaking changesNew version
Improved Inverter Statistics. Standardize location attributes across assets
New features
HVACs: Report Unknown as mode if the mode is currently not available or not supported.
Inverters: Expose the serial number under information.sn.
Inverters: Improvements to Inverter Statistics, stats are now collected directly from vendor APIs.
Endpoint
Description
GET /inverters/{inverterId}/statistics
Returns statistics about power production for the given inverter in the form of a time series, collected from vendor APIs. Note: Existing inverters linked to Enode are currently being migrated to be compatible with this new endpoint. Until this is complete, you may see empty responses for inverters linked on an older API version.
Breaking changes
Enums no longer versioned:
Adding values to an existing enum is no longer considered a breaking change.
Every asset now has a location object with at least an id and a timestamp. The top-level locationId has been moved under this object. Specifically, the following has changed:
Batteries: Top level locationId has been moved to location.id
Batteries: Added location.lastUpdated
Inverters: Top level chargingLocationId has been moved to location.id
Inverters: Added location.lastUpdated
Hvacs: Top level locationId has been moved to location.id
Hvacs: Added location.lastUpdated
Chargers: Top level locationId has been moved to location.id
Vehicle: Top level locationId has been moved to location.id
The following changes have been made to problem responses. See this documentationAPI for more details.
For some problem responses, the API would return duplicated fields error and message. These are no longer included. type and detail should be used instead.
The contents of the type field has changed. Specifically, the subdomain has changed from docs.enode.io to developers.enode.com. For example, https://docs.enode.io/problems/bad-request becomes https://developers.enode.com/api/problems/bad-request.
Interventions may now be brand agnostic. We recommend styling your UI using the domain attribute, and filling in brand-specific information if present. Specifically:
The vendor, brand, or vendorType fields may be null.
As indicated by the openapi schema, all three fields will be present or null.
The following deprecated fields have been removed:
Hvacs: Deprecated attributes mode, heatSetpoint, coolSetpoint, holdType, isActive, and currentTemperature have been removed. Use their replacements under the temperatureState object instead.
Hvacs: Deprecated attribute capabilities.capableHoldTypes has been removed. Instead of checking for the presence of the hold type in the array, use capabilities.setFollowSchedule or capabilities.setPermanentHold instead.
Smart Vehicle Plan: Deprecated attribute externalStart. Instead, use the smartOverride field on the Smart Charge Status object.
Smart Vehicle Plan: Deprecated attribute chargingLocationId has been removed. Use locationId instead.
The following deprecated endpoints have been removed:
Endpoint
Description
PUT /webhooks/firehose
Removed. Use /webhooks resources instead.
DELETE /webhooks/firehose
Removed. Use /webhooks resources instead.
POST /webhooks/firehose/test
Removed. Use /webhooks resources instead.
The following endpoints have been deprecated:
Endpoint
Description
GET /users/{userId}/statistics/production
Deprecated. Use the new Inverter Statistics endpoint.
GET /users/{userId}/vendor-statistics
Deprecated. Use the new Inverter Statistics endpoint.
Pass 2024-10-01 as your version header to use this new version.
Schneider Electric Chargers support
Released
Update
Beta support for Integrating with Schneider Electric chargers using Wiser Home is added
We are excited to announce that support for integrating with Schneider Electric chargers using Wiser Home is now in beta.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Improved linking of devices under the same account
Released
Update
Linking all your devices from one account? We removed the need for tediously repeating the login process in subsequent link sessions.
Users often own multiple energy devices from the same vendor. For example, home energy devices such as solar inverters, batteries, or meters are frequently purchased together as a package, with their API access managed under a single vendor account.
To improve the linking process of different devices under the same account, we have enabled the re-use of vendor authentication across different device categories. Users after the initial linking flow, are able to skip repeating the same step of entering credentials with all subsequent sessions with LinkUI automatically using the previously granted authorization of the vendor account. This reduces friction and enhances the overall user experience.
SMA Meters support
Released
Update
Support for integrating with SMA meters is added.
SMA support is enabled by default. You can disable SMA in the enabled-brands section under your Enode client.
SMA Batteries support
Released
Update
Support for integrating with SMA batteries is added.
SMA support is enabled by default. You can disable SMA in the enabled-brands section under your Enode client.
Security: Webhook IP addresses
Released
Update
Customers can now fetch a list of origin IPs for Webhooks.
These IPs can be used for additional verification or allowlists. More in the Webhooks docs.
Vendor sign-in available for BMW / MINI
Released
Update
BMW / MINI now supports the `Vendor sign-in` feature
Vendor sign-in is now available for BMW and MINI vehicles for a more streamlined authentication flow.
Note that an SDK version of 1.0.2 or higher is required to use this feature in Android. For iOS, the minimum required SDK version is 1.0.0.
SolarEdge Batteries support
Released
Update
Support for Integrating with SolarEdge batteries is added
The integration currently only enables Information capabilities for these batteries and does not allow controlling of modes. To opt-in, please navigate to the enabled-brands section under your Enode client.
Micromatic now generally available
Released
Update
We are removing the beta label from the vendor
The integration has been stable for several months. Micromatic HVACs can now be linked to all Enode clients without manual activation.
Garo Chargers support
Released
Update
Support for Integrating with Garo chargers is added
We are excited to announce that we added support for integrating with Garo chargers.
To opt-in, please navigate to the enabled-brands section under your Enode client.
SolarEdge Meters support
Released
Update
Support for Integrating with SolarEdge meters is added
We are excited to announce that we added support for integrating with SolarEdge meters.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Hyundai Bluelink Australia vehicle support
Released
Update
Support for Integrating with Hyundai Bluelink vehicles in Australia is added
We are excited to announce that we added support for integrating with Hyundai Australia vehicles.
Huawei Batteries & Meters support
Released
Update
Support for Integrating with Huawei batteries and meters is added
We are excited to announce that we added support for integrating with Huawei batteries and meters.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Dutch (Belgium) support
Released
Update
Now supporting Dutch (Belgium) in the Interventions API and Link UI
You can now request a linking session with the nl-BE language code to present the LinkUI in Dutch (Belgium). To use this feature, set the language attribute to nl-BE when creating a linking session.
Additionally, interventions will now be available in Dutch (Belgium) as well. Similarly, set the language query parameter to nl-BE when fetching interventions to receive the resolution descriptions in Dutch (Belgium).
Ohme charger support
Released
Update
Support for integrating with Ohme chargers is added
We are excited to announce that we added support for integrating with Ohme chargers.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Added support for MyŠkoda app
Released
Update
The new MyŠkoda app is now supported
Customers can now pick between MyŠkoda and MyŠkoda Essentials when linking their accounts. We expect Škoda to migrate their vehicles away from MyŠkoda Essentials.
Auto-link vehicles in Sandbox 2
Released
Update
Newly created vehicles in Sandbox 2 can now be automatically linked
During the creation of a virtual vehicle you can now choose to automatically link it to a user. You can chose to link it to an existing user ID or let Sandbox create a new user ID for you automatically. This will save you time and make it easier to test your integration with Enode.
Battery Discharge Limit
Released
Update
Battery discharge limit added to battery information
The configured battery discharge limit is now available under chargeState.dischargeLimit. This value can be used to determine whether the battery will discharge.
Vehicle Display Names
Released
Update
Vehicle display names are now included in the Asset API
User-defined vehicle nicknames are now surfaced in our Vehicle Asset API under information.displayName. These display names are easily recognizable by users and can be used to identify vehicles in your app.
Link SDKs Required to Link Ford
Released
Update
Ford is now only available through the Link SDKs
Ford vehicles can now only be linked using the Enode Link SDKs. This is because Ford has a new authentication flow that requires the use of the Vendor sign-in feature in the Link SDKs.
Netatmo HVAC support
Released
Update
Support for integrating with Netatmo HVACs is added
We are excited to announce that we added support for integrating with Netatmo HVACs.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Made spec more compatible with OpenAPI client generators
Released
Update
Our spec is not yet fully compatible with popular OpenAPI client generators such as openapi-generator, but we are making progress towards that goal.
2024-05-16: Previously, code generated from our spec by openapi-generator and similar tools would attempt to pass pagination parameters as a single field query param, e.g. ?field={"after": "abc"} or ?field[after]=abc, neither of which are accepted by our API. After removing explode: true, code produced by openapi-generator is now passing pagination params correctly: ?after=abc&pageSize=50.
2024-05-16: Ensured that all paginated endpoints correctly document their query parameters.
2024-05-21: Inlined nullable timestamps and HourMinute since allOf: [{ $ref }, { description }] was not supported by openapi-generator.
FoxESS Fox Cloud support
Released
Update
Support for Integrating with FoxESS inverters using Fox Cloud is added
We are excited to announce that we added support for integrating with FoxESS inverters using Fox Cloud.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Tesla Charger support
Released
Update
Support for Integrating with Tesla Wall Connector chargers is added
We are excited to announce that we added support for integrating with Tesla Wall Connector chargers.
To opt-in, please navigate to the enabled-brands section under your Enode client.
Redirect URI validation in Link UI v4
Released
Update
`about:blank` is no longer allowed as a redirect URI in Link UI v4
The about:blank URI scheme is no longer permitted as a redirect URI for Link UI v4. This change is to prevent errors with respect to Tesla linking.
Fronius Charger support
Released
Update
Support for Integrating with Fronius Wattpilot chargers is added
We are excited to announce that we added support for integrating with Fronius Wattpilot chargers.
Sol-Ark support
Released
Update
Support for Integrating with Sol-Ark inverters is added
We are excited to announce that we added support for integrating with Sol-Ark inverters.
Improved Cleanup of EV State When Plugging Out
Released
Update
Improved Cleanup of EV State When Plugging Out.
In certain situations our API to stop charging (POST /{assetCategory}/{assetId}/charging) could delay future charging sessions due to flawed state. From now on, Enode will clear any such state when the vehicle is plugged out, ensuring that charging resumes correctly when plugged in.
US support for Toyota and Lexus
Released
Update
US support for Toyota and Lexus added.
We are excited to announce US support for Toyota and Lexus.
Link SDKs 1.0 for Android and iOS
Released
Update
Enode Link SDKs receive a major update and reach version 1.0
The 1.0 releases of both SDKs bring several improvements when linking through Enode:
Rendering of Link UI in fullscreen for a native user experience on mobile devices
For linking and pairing Teslas:
Pairing flow polished with many UX improvements
Automatic selection of vehicle during pairing
Automatic pairing without keycard or other interaction with the vehicle
Gracefully falling back to manual selection or pairing
Improved error handling and retry-flows for pairing
For linking Google Nest and Teslas:
Vendor sign-in for better and faster authentication
We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0 versions.
Behavioral change for charge actions sent to unplugged assets.
Charge Actions sent to unplugged chargers and vehicles will now be rejected with a HTTP 400 Bad Request and no Action will be created. Previously, such Actions would be accepted with a HTTP 200 OK and then transitioned to a CANCELLED state when asynchronously processed. Enode doesn't deliver Charge Actions to Vendor APIs when vehicles or charges are unplugged, and therefore, we believe this change better reflects how our platform handles such actions.
Additional Vendors Activated by Default
Released
Update
Many integrations across different asset categories have become available by default.
With this update, we're taking 15 integrations that previously required an opt-in and are making them available by default. Unless they've been manually disabled in the Developers Dashboard, these brands will be available for linking in LinkUI. We do this periodically when we've determined that these brands are stable and reliable enough to be present in most Link sessions.
Vehicles: Rivian & Mercedes
Meters: Enphase & Tesla
Batteries: Enphase & Tesla
Chargers: GoE
Hvacs: Panasonic & Hoymiles
Inverter: Huawei, Sofar, Solax, Sungrow & Tesla
Note that the Meters and Batteries categories are still in Beta, and may see breaking changes in the future.
Lexus support
Released
Update
Support for Integrating with Lexus vehicles is added
We are excited to announce that we added support for integrating with Lexus vehicles.
Canada support for Hyundai, KIA and Nissan
Released
Update
Canada support for Hyundai, KIA and Nissan added.
We are excited to announce Canada support for Hyundai, KIA and Nissan.
Mitsubishi US, Fox ESS and SunSynk updates
Released
Update
US support for Mitsubishi `kumo cloud` HVACs added. Fox ESS and SunSynk Inverters now in beta.
We are excited to announce US support for Mitsubishi kumo cloud HVAC models. Additionally, we have expanded our inverter lineup by integrating Fox ESS and SunSynk.
Fox ESS and SunSynk are in beta. To opt-in, please navigate to the enabled-brands section under your Enode client and activate them.
Integration with vehicles of XPENG
Released
Update
Added beta support for 5 XPENG models
We added beta support for 5 models of XPENG:
G3i
G9
P5
P7
P7i
To opt-in, please head to the enabled-brands under your Enode client and activate the vendor.
Improved retry logic for actions
Released
Update
State of actions transitions now quicker while maintaining confidence.
We have optimized the retry logic for actions, which enables Enode to terminate unsuccesful actions quicker. The exact timings and re-try logic depends on the vendor. Actions will now transition quicker from PENDING to FAILED or CANCELLED while maintaining the same level of confidence.
Inverter vendor statistics: caching and timezone fixes
Released
Update
Fixed a bug where data was cached for too long, resulting in some responses containing wrong data. Fixed a bug where data returned from Growatt inverters had the wrong timezone. Added stricter input validation.
Endpoints
GET /users/{userId}/vendor-statistics (beta)
GET /inverters/{inverterId}/vendor-statistics (beta)
Fresher data, less aggressive caching
Inverter vendor statistics had a bug where stale data was returned. For example, if energy production for the current day (not yet finished) was requested, the initial value would also be returned for all subsequent requests.
This has been fixed, and real-time data (with in-progress buckets) will now be cached for a maximum of 15 minutes, instead of indefinitely.
Growatt timezone fix
Responses for Growatt inverters had an issue where data was aligned with the wrong timezone, and the data would be shifted by an amount that depended on the startDate parameter of the request. Due to this, we have invalidated all existing cached data for Growatt inverters, so that the correct data will be returned from now on.
Stricter input validation
Additionally, start dates must now start exactly at the beginning of an hour. Previously, it was possible to ask for an hour of data between e.g. 12:30 to 13:30, but this should not have been possible, and the results were unpredictable. Inverters with non-integer timezone offsets are not supported yet.
Ford now opt-in, improved reporting of consumption rate for HVACs
Released
Update
Fixed a bug where HVAC devices reported misleading consumption data, and made Ford opt-in due to reliability issues with the vendor.
Due to reliability issues with the vendor, we have made Ford opt-in. Head to enabled-brands in the settings to switch it on for your clients. Already existing connections are not affected, but to continue linking Ford, opting in is required.
Fixed a bug where some start dates were shifted further back in time, resulting in too many data points in the response.
Start dates not aligned with midnight (UTC), for example 2023-08-03T22:00:00Z, were shifted to 2023-08-03T00:00:00Z, causing the response to include too many data points. All resolutions were affected by this bug. This has been fixed and the start date is no longer shifted.
Fixed endpoints
GET /users/{userId}/vendor-statistics (beta)
GET /inverters/{inverterId}/vendor-statistics (beta)
Additionally, these endpoints are no longer locked behind a feature flag and are now available to all customers.
Improved behavior around invalid credentials / expired oauth authorization token
Released
Update
Introducing new behavior and interventions when credentials become invalid.
Invalid credentials used to cause the automatic deletion of the underlying connected asset(s). From users we have learned that the vast majority of these deletions are involuntary. To address this, and help users to re-gain access to their asset(s), we no longer remove these assets from the system automatically and instead apply an intervention prompting the user to re-link their account.
In the event of invalid credentials or expired oauth authorization token:
Asset becomes unreachable.
A user:credentials:invalidated webhook event is sent.
A Re-link your {asset} to re-enable telemetry intervention gets added and all capabilities become isCapable: false.
GET /users/{userId} will return an array linkedVendors[].isValid where isValid indicates if credentials are valid.
This change avoids data loss around the asset and users can now be guided through re-linking using the interventions.
Version 2024-01-01
Released
Breaking changesNew version
Adds support for Link UI v4, new mobile SDKs and a revamped scopes structure.
This new version supports the new Link UI (v4), the new Link SDKs and introduces revamped scopesAPI and permission flows. For more information about migrating to Link UI v4, please see our migration guide.
All experimental and unused fields have been deprecated, and are no longer supported in Link UI v4. For the full payload documentation, refer to the link userAPI endpoint documentation.
Parameter
Change
Change description
vendorType
Updated
This field is now required.
forceLanguage
Removed
Deprecated, removed and replaced with language.
language
Added
A new required field supporting new i18n locales (e.g. en-US and nb-NO), as well as a browser for defaulting to the user's browser language.
scopes
Updated
This field is now required, and accepts new values as specified in the new scopes sectionAPI in the API reference. Old scopes have been deprecated and migrated to the new scopes (no re-linking is required).
redirectUri
Updated
This field is now required, and will return new error and error_message URL parameters if the user exits the Link UI flow before completing. Additionally, about:blank is no longer allowed. Contact us if your app requires this.
colorScheme
Added
A new optional field for setting the color scheme of Link UI to either light, dark or system (defaults to the user's operating system color scheme). Defaults to system if not specified.
username
Removed
This field was deprecated, and has now been removed.
List the supported meter vendors and their current status.
These new hardware categories are currently in beta. Developers are encouraged to provide feedback and report any issues. Refer to the API referenceAPI for in-depth details and integration steps.
New intervention endpoints
Released
Update
Introducing endpoints to fetch detailed localized information for interventions.
The response contains general information as well as more detailed information about the resolution of the intervention. The resolution description is Markdown formatted and is available in language-localized versions.
Clients can now register and manage multiple webhooks.
Deprecated endpoints:
Deprecated Endpoint
Description
PUT /webhooks/firehose
Replaced by POST /webhooks for creating a webhook and PATCH /webhooks/{webhookId} for updating a webhook
DELETE /webhooks/firehose
Replaced by DELETE /webhooks/{webhookId}
POST /webhooks/firehose/test
Replaced by POST /webhooks/{webhookId}/test
New endpoints:
New Endpoint
Description
POST /webhooks
Create a new webhook
PATCH /webhooks/{webhookId}
Update an existing webhook
GET /webhooks/{webhookId}
Fetch a webhook
GET /webhooks
List all webhooks (paginated)
DELETE /webhooks/{webhookId}
Delete a webhook
POST /webhooks/{webhookId}/test
Trigger a enode:firehose:test payload to be sent to the webhook. This will reset your webhook to a healthy state on success.
Old firehose webhook is still accessible through the deprecated endpoints as well as the new endpoints. Use GET /webhooks to receive its id to start using the new endpoints.
Statistics endpoints interval selection bug fix
Released
Update
Fixed a bug where some end dates were mistakenly "rounded up" to the next hour/day/year,
resulting in extraneous data being included in the response.
Affected endpoints: /users/{userId}/statistics/charging, /statistics/charging, /users/{userId}/statistics/production and /statistics/production.
Before, for DAY resolution, an end date of 2023-08-03T00:00:00Z was rounded up to 2023-08-04T00:00:00Z.
Before, for MONTH resolution, an end date of 2023-08-01T00:00:00Z was rounded up to 2023-09-01T00:00:00Z.
Now, the end date is not rounded up. The same applies for all other resolutions.
To keep backwards compatibility, the old rounding behavior will still be used if the start time is equal to the end time.
Version 2023-08-01
Released
Breaking changesNew version
Clients can now list all their vehicles, chargers and other assets using paginated resources.
1. Breaking Changes
Endpoints:
Endpoint
Description
/vehicles
List all client vehicles, paginated.
/chargers
List all client chargers, paginated.
/hvacs
List all client HVAC units, paginated.
/inverters
List all client inverters, paginated.
/me
Removed. Moved to /users/{userId}.
/charging-locations/*
Removed. Replaced by /locations.
Headers:
Remove Enode-User-Id header. Requests with this header will fail.
Hierarchy Changes:
Introduced /users as the top level for user-related resources due to change in authentication strategy.
Other Changes:
Began renaming chargingLocationId to locationId across endpoints. Remove it entirely from Temperature Schedule.
Remove field from all asset types. Instead, you can now use <assets>/{assetId}/refresh-hint to initiate an accelerated data refresh, ie: /vehicles/{vehicleId}/refresh-hint.
/statistics/charging
Fields smartSession and nonSmartCostSum have been removed.
For non-smart charging, estimatedSavings is set to null.
/statistics/charging/sessions
Fields smartSession and smartStats.nonSmartCostSum have been removed.
The smartStats object has been removed.
The fields estimatedSavings and nonSmartPrice now appear at top level.
For non-smart charging sessions, estimatedSavings is set to null.
Legacy user access tokens are no longer supported on client-scoped resources. If your existing integration calls Enode with per-user access tokens, you should switch to using client credentialsAPI as part of upgrading to 2023-08-01.
2. Removed Endpoints
Endpoint
Replacement
GET /me
GET /users/{userId}
DELETE /me/vendors/{vendor}
DELETE /users/{userId}/vendor/{vendor}
/charging-locations/*
/locations/*
/statistics/*
/users/{userId}/statistics/*
GET /schedules
GET /users/{userId}/schedules
POST /schedules
POST /users/{userId}/schedules
3. New Endpoints
New Endpoint
Description
GET /users
List all client users (paginated)
GET /users/{userId}/vendor/{vendor}
Vendor details
GET /users/{userId}/vehicles
List all user vehicles (paginated)
GET /users/{userId}/chargers
List all user chargers (paginated)
GET /users/{userId}/hvacs
List all user HVAC units (paginated)
GET /users/{userId}/inverters
List all user inverters (paginated)
/users/{userId}/statistics/*
All statistic endpoints are moved behind /users/{userId}/
GET /users/{userId}/schedules
List all user schedules (paginated)
POST /users/{userId}/schedules
Create a schedule for the user
POST <assets>/{assetId}/refresh-hint
Initiate an accelerated data refresh.
4. Pagination
We have introduced cursor-based pagination for all endpoints that return a list of resources. Reference: Pagination StrategyAPI
Pass 2023-08-01 as your version header to use this new version.
Version 2023-05-01
Released
Breaking changesNew version
Temperature Schedules now support changing device modes. This allows access to the Permanent Hold and Follow Schedule endpoints through temperature schedules.
Endpoint
Change description
/schedules/{scheduleId} and /schedules
chargeableId and entityId have been replaced with targetId.
/schedules/{scheduleId} and /schedules
chargeableType and entityType have been replaced with targetId.
/schedules/{scheduleId} and /schedules
Temperature schedule: defaultTarget is replaced with defaultTargetState. Inside the rules array, both target and targetTemperature have been replaced with targetState.
PUT /schedules/{scheduleId}
Temperature Schedule: The object schema for the target state has been changed. The API now expects an object with at least a holdType, and possibly mode, coolSetpoint, and heatSetpoint. The holdType determines the kind of action sent to the device. Check out the Using Schedules guide for examples of valid objects.
GET /schedules/{scheduleId}/status
The externalStart object has been renamed to smartOverride.
Pass 2023-05-01 as your version header to use this new version.
Version 2023-04-15
Released
Breaking changesNew version
A new version of the Vehicle Smart Charging Plan API has been released,
which adds new failure conditions.
Endpoint
Change description
GET /vehicles/{vehicleId}/smart-charging-plans/{smartChargingPlanId}
CHARGE_INTERRUPTED and FINISHED_EARLY have been added to the failureCondition enum. Review your code to ensure that it can handle these new failure conditions. This change should not affect any existing functionality. CHARGE_INTERRUPTED indicates that the charging process was interrupted before completion, while FINISHED_EARLY indicates that the charging process was completed more than 90 minutes earlier than planned.
Pass 2023-04-15 as your version header to use this new version.
Improved Fidelity of OpenAPI Specification
Released
Update
One OpenAPI Specification per API Version
Going forward, we'll publish a separate specification file for each breaking change we release. As a result, each of the specifications will be simpler, as they don't have to include another version's schema. In addition, resource names such as Vehicle_2023_02_01 become just Vehicle. The new specifications are available through our API. To see a specific version, replace the latest argument with a version like 2023-05-01.
Version 2023-04-01
Released
Breaking changesNew version
A new version with breaking changes to smart charging.
This version simplifies considerations further.
Endpoint
Change description
GET /vehicles/{vehicleId}/smart-charging-status
isSmartChargeCapable, singleUser, needsSignificantCharge, wontStopExistingChargingSession, hasChargeAboveThreshold and likelyToGenerateSavings considerations have been removed from the consideration object
A new state, FULLY_CHARGED, has been added to the state enum. FULLY_CHARGED, will replace CONSIDERING when the vehicle does not need to be charged. This can be due to the vehicle having reached its charging limit or the battery being close to 100% charged. The vehicle will transition back into CONSIDERING once we detect that the vehicle has been used and needs to be charged.
PUT /vehicles/{vehicleId}/smart-charging-policy
The logic for checking if the vehicle is capable of smart charging and if the user is a single user has been moved to the Update Vehicle Smart Charging PolicyAPI API. If the vehicle is not capable of smart charging or the user is not a single user, smart charging will not be turned on, and a 400 Bad Request will be returned.
Pass 2023-04-01 as your version header to use this new version.
Made spec more compatible with openapi-generator
Released
Update
Removed invalid default property in VehicleFieldParameter
Fixed a bug in the OpenAPI spec where the default value of VehicleFieldParameter was located inside items instead of next to it, causing openapitools/openapi-generator to fail. The intended default for fields was ["capabilities", "smartChargingPolicy"]. It's not necessary to specify these fields since they are always returned.
Power delivery states and richer action failure reasons
Released
Update
This update brings new features to our vehicles and chargers APIs.
The new fields will be available across all versions.
Introducing chargeState.powerDeliveryState. This field represents the current power delivery state between a vehicle and a charger. For more information, see Get VehicleAPI.
Introducing failureReason. This field provides more information about why was a given action not executed successfully. For more information, see Get Charge ActionAPI.
Changes to smart charging considerations
Released
Update
Changes made to simplify smart charging considering phase.
Instead of staying in the considering phase in cases where you should charge right away, we will make a plan to start now. This is particularly important when there are very little savings. The charging behavior will remain the same as before; the only difference is that we are giving users a plan.
As a result of this change, wontStopExistingChargingSession and likelyToGenerateSavings are now deprecated will always return true.
Locations no longer have to be fresh in order to receive a smart charge plan.
Version 2023-03-01
Released
Breaking changesNew version
The first version with breaking changes.
This API version removes deprecated functionality and fields that have accumulated
before Enode launched versioning.
Endpoint
Change description
POST /chargers/{chargerId}/charging, POST /vehicles/{vehicleId}/charging and /schedules
The fields chargeableId, chargeableType, entityId, and entityType have been replaced with targetId and targetType
/schedules/{scheduleId} and /schedules
chargeableType and entityType have been replaced with targetId.
/vehicles/{vehicleId}/external-start and /vehicles/{vehicleId}/external-start
The External Start APIs for VehiclesAPI and ChargersAPI have been renamed to Smart override, which better reflects their intended use.
POST /hvacs/{hvacId}/temperature
The Set Temperature endpoint for HVACs has been replaced by the Set Permanent HoldAPI and Follow ScheduleAPI endpoints. The latter offer increased control over the underlying hardware, like the ability to change the thermostat's mode.
/hvacs/{hvacId}
Responses no longer contain targetTemperature
GET /statistics/charging
The vehicleId request body parameter to Get Charging StatisticsAPI has been replaced with id and type in order to support different types of hardware.
/webhooks
The user:charge-action:updated webhook event has been renamed to user:vendor-action:updated.
GET /vehicles and GET /vehicles/{vehicleId}
The chargeState.isChargingReasons response field on the Vehicle APIAPI has been removed.
GET /vehicles and GET /vehicles/{vehicleId}
The information.id response field on the Vehicle APIAPI has been removed. Use information.vin instead.
Pass 2023-03-01 as your version header to use this new version.
Vendor types are now returned for linked vendors
Released
Update
This update brings a small quality of life improvement for re-linking vendors.
The update is available across all versions.
vendorType is now returned in the response from the MeAPI endpoint. This makes it easier to re-link vendors in a isValid = false state since vendorType is required when calling link endpoint. For more information see MeAPI.
New smart charging features
Released
Update
This update brings a few new features to our smart charging APIs.
The updates will be available across all versions.
Altered the hasChargeAboveThreshold smart charge consideration such that vehicles stop charging ScheduleAPI immediately, regardless of battery level. Previously the smart charging algorithm would wait until a vehicle reached 20% before issuing a stop command.
Version 2023-02-01
Released
Update
The first calendar version for Enode API.
No breaking changes have been made.
Existing clients are pinned to version 2023-02-01,
and will use this version by default if no version header is sent.
Version 2023-02-01 is the same as before and has no breaking changes.
API endpoints now accept an Enode-Version header. To prepare for future API versions you can optionally start sending Enode-Version=2023-02-01.
Note: New clients will be pinned to the latest stable version at the time of creation.