Login

Enode API 2024-10-01

This reference provides a comprehensive overview of the Enode API endpoints for accessing and controlling its hardware and features. The API follows REST principles, and uses OAuth 2.0.

This page features detailed documentation for each of our endpoints. You can also explore our API through our updated OpenAPI specifications or Postman collection.

The API is versioned, and all documentation on this page, including the links to the OpenAPI specifications and Postman collection is specific to the selected version.

Environments

We provide multiple environments, each with unique data access policies, and live/mocked vendors.

Environments are isolated from each other. Client credentials are tied to a specific environment and cannot be reused across environments.

Copy linkProduction

Features the latest stable software, live vendors, and strict data access controls.

NameURL
APIhttps://enode-api.production.enode.io
OAuth Tokenhttps://oauth.production.enode.io/oauth2/token
Link UIhttps://link.enode.com

Copy linkSandbox

Includes the latest stable software and mocked vendors/vehicles/chargers.

NameURL
APIhttps://enode-api.sandbox.enode.io
OAuth Tokenhttps://oauth.sandbox.enode.io/oauth2/token
Link UIhttps://link.sandbox.enode.io

Authentication

The Enode API uses OAuth 2.0 client access tokens for authenticating server requests.

Copy linkAPI credentials

Enode API access begins with a client and its corresponding client ID and client secret. Clients organize data, are separate, and relate to a specific environmentAPI.

API credentials are used to obtain an access tokenAPI for accessing client-wide endpointsAPI and user-specific endpointsAPI.

Key Description
Client IDThe identifier for your client, referred to as the client_id.
Client secretThe secret for your client, referred to as the client_secret.

Copy linkGetting an access token

The access token authorizes client access to all data and functionality. Obtain it via the OAuth 2.0 client credentials grant using the API credentialsAPI and the relevant OAuth URLsAPI for your client's environment.

Token request example

curl https://oauth.{YOUR_CLIENT_ENVIRONMENT}.enode.io/oauth2/token \
-X POST \
-u {YOUR_CLIENT_ID}:{YOUR_CLIENT_SECRET} \
-d "grant_type=client_credentials"

After requesting the token URL, you'll receive an access token in the response. Cache this token on your server until it expires and needs refreshingAPI. Keep the access token secret.

Token response example

{
  "access_token": "{YOUR_ACCESS_TOKEN}",
  "expires_in": 3599,
  "scope": "",
  "token_type": "bearer"
}

Copy linkRefreshing access tokens

Access tokens expire hourly, indicated by the expires_in key in the response. When expired, obtain a new tokenAPI.

Copy linkAccessing the API with the access token

Authenticate all API requests using a bearer authentication header. This header accesses client-wide endpoints (service healthAPI, tariffsAPI, user managementAPI, and webhooksAPI).

Type Value
HeaderAuthorization: Bearer {YOUR_ACCESS_TOKEN}

Client resource request example

curl https://enode-api.{YOUR_CLIENT_ENVIRONMENT}.enode.io/health/ready \
-H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \

Copy linkAccessing user-specific endpoints

For resources specific to a user, include an additional header with the user ID along with the general authorization header. For versions newer than 2023-08-01, this is no longer required.

Use this additional header for general user endpoints (locationsAPI, usersAPI, schedulesAPI, statisticsAPI) and device-specific endpoints (chargersAPI, HVACsAPI, solar invertersAPI, and vehiclesAPI).

Type Value
HeaderEnode-User-Id: {USER_ID}

User resource request example

curl https://enode-api.{YOUR_CLIENT_ENVIRONMENT}.enode.io/me \
-X GET \
-H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
-H "Enode-User-Id: {USER_ID}" \

Response times

Enode resources like Schedules and Locations have response times of <200ms. However, vehicle interactions involve various delays and timing characteristics.

Understanding the range of possible timings without diving into vendor-specific causes, helps you account for these factors in your UX design.

Copy linkAPI GET requests

Copy linkGet Vehicle

Get Vehicles and List Vehicles are fast operations since all data is prefetched by Enode and shared from a cache.

On API versions prior to 2023-08-01 it is possible to request a synchronous update where data is fetched directly from the vendor. Such requests have longer response times, sometimes 30 seconds or more, depending on the characteristics of the underlying vendor APIs. From 2023-08-01 onwards this has been replaced by the refresh hintAPI mechanism.

The Login step usually takes <2 seconds, but can rarely take up to 30 seconds due to background negotiations, retries, and initial vehicle data fetching.

The final Accept step experiences similar delays as List Vehicles.

Copy linkCharging commands

Charging commands show significant timing variability among vendors. Initiating the action is instant, but the updated charging state typically takes 20 seconds to appear. Occasionally the action may take 5 minutes or more to confirm.

Copy linkWebhooks

Webhooks typically involve polling and dynamically adjust the polling rate based on various factors to balance prompt updates with avoiding unnecessary load on the vehicle.

The maximum baseline delay between a real-world change (e.g., a vehicle being plugged in) and the resulting webhook notification is typically 7 minutes. However, actual delays can vary depending on factors such as vehicle activity and network conditions. Below is a general guide for typical webhook delays:

Vehicle contextTypical delay
default~7 minutes
charging~2-5 minutes
smartcharge PLAN:*~2 minutes
sleeping~20 minutes

If you'd like to request a faster refresh, you can call the various /refresh-hint endpoints found on devices to queue an accelerated data refresh.

Scopes

Access to the data and controls of a device are scoped by an inclusive scopes structure. The scopes are requested in the Link user endpoint via the scopes parameter. Scopes are presented to your user in Link UI, and explained through example data and examples of features enabled by each scope. Your user is not able to de-select or configure scopes themselves in Link UI.

  • Data scopes include all data and states we fetch from the device, excluding location data, and is always required (e.g vehicle:read:data)
  • Location scopes include the location coordinates of the device (e.g. vehicle:read:location)
  • Control scopes are always explicit to the type of control that is requested (e.g. vehicle:control:charging)

The applied scopes are surfaced through the scopes object in device responses (see example below).

Copy linkOverview of scopes

Asset type Scope Description
Batterybattery:control:operation_modeControls the operation mode of the battery
battery:read:locationReads the GPS coordinates of the battery
battery:read:dataReads the battery data, such as the charge state, configuration and general information
Chargercharger:control:chargingControls the max current configuration and/or charging of the charger
charger:read:dataReads the charger data, such as the charge state and general information
HVAChvac:control:modeControls the mode (permanent hold or follow schedule) of the HVAC unit
hvac:read:dataReads the HVAC data, such as the information, thermostat state and temperature state
Inverterinverter:read:dataReads the inverter data, such as the production state and general information
inverter:read:locationReads the GPS coordinates of the inverter
Metermeter:read:locationReads the GPS coordinates of the meter
meter:read:dataReads the meter data, such as energy state and general information
Vehiclevehicle:control:chargingControls the charging of the vehicle
vehicle:read:dataReads the vehicle data, such as charge state, odometer and general information
vehicle:read:locationReads the GPS coordinates of the vehicle

Copy linkHandling excluded scopes

Copy linkThe relationship between scopes and capabilities

If a device is missing a scope, e.g. a charger that does not have the charger:control:charging scope set, will always have the charging related capabilities will always be set as isCapable: false with no intervention specified.

Example charger response

{
  "id": "2211e263-0362-4235-83f4-887bdf3ee414",
  "userId": "17d9f847-8a1c-4158-adaa-4911a7acd5f9",
  "vendor": "ZAPTEC",
  "lastSeen": "2023-03-21T21:08:27.596Z",
  "isReachable": true,
  "locationId": "2211e263-d6d4-d6d4-d6d4-dbdd77ec82b6",
  "scopes": ["charger:read:data"], // Scopes applied to the device
  "chargeState": { ... },
  "information": { ... },
  "capabilities": {
    "information": {
      "isCapable": true, // Capable via the charger:read:data scope
      "interventionIds": []
    },
    "chargeState": {
      "isCapable": true, // Capable via the charger:read:data scope
      "interventionIds": []
    },
    "startCharging": {
      "isCapable": false, // Missing charger:control:charging scope
      "interventionIds": []
    },
    "stopCharging": {
      "isCapable": false, // Missing charger:control:charging scope
      "interventionIds": []
    },
    "setMaxCurrent": {
      "isCapable": false, // Missing charger:control:charging scope
      "interventionIds": []
    }
  }
}

Copy linkResponses when the location scope is excluded

Devices with a missing location scopes will respond with longitude: null and latitude: null as part of their location object.

Copy linkResponses when a control scopes is excluded

Devices with missing control scopes will respond with a 403 error, and the action or command will not go through to the device.

Copy linkApplying new scopes to a device

To set new scopes for a device, it needs to be re-linked via the Link userAPI endpoint by setting new scope values in the scopes parameter.

Errors and problems

Copy linkErrors when accessing a User's resources

When using an access_token to access a user's resources, you may encounter the following 4XX range HTTP Status Codes:

HTTP Status CodeExplanation
400 Bad RequestThe request payload failed schema validation or parsing
401 UnauthorizedMissing or invalid authentication details
403 ForbiddenAuthentication succeeded, but the user lacks access to the resource due to a missing control scope.
404 Not FoundRequested resource doesn't exist
405 Method Not AllowedVendor unavailability prevented request completion
408 Request TimeoutVendor timeout prevented request completion
409 ConflictVendor rejection prevented request completion
424 Failed DependencyFailed vendor requests prevented request completion
429 Too Many RequestsVendor rate limiting prevented request completion

In all cases, an RFC7807 Problem Details body is returned to aid in debugging.

HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
{
  "type": "https://developers.enode.com/problems/bad-request",
  "title": "Payload validation failed",
  "detail": "\"authorizationRequest.scope\" is required",
}

Copy linkProblems

TitleDescription
Bad request

Some part of the request was malformed. See associated detail message for more information.

Enode Controlled Entity

This entity is currently managed by Smart Charging or Schedules and cannot accept manual commands. Either disable the feature controlling the target, or force charging to start through our External Start APIAPI.

Entity Not Found

The requested entity was not found on the user's account.

Forbidden

The current context is not allowed to access the requested resource.

Not Found

The requested entity was not found on the user's account. If requesting vendor entities, ensure you're using the top level id field and not information.id. information.id is the ID the vendor uses to refer to the entity and changes over time.

Server Error

A critical error has occurred. An employee has been alerted and will work to remedy the situation

Service Unavailable

The service is currently unavailable. Most likely the service was slow to respond, might be overloaded or down for maintenance. Other endpoints might still be available.

You may want to retry the request using a randomized backoff delay.

Check the Enode Status page if this problem persists.

Timeout

A request timed out. If this problem was returned by a route that tried to communicate with vendor APIs, remove the fields query parameter to fetch the Enode hosted cache. This cache is updated every 10 minutes.

Unauthorized

The request contained an invalid or expired token.

Validation Error

The response we prepared failed to pass outgoing validation. An employee has been alerted and will work to remedy the situation.

Versioning

Enode's REST API is versioned. A dated version is released when breaking changes occur, while new features and bug fixes (additive changes) are available in all supported API versions.

You can view all available versions and updates in the changelog.

API clients are pinned to the latest API version upon creation, affecting all API requests and webhook events. API responses include an Enode-Version header, and webhook events have a version field.

You can override the API version on a specific request by sending an Enode-Version in the request header.

Copy linkBreaking changes

Breaking changes will be released as a new version. When a new version is released, the previous version is supported for six months before deactivation. Enode staff will notify you in advance. Each API version comes with a migration guide explaining changes and upgrade suggestions.

We consider the following breaking changes

  • Changing a request’s authorization or authentication requirements
  • Adding a new required input parameter
  • Changing input validation
  • Removing an HTTP route or method
  • Removing or renaming a response parameter

All other additive changes are considered backwards compatible.

Copy linkVersion Lifecycle

Current

  • This is the latest API version, recommended for all customers.
  • It is the default version for new clients and the default version documented in our API Reference.
  • There is only ever one Current API version.

Deprecated

  • This version has been superseded by a newer version. Multiple Deprecated versions can exist.
  • Customers can still choose this version for new clients or webhook subscriptions at developers.enode.com.
  • Documentation will be marked as Deprecated.
  • New functionality may not be released to Deprecated versions and supported exclusively on the Current API version.
  • We recommend you to upgrade to the Current version as soon as possible.

Legacy

  • This version has been deprecated for 6 months. Multiple Legacy versions can exist.
  • Customers cannot select this version for new clients or webhook subscriptions.
  • Documentation will not be accessible from the API Reference. You can review Legacy documentation by logging in to your organization dashboard and selecting a client with a Legacy version.
  • Functionality may be degraded, and no new features will be added.
  • 4 weeks after entering Legacy status, we will begin preparations for automatically upgrading clients on this version. Enode will conduct API brownouts for clients still using Legacy versions at this time. During these brownouts, we will randomly reject API requests using the Legacy API version.
  • 8 weeks after entering Legacy status, clients and webhooks using this version will be automatically upgraded to the Current API version.

Copy linkLabels

Some of the products or endpoints we have available are labelled. Here's an explanation of each.

Copy linkBeta

This product or endpoint is now feature complete and the implementation will not change. There may be bugs or stability issues but they are actively being worked on. We are still open to receiving feedback before delivering a stable release.

Copy linkEarly Adopter

This feature or endpoint is available to early adopters for initial feedback. The implementation is still evolving and may change or be removed.

Copy linkDeprecated

Individual features, endpoints, or fields tagged as Deprecated will be removed in a future version of the API. If you are using deprecated functionality you should update your application to use alternative features or methods we provide.

Pagination

Enode endpoints returning collections of a specific type of resource, such as GET /vehicles, will return a paginated response. Each response will consist of a subset of the resources, called a page. To retrieve the entire collection, subsequent pages need to be fetched.

Each response includes two properties: data and pagination. The data property contains the records of the current page and the pagination property contains cursors that can be used to fetch additional pages. These cursors, before and after, are unique identifiers for specific records in the dataset that help you keep track of your position and navigate through the pages.

Copy linkQuerying a paginated API endpoint

When querying a paginated endpoint, you may provide the following pagination query parameters:

Pagination query parameter example

{
  "pageSize": 50,
  "before": "MjAyMy0wNy0xOFQxMDowODowMi4zNzNa",
  "after": "MjAyMy0wNi0xNlQwOTowMzowMS4yNjJa"
}

All of these pagination query parameters are optional. If pageSize is not provided, the default page size of 50 is used. If neither before nor after are provided, the returned page will contain the first set of resources in the collection.

The before and after parameters are mutually exclusive. If both are supplied, the API will return an error.

Responses from most paginated endpoints are sorted in descending order according to when the resource was created. Hence, for a request like GET /vehicles, the most recently linked vehicles appear on the first page.

Copy linkHow to navigate through paginated API responses

The pagination property in a paginated response typically looks like this:

Pagination property example

"pagination": {
  "before": "MjAyMy0wNy0xOFQxMDowODowMi4zNzNa",
  "after": "MjAyMy0wNi0xNlQwOTowMzowMS4yNjJa"
}

The pagination property provides the cursors required to fetch the next and previous pages of resources:

  • before contains the cursor to be used to fetch the previous page.
  • after contains the cursor to be used to fetch the next page.

One or both cursors may be null instead of a string. This occurs when:

  • You are on the first page. There are no preceding resources, so before will now be null as otherwise it would point to an empty page.
  • You are on the last page. There are no subsequent resources, so after will now be null as otherwise it would point to an empty page.
  • The entire collection fits on the first page. There are no preceding or subsequent resources, so both before and after are null.

Copy linkFull example response

Example paginated response

{
    "data": [
        {
            "id": "0",
            "vendor": "TESLA",
            ...
            "isReachable": true
        },
        ...
        {
            "id": "49",
            "vendor": "TESLA",
            ...
            "isReachable": true
        }
    ],
    "pagination": {
        "before": null,
        "after": "MjAyMy0wNy0xOFQxMDowNDowMi4zNzNa"
    }
}

In this example, the data array includes the resource records for the current page. The pagination object provides the cursors for navigating to adjacent pages.

Images

Enode provides product images for vehicles and other assets. Image URLs are returned in the imageUrl field of API responses, such as GET /vehicles/{vehicleId} and webhook payloads.

Images are served through a global CDN with on-the-fly transformations including resizing, format conversion, and quality adjustment.

Copy linkBase URL

Images are served from https://cdn.images.enode.com/assets/{imageId}.{ext}.

Copy linkSupported formats

Format ExtensionMIME Type
PNG.pngimage/png
WebP.webpimage/webp
AVIF.avifimage/avif

Copy linkQuery parameters

Parameter DescriptionDefault
widthOutput width in pixels (1-2048)Original
heightOutput height in pixels (1-2048)Original
fitResize mode (see below)cover
qualityCompression quality (1-100) or "auto". Applies to WebP and AVIF only.auto

Copy linkFit modes

Mode Behavior
coverFill entire area, crop if needed (CSS object-fit: cover)
containFit within area, preserve aspect ratio (CSS object-fit: contain)
fillStretch to fill, may distort (CSS object-fit: fill)
insideLike contain, but never upscale
outsideLike cover, but never downscale

Copy linkExamples

Basic image request

curl "https://cdn.images.enode.com/assets/{imageId}.png"

Resize to 400px width

curl "https://cdn.images.enode.com/assets/{imageId}.png?width=400"

Convert to WebP with custom quality

curl "https://cdn.images.enode.com/assets/{imageId}.webp?quality=80"

Resize and convert

curl "https://cdn.images.enode.com/assets/{imageId}.webp?width=800&height=600&fit=contain"

Copy linkCaching

Images are served with long-lived cache headers. Transformed images are cached on the CDN, so subsequent requests for the same transformation are served directly from cache.

Batteries

The Battery object represents a residential energy storage unit, like a Tesla Powerwall or Enphase IQ. It offers detailed insights into the battery's operation and allows you to instruct the battery on handling its stored energy.

List batteriesBeta

GET /batteries

Returns a paginated list of all Batteries.

Copy linkRequest

Query parameters
Copy linkafter string Optional

Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

Copy linkbefore string Optional

Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

Copy linkpageSize integer Optional

Number of records to return per page. Default page size is 50.

Copy linkResponse 200

Attributes
  • Copy linkdata array of object

    Paginated list of batteries

    Show child attributes
    • Copy linkdata[].id string<uuid>

      Unique identifier for the battery object

    • Copy linkdata[].userId string

      The ID of the user that linked this battery.

    • Copy linkdata[].vendor string

      Machine-friendly name of the vendor. Use this in API requests.

      Possible enum values:

        TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
    • Copy linkdata[].lastSeen string<date-time>

      The last time Enode successfully communicated with the vendor or when the battery was initially linked.

    • Copy linkdata[].isReachable boolean

      Indicates whether Enode can currently access live data from the battery. If the battery is not reachable, data updates will be delayed.

    • Copy linkdata[].chargeState object

      Latest information about the battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

      Show child attributes
      • Copy linkdata[].chargeState.status string or null

        The power delivery state of the battery.

        Possible enum values:

          CHARGINGDISCHARGINGIDLEFAULTUNKNOWN
      • Copy linkdata[].chargeState.batteryCapacity number or null

        Battery capacity in kWh.

      • Copy linkdata[].chargeState.batteryLevel number or null

        Remaining battery charge level in percent.

      • Copy linkdata[].chargeState.chargeRate number or null

        The current charge rate in kW. A positive value indicates that the battery is charging.

      • Copy linkdata[].chargeState.dischargeLimit number or null

        Minimum charge level for a battery, expressed as a percentage. Batteries will not discharge below this user-set reserve level except in emergency power situations.

      • Copy linkdata[].chargeState.lastUpdated string<date-time> or null

        Time of last received charge state update

    • Copy linkdata[].config object
      Show child attributes
      • Copy linkdata[].config.operationMode string or null

        The current operation mode of the battery.

        • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
        • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
        • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.
        • UNKNOWN: The mode of the battery is currently unknown. It might be possible to switch out of this mode and into one of the known modes. Actively returning to this mode is not possible.

        Possible enum values:

          IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLEUNKNOWN
      • Copy linkdata[].config.lastUpdated string<date-time> or null

        Time of last received configuration update

    • Copy linkdata[].information object

      Descriptive information about the battery

      Show child attributes
      • Copy linkdata[].information.id string

        Battery vendor ID

      • Copy linkdata[].information.brand string

        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

      • Copy linkdata[].information.model string

        Battery model

      • Copy linkdata[].information.siteName string

        Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

      • Copy linkdata[].information.installationDate string<date-time>

        Battery installation date

    • Copy linkdata[].capabilities object

      A collection of descriptors that describe the capabilities of this specific battery

      Show child attributes
      • Copy linkdata[].capabilities.exportFocus object

        Supports EXPORT_FOCUS operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.exportFocus.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.exportFocus.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.importFocus object

        Supports IMPORT_FOCUS operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.importFocus.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.importFocus.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.timeOfUse object

        Supports TIME_OF_USE operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.timeOfUse.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.timeOfUse.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.selfReliance object

        Supports SELF_RELIANCE operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.selfReliance.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.selfReliance.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.idle object

        Supports IDLE operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.idle.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.idle.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

    • Copy linkdata[].scopes array of string

      Scopes that the user has granted for this battery.

    • Copy linkdata[].location object

      Battery's GPS coordinates

      Show child attributes
      • Copy linkdata[].location.id string<uuid> or null

        ID of the location the battery is currently positioned at (if any).

      • Copy linkdata[].location.longitude number or null

        Longitude in degrees

      • Copy linkdata[].location.latitude number or null

        Latitude in degrees

      • Copy linkdata[].location.lastUpdated string<date-time> or null

        Time of last received location state update

    • Copy linkdata[].hemSystemId string<uuid> or null

      ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

  • Copy linkpagination object

    Cursors to the pages before and after current page. See the PaginationAPI section for reference.

    Show child attributes
Was this section helpful?

List user batteriesBeta

GET /users/{userId}/batteries

Returns a paginated list of batteries for the given userId.

Copy linkRequest

Path parameters
Copy linkuserId string Required

ID of the User.

Query parameters
Copy linkafter string Optional

Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

Copy linkbefore string Optional

Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

Copy linkpageSize integer Optional

Number of records to return per page. Default page size is 50.

Copy linkResponse 200

Attributes
  • Copy linkdata array of object

    Paginated list of batteries

    Show child attributes
    • Copy linkdata[].id string<uuid>

      Unique identifier for the battery object

    • Copy linkdata[].userId string

      The ID of the user that linked this battery.

    • Copy linkdata[].vendor string

      Machine-friendly name of the vendor. Use this in API requests.

      Possible enum values:

        TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
    • Copy linkdata[].lastSeen string<date-time>

      The last time Enode successfully communicated with the vendor or when the battery was initially linked.

    • Copy linkdata[].isReachable boolean

      Indicates whether Enode can currently access live data from the battery. If the battery is not reachable, data updates will be delayed.

    • Copy linkdata[].chargeState object

      Latest information about the battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

      Show child attributes
      • Copy linkdata[].chargeState.status string or null

        The power delivery state of the battery.

        Possible enum values:

          CHARGINGDISCHARGINGIDLEFAULTUNKNOWN
      • Copy linkdata[].chargeState.batteryCapacity number or null

        Battery capacity in kWh.

      • Copy linkdata[].chargeState.batteryLevel number or null

        Remaining battery charge level in percent.

      • Copy linkdata[].chargeState.chargeRate number or null

        The current charge rate in kW. A positive value indicates that the battery is charging.

      • Copy linkdata[].chargeState.dischargeLimit number or null

        Minimum charge level for a battery, expressed as a percentage. Batteries will not discharge below this user-set reserve level except in emergency power situations.

      • Copy linkdata[].chargeState.lastUpdated string<date-time> or null

        Time of last received charge state update

    • Copy linkdata[].config object
      Show child attributes
      • Copy linkdata[].config.operationMode string or null

        The current operation mode of the battery.

        • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
        • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
        • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.
        • UNKNOWN: The mode of the battery is currently unknown. It might be possible to switch out of this mode and into one of the known modes. Actively returning to this mode is not possible.

        Possible enum values:

          IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLEUNKNOWN
      • Copy linkdata[].config.lastUpdated string<date-time> or null

        Time of last received configuration update

    • Copy linkdata[].information object

      Descriptive information about the battery

      Show child attributes
      • Copy linkdata[].information.id string

        Battery vendor ID

      • Copy linkdata[].information.brand string

        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

      • Copy linkdata[].information.model string

        Battery model

      • Copy linkdata[].information.siteName string

        Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

      • Copy linkdata[].information.installationDate string<date-time>

        Battery installation date

    • Copy linkdata[].capabilities object

      A collection of descriptors that describe the capabilities of this specific battery

      Show child attributes
      • Copy linkdata[].capabilities.exportFocus object

        Supports EXPORT_FOCUS operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.exportFocus.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.exportFocus.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.importFocus object

        Supports IMPORT_FOCUS operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.importFocus.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.importFocus.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.timeOfUse object

        Supports TIME_OF_USE operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.timeOfUse.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.timeOfUse.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.selfReliance object

        Supports SELF_RELIANCE operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.selfReliance.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.selfReliance.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkdata[].capabilities.idle object

        Supports IDLE operation mode.

        Show child attributes
        • Copy linkdata[].capabilities.idle.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkdata[].capabilities.idle.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

    • Copy linkdata[].scopes array of string

      Scopes that the user has granted for this battery.

    • Copy linkdata[].location object

      Battery's GPS coordinates

      Show child attributes
      • Copy linkdata[].location.id string<uuid> or null

        ID of the location the battery is currently positioned at (if any).

      • Copy linkdata[].location.longitude number or null

        Longitude in degrees

      • Copy linkdata[].location.latitude number or null

        Latitude in degrees

      • Copy linkdata[].location.lastUpdated string<date-time> or null

        Time of last received location state update

    • Copy linkdata[].hemSystemId string<uuid> or null

      ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

  • Copy linkpagination object

    Cursors to the pages before and after current page. See the PaginationAPI section for reference.

    Show child attributes
Was this section helpful?

Get batteryBeta

GET /batteries/{batteryId}

Copy linkRequest

Path parameters
Copy linkbatteryId string<uuid> Required

The ID of the battery to look up.

Copy linkResponse 200

Attributes
  • Copy linkid string<uuid>

    Unique identifier for the battery object

  • Copy linkuserId string

    The ID of the user that linked this battery.

  • Copy linkvendor string

    Machine-friendly name of the vendor. Use this in API requests.

    Possible enum values:

      TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
  • Copy linklastSeen string<date-time>

    The last time Enode successfully communicated with the vendor or when the battery was initially linked.

  • Copy linkisReachable boolean

    Indicates whether Enode can currently access live data from the battery. If the battery is not reachable, data updates will be delayed.

  • Copy linkchargeState object

    Latest information about the battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

    Show child attributes
    • Copy linkchargeState.status string or null

      The power delivery state of the battery.

      Possible enum values:

        CHARGINGDISCHARGINGIDLEFAULTUNKNOWN
    • Copy linkchargeState.batteryCapacity number or null

      Battery capacity in kWh.

    • Copy linkchargeState.batteryLevel number or null

      Remaining battery charge level in percent.

    • Copy linkchargeState.chargeRate number or null

      The current charge rate in kW. A positive value indicates that the battery is charging.

    • Copy linkchargeState.dischargeLimit number or null

      Minimum charge level for a battery, expressed as a percentage. Batteries will not discharge below this user-set reserve level except in emergency power situations.

    • Copy linkchargeState.lastUpdated string<date-time> or null

      Time of last received charge state update

  • Copy linkconfig object
    Show child attributes
    • Copy linkconfig.operationMode string or null

      The current operation mode of the battery.

      • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
      • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
      • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
      • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
      • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.
      • UNKNOWN: The mode of the battery is currently unknown. It might be possible to switch out of this mode and into one of the known modes. Actively returning to this mode is not possible.

      Possible enum values:

        IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLEUNKNOWN
    • Copy linkconfig.lastUpdated string<date-time> or null

      Time of last received configuration update

  • Copy linkinformation object

    Descriptive information about the battery

    Show child attributes
    • Copy linkinformation.id string

      Battery vendor ID

    • Copy linkinformation.brand string

      A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

    • Copy linkinformation.model string

      Battery model

    • Copy linkinformation.siteName string

      Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

    • Copy linkinformation.installationDate string<date-time>

      Battery installation date

  • Copy linkcapabilities object

    A collection of descriptors that describe the capabilities of this specific battery

    Show child attributes
    • Copy linkcapabilities.exportFocus object

      Supports EXPORT_FOCUS operation mode.

      Show child attributes
      • Copy linkcapabilities.exportFocus.isCapable boolean

        The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

      • Copy linkcapabilities.exportFocus.interventionIds array of string

        IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

    • Copy linkcapabilities.importFocus object

      Supports IMPORT_FOCUS operation mode.

      Show child attributes
      • Copy linkcapabilities.importFocus.isCapable boolean

        The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

      • Copy linkcapabilities.importFocus.interventionIds array of string

        IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

    • Copy linkcapabilities.timeOfUse object

      Supports TIME_OF_USE operation mode.

      Show child attributes
      • Copy linkcapabilities.timeOfUse.isCapable boolean

        The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

      • Copy linkcapabilities.timeOfUse.interventionIds array of string

        IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

    • Copy linkcapabilities.selfReliance object

      Supports SELF_RELIANCE operation mode.

      Show child attributes
      • Copy linkcapabilities.selfReliance.isCapable boolean

        The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

      • Copy linkcapabilities.selfReliance.interventionIds array of string

        IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

    • Copy linkcapabilities.idle object

      Supports IDLE operation mode.

      Show child attributes
      • Copy linkcapabilities.idle.isCapable boolean

        The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

      • Copy linkcapabilities.idle.interventionIds array of string

        IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

  • Copy linkscopes array of string

    Scopes that the user has granted for this battery.

  • Copy linklocation object

    Battery's GPS coordinates

    Show child attributes
    • Copy linklocation.id string<uuid> or null

      ID of the location the battery is currently positioned at (if any).

    • Copy linklocation.longitude number or null

      Longitude in degrees

    • Copy linklocation.latitude number or null

      Latitude in degrees

    • Copy linklocation.lastUpdated string<date-time> or null

      Time of last received location state update

  • Copy linkhemSystemId string<uuid> or null

    ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

Was this section helpful?

Set operation mode for batteryBeta

POST /batteries/{batteryId}/operation-mode

Request an operationMode change for a battery. This request creates an Action that will retry until the battery's operationMode matches the expected value. The Action must complete before any further commands can be sent to the battery. Only one Action can be active for a specific battery at a time. If a new Action is created, the previous Action will be automatically cancelled and transitioned to the CANCELLED state. Regardless of operation mode, the battery's charge limit will not fall below dischargeLimit except in emergency power situations. Transitions can be tracked via the user:vendor-action:updated webhook event or Get Operation Mode ActionAPI.

Copy linkRequest

Path parameters
Copy linkbatteryId string<uuid> Required

The ID of the battery being targeted.

Attributes
  • Copy linkoperationMode string Required

    Desired operation mode of the battery.

    • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
    • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
    • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
    • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
    • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.

    Possible enum values:

      IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLE

Copy linkResponse 200

Attributes
  • Copy linkid string<uuid>

    The ID of the action.

  • Copy linkuserId string

    The ID of the user that owns the target of this action.

  • Copy linkcreatedAt string<date-time>

    Time when this action was created

  • Copy linkupdatedAt string<date-time>

    Time when this action was last updated

  • Copy linkcompletedAt string<date-time> or null

    Time when the action transitioned to a non-pending state.

  • Copy linkstate string

    The real-time status of an action executed on a target.

    • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
    • CONFIRMED: Successful transition of the target to the desired state.
    • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
    • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

    Possible enum values:

      PENDINGCONFIRMEDFAILEDCANCELLED
  • Copy linktargetId string

    ID of the battery which this action is controlling.

  • Copy linktargetType string

    Possible enum values:

      battery
  • Copy linktargetState object

    Target battery operation mode

    Show child attributes
    • Copy linktargetState.operationMode string

      Desired operation mode of the battery.

      • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
      • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
      • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
      • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
      • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.

      Possible enum values:

        IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLE
  • Copy linkfailureReason object or null

    Information about why was this action not executed successfully.

    Show child attributes
    • Copy linkfailureReason.type string

      A machine-readable high level error category.

      • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
      • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
      • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
      • CONFLICT: A newer action for this device has been created. This action is now abandoned.
      • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
      • NOT_FOUND: The device was deleted while the action was PENDING.

      Possible enum values:

        NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
    • Copy linkfailureReason.detail string

      A human-readable explanation of why the action was unsuccessful.

Copy linkResponse 400

A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the battery cannot perform the action.

Attributes
  • Copy linktype string

    A URI reference that identifies the problem type.

  • Copy linktitle string

    A short, human-readable summary of the problem type.

  • Copy linkdetail string

    A human-readable explanation specific to this occurrence of the problem.

  • Copy linkissues array of object

    A list of validation issues which occurred while validating some component of the network payload.

    Show child attributes
    Was this section helpful?

    Get operation mode actionBeta

    GET /batteries/actions/{actionId}

    Returns the current state of the requested Action.

    Copy linkRequest

    Path parameters
    Copy linkactionId string<uuid> Required

    ID of the Action.

    Copy linkResponse 200

    Attributes
    • Copy linkid string<uuid>

      The ID of the action.

    • Copy linkuserId string

      The ID of the user that owns the target of this action.

    • Copy linkcreatedAt string<date-time>

      Time when this action was created

    • Copy linkupdatedAt string<date-time>

      Time when this action was last updated

    • Copy linkcompletedAt string<date-time> or null

      Time when the action transitioned to a non-pending state.

    • Copy linkstate string

      The real-time status of an action executed on a target.

      • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
      • CONFIRMED: Successful transition of the target to the desired state.
      • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
      • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

      Possible enum values:

        PENDINGCONFIRMEDFAILEDCANCELLED
    • Copy linktargetId string

      ID of the battery which this action is controlling.

    • Copy linktargetType string

      Possible enum values:

        battery
    • Copy linktargetState object

      Target battery operation mode

      Show child attributes
      • Copy linktargetState.operationMode string

        Desired operation mode of the battery.

        • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
        • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
        • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.

        Possible enum values:

          IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLE
    • Copy linkfailureReason object or null

      Information about why was this action not executed successfully.

      Show child attributes
      • Copy linkfailureReason.type string

        A machine-readable high level error category.

        • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
        • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
        • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
        • CONFLICT: A newer action for this device has been created. This action is now abandoned.
        • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
        • NOT_FOUND: The device was deleted while the action was PENDING.

        Possible enum values:

          NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
      • Copy linkfailureReason.detail string

        A human-readable explanation of why the action was unsuccessful.

    Copy linkResponse 404

    Action not found.

    Was this section helpful?

    Cancel battery actionBeta

    POST /batteries/actions/{actionId}/cancel

    Cancels a pending battery Action, halting any further attempts by Enode to execute it.

    Note: This only updates the Action's status to CANCELLED within Enode and does not reflect a change in the vendor's cloud. Thus any pending Action in the vendor's cloud might still be executed.

    Copy linkRequest

    Path parameters
    Copy linkactionId string<uuid> Required

    ID of the Action.

    Copy linkResponse 200

    Attributes
    • Copy linkid string<uuid>

      The ID of the action.

    • Copy linkuserId string

      The ID of the user that owns the target of this action.

    • Copy linkcreatedAt string<date-time>

      Time when this action was created

    • Copy linkupdatedAt string<date-time>

      Time when this action was last updated

    • Copy linkcompletedAt string<date-time> or null

      Time when the action transitioned to a non-pending state.

    • Copy linkstate string

      The real-time status of an action executed on a target.

      • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
      • CONFIRMED: Successful transition of the target to the desired state.
      • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
      • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

      Possible enum values:

        PENDINGCONFIRMEDFAILEDCANCELLED
    • Copy linktargetId string

      ID of the battery which this action is controlling.

    • Copy linktargetType string

      Possible enum values:

        battery
    • Copy linktargetState object

      Target battery operation mode

      Show child attributes
      • Copy linktargetState.operationMode string

        Desired operation mode of the battery.

        • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
        • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
        • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.

        Possible enum values:

          IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLE
    • Copy linkfailureReason object or null

      Information about why was this action not executed successfully.

      Show child attributes
      • Copy linkfailureReason.type string

        A machine-readable high level error category.

        • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
        • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
        • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
        • CONFLICT: A newer action for this device has been created. This action is now abandoned.
        • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
        • NOT_FOUND: The device was deleted while the action was PENDING.

        Possible enum values:

          NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
      • Copy linkfailureReason.detail string

        A human-readable explanation of why the action was unsuccessful.

    Copy linkResponse 404

    Action not found.

    Copy linkResponse 409

    Action already in a resolved state and can therefore not be cancelled.

    Attributes
    • Copy linkid string<uuid>

      The ID of the action.

    • Copy linkuserId string

      The ID of the user that owns the target of this action.

    • Copy linkcreatedAt string<date-time>

      Time when this action was created

    • Copy linkupdatedAt string<date-time>

      Time when this action was last updated

    • Copy linkcompletedAt string<date-time> or null

      Time when the action transitioned to a non-pending state.

    • Copy linktargetId string

      ID of the battery which this action is controlling.

    • Copy linktargetType string

      Possible enum values:

        battery
    • Copy linktargetState object

      Target battery operation mode

      Show child attributes
      • Copy linktargetState.operationMode string

        Desired operation mode of the battery.

        • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
        • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
        • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
        • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.

        Possible enum values:

          IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLE
    • Copy linkfailureReason object or null

      Information about why was this action not executed successfully.

      Show child attributes
      • Copy linkfailureReason.type string

        A machine-readable high level error category.

        • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
        • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
        • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
        • CONFLICT: A newer action for this device has been created. This action is now abandoned.
        • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
        • NOT_FOUND: The device was deleted while the action was PENDING.

        Possible enum values:

          NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
      • Copy linkfailureReason.detail string

        A human-readable explanation of why the action was unsuccessful.

    • Copy linkstate string

      The real-time status of an action executed on a target.

      • CONFIRMED: Successful transition of the target to the desired state.
      • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
      • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

      Possible enum values:

        CONFIRMEDFAILEDCANCELLED
    Was this section helpful?

    Refresh battery dataBeta

    POST /batteries/{batteryId}/refresh-hint

    Use this endpoint to initiate an expedited data refresh for the specified battery.

    Note: The Enode platform keeps data automatically up-to-date and detects changes in the OEM APIs within seconds to a few minutes. We change the refresh interval dynamically based on a number of heuristics. This ensures we find the best trade-off between the stability of the connection to the OEM and freshness of the data.
    This method overrides most of our heuristics and should therefore be used with caution. You may use it when you have a strong reason to believe the data might be stale.

    Copy linkRequest

    Path parameters
    Copy linkbatteryId string<uuid> Required

    The ID of the battery being targeted.

    Copy linkResponse 204

    Refresh hint registered successfully.

    Copy linkResponse 404

    The specified battery was not found.

    Was this section helpful?

    Chargers

    EV Chargers provide charging data and can be controlled via Control ChargingAPI and Schedules

    List chargers

    GET /chargers

    Returns a paginated list of all Chargers.

    Copy linkRequest

    Query parameters
    Copy linkafter string Optional

    Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

    Copy linkbefore string Optional

    Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

    Copy linkpageSize integer Optional

    Number of records to return per page. Default page size is 50.

    Copy linkResponse 200

    Attributes
    • Copy linkdata array of object

      Paginated list of chargers

      Show child attributes
      • Copy linkdata[].id string

        Charger ID

      • Copy linkdata[].userId string

        The ID of the user that linked this charger.

      • Copy linkdata[].vendor string

        Machine-friendly name of the vendor. Use this in API requests.

        Possible enum values:

          ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
      • Copy linkdata[].lastSeen string<date-time>

        The last time Enode communicated with the charger.

      • Copy linkdata[].isReachable boolean

        Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

      • Copy linkdata[].chargeState object

        Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

        Show child attributes
        • Copy linkdata[].chargeState.isPluggedIn boolean or null

          Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

        • Copy linkdata[].chargeState.isCharging boolean or null

          Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

        • Copy linkdata[].chargeState.chargeRate number or null

          The current charge rate in kW.

          This property is only available when the charger is actively charging a vehicle, and is null any other time.

        • Copy linkdata[].chargeState.lastUpdated string<date-time> or null

          Time of latest charge state update

        • Copy linkdata[].chargeState.maxCurrent number or null

          Desired max current in amperes, if set

        • Copy linkdata[].chargeState.powerDeliveryState string

          The current state of power delivery between the vehicle and charger.

          • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
          • UNPLUGGED: The vehicle is not connected to the charger.
          • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
          • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
          • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
          • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
          • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
          • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

          Possible enum values:

            UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
        • Copy linkdata[].chargeState.pluggedInVehicleId string or null

          ID of the vehicle currently plugged into the charger. 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.
        • Copy linkdata[].chargeState.chargeRateLimit number or null

          The current charge rate limit in kW. Returns null when unavailable from the vendor.

          Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

      • Copy linkdata[].capabilities object

        A collection of descriptors that describe the capabilities of this specific charger

        Show child attributes
        • Copy linkdata[].capabilities.information object

          Full availability of information data.

          Show child attributes
          • Copy linkdata[].capabilities.information.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.information.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.chargeState object

          Full availability of chargeState data.

          Show child attributes
          • Copy linkdata[].capabilities.chargeState.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.chargeState.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.startCharging object

          Supports START charging command.

          Show child attributes
          • Copy linkdata[].capabilities.startCharging.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.startCharging.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.stopCharging object

          Supports STOP charging command.

          Show child attributes
          • Copy linkdata[].capabilities.stopCharging.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.stopCharging.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.setMaxCurrent object

          Ability to set the max charge rate.

          Show child attributes
          • Copy linkdata[].capabilities.setMaxCurrent.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.setMaxCurrent.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.setChargeRateLimit object

          Ability to set the charge rate limit in kW.

          Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

          Show child attributes
          • Copy linkdata[].capabilities.setChargeRateLimit.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.setChargeRateLimit.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

          • Copy linkdata[].capabilities.setChargeRateLimit.allowedRange object

            Allowed charge rate limits for the charger.

            Show child attributes
            • Copy linkdata[].capabilities.setChargeRateLimit.allowedRange.min number or null

              The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

            • Copy linkdata[].capabilities.setChargeRateLimit.allowedRange.max number or null

              The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

      • Copy linkdata[].scopes array of string

        Scopes that the user has granted for this charger.

      • Copy linkdata[].information object

        Descriptive information about the Charger

        Show child attributes
        • Copy linkdata[].information.brand string

          A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

        • Copy linkdata[].information.model string

          Charger model

        • Copy linkdata[].information.year number or null

          Charger production year

        • Copy linkdata[].information.serialNumber string

          Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

        • Copy linkdata[].information.imageUrl string or null

          URL to an image of the charger model. null when not available.

      • Copy linkdata[].location object
        Show child attributes
        • Copy linkdata[].location.id string<uuid> or null

          ID of the location the charger is currently positioned at (if any).

        • Copy linkdata[].location.lastUpdated string<date-time> or null

          Time of last received location state update

    • Copy linkpagination object

      Cursors to the pages before and after current page. See the PaginationAPI section for reference.

      Show child attributes
    Was this section helpful?

    List user chargers

    GET /users/{userId}/chargers

    Returns a paginated list of chargers for the given userId.

    Copy linkRequest

    Path parameters
    Copy linkuserId string Required

    ID of the User.

    Query parameters
    Copy linkafter string Optional

    Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

    Copy linkbefore string Optional

    Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

    Copy linkpageSize integer Optional

    Number of records to return per page. Default page size is 50.

    Copy linkResponse 200

    Attributes
    • Copy linkdata array of object

      Paginated list of chargers

      Show child attributes
      • Copy linkdata[].id string

        Charger ID

      • Copy linkdata[].userId string

        The ID of the user that linked this charger.

      • Copy linkdata[].vendor string

        Machine-friendly name of the vendor. Use this in API requests.

        Possible enum values:

          ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
      • Copy linkdata[].lastSeen string<date-time>

        The last time Enode communicated with the charger.

      • Copy linkdata[].isReachable boolean

        Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

      • Copy linkdata[].chargeState object

        Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

        Show child attributes
        • Copy linkdata[].chargeState.isPluggedIn boolean or null

          Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

        • Copy linkdata[].chargeState.isCharging boolean or null

          Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

        • Copy linkdata[].chargeState.chargeRate number or null

          The current charge rate in kW.

          This property is only available when the charger is actively charging a vehicle, and is null any other time.

        • Copy linkdata[].chargeState.lastUpdated string<date-time> or null

          Time of latest charge state update

        • Copy linkdata[].chargeState.maxCurrent number or null

          Desired max current in amperes, if set

        • Copy linkdata[].chargeState.powerDeliveryState string

          The current state of power delivery between the vehicle and charger.

          • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
          • UNPLUGGED: The vehicle is not connected to the charger.
          • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
          • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
          • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
          • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
          • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
          • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

          Possible enum values:

            UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
        • Copy linkdata[].chargeState.pluggedInVehicleId string or null

          ID of the vehicle currently plugged into the charger. 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.
        • Copy linkdata[].chargeState.chargeRateLimit number or null

          The current charge rate limit in kW. Returns null when unavailable from the vendor.

          Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

      • Copy linkdata[].capabilities object

        A collection of descriptors that describe the capabilities of this specific charger

        Show child attributes
        • Copy linkdata[].capabilities.information object

          Full availability of information data.

          Show child attributes
          • Copy linkdata[].capabilities.information.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.information.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.chargeState object

          Full availability of chargeState data.

          Show child attributes
          • Copy linkdata[].capabilities.chargeState.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.chargeState.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.startCharging object

          Supports START charging command.

          Show child attributes
          • Copy linkdata[].capabilities.startCharging.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.startCharging.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.stopCharging object

          Supports STOP charging command.

          Show child attributes
          • Copy linkdata[].capabilities.stopCharging.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.stopCharging.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.setMaxCurrent object

          Ability to set the max charge rate.

          Show child attributes
          • Copy linkdata[].capabilities.setMaxCurrent.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.setMaxCurrent.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkdata[].capabilities.setChargeRateLimit object

          Ability to set the charge rate limit in kW.

          Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

          Show child attributes
          • Copy linkdata[].capabilities.setChargeRateLimit.isCapable boolean

            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

          • Copy linkdata[].capabilities.setChargeRateLimit.interventionIds array of string

            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

          • Copy linkdata[].capabilities.setChargeRateLimit.allowedRange object

            Allowed charge rate limits for the charger.

            Show child attributes
            • Copy linkdata[].capabilities.setChargeRateLimit.allowedRange.min number or null

              The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

            • Copy linkdata[].capabilities.setChargeRateLimit.allowedRange.max number or null

              The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

      • Copy linkdata[].scopes array of string

        Scopes that the user has granted for this charger.

      • Copy linkdata[].information object

        Descriptive information about the Charger

        Show child attributes
        • Copy linkdata[].information.brand string

          A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

        • Copy linkdata[].information.model string

          Charger model

        • Copy linkdata[].information.year number or null

          Charger production year

        • Copy linkdata[].information.serialNumber string

          Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

        • Copy linkdata[].information.imageUrl string or null

          URL to an image of the charger model. null when not available.

      • Copy linkdata[].location object
        Show child attributes
        • Copy linkdata[].location.id string<uuid> or null

          ID of the location the charger is currently positioned at (if any).

        • Copy linkdata[].location.lastUpdated string<date-time> or null

          Time of last received location state update

    • Copy linkpagination object

      Cursors to the pages before and after current page. See the PaginationAPI section for reference.

      Show child attributes
    Was this section helpful?

    Get charger

    GET /chargers/{chargerId}

    Copy linkRequest

    Path parameters
    Copy linkchargerId string Required

    ID of the Charger.

    Copy linkResponse 200

    Attributes
    • Copy linkid string

      Charger ID

    • Copy linkuserId string

      The ID of the user that linked this charger.

    • Copy linkvendor string

      Machine-friendly name of the vendor. Use this in API requests.

      Possible enum values:

        ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
    • Copy linklastSeen string<date-time>

      The last time Enode communicated with the charger.

    • Copy linkisReachable boolean

      Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

    • Copy linkchargeState object

      Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

      Show child attributes
      • Copy linkchargeState.isPluggedIn boolean or null

        Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

      • Copy linkchargeState.isCharging boolean or null

        Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

      • Copy linkchargeState.chargeRate number or null

        The current charge rate in kW.

        This property is only available when the charger is actively charging a vehicle, and is null any other time.

      • Copy linkchargeState.lastUpdated string<date-time> or null

        Time of latest charge state update

      • Copy linkchargeState.maxCurrent number or null

        Desired max current in amperes, if set

      • Copy linkchargeState.powerDeliveryState string

        The current state of power delivery between the vehicle and charger.

        • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
        • UNPLUGGED: The vehicle is not connected to the charger.
        • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
        • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
        • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
        • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
        • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
        • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

        Possible enum values:

          UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
      • Copy linkchargeState.pluggedInVehicleId string or null

        ID of the vehicle currently plugged into the charger. 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.
      • Copy linkchargeState.chargeRateLimit number or null

        The current charge rate limit in kW. Returns null when unavailable from the vendor.

        Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

    • Copy linkcapabilities object

      A collection of descriptors that describe the capabilities of this specific charger

      Show child attributes
      • Copy linkcapabilities.information object

        Full availability of information data.

        Show child attributes
        • Copy linkcapabilities.information.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.information.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.chargeState object

        Full availability of chargeState data.

        Show child attributes
        • Copy linkcapabilities.chargeState.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.chargeState.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.startCharging object

        Supports START charging command.

        Show child attributes
        • Copy linkcapabilities.startCharging.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.startCharging.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.stopCharging object

        Supports STOP charging command.

        Show child attributes
        • Copy linkcapabilities.stopCharging.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.stopCharging.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.setMaxCurrent object

        Ability to set the max charge rate.

        Show child attributes
        • Copy linkcapabilities.setMaxCurrent.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.setMaxCurrent.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.setChargeRateLimit object

        Ability to set the charge rate limit in kW.

        Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

        Show child attributes
        • Copy linkcapabilities.setChargeRateLimit.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.setChargeRateLimit.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkcapabilities.setChargeRateLimit.allowedRange object

          Allowed charge rate limits for the charger.

          Show child attributes
          • Copy linkcapabilities.setChargeRateLimit.allowedRange.min number or null

            The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

          • Copy linkcapabilities.setChargeRateLimit.allowedRange.max number or null

            The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

    • Copy linkscopes array of string

      Scopes that the user has granted for this charger.

    • Copy linkinformation object

      Descriptive information about the Charger

      Show child attributes
      • Copy linkinformation.brand string

        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

      • Copy linkinformation.model string

        Charger model

      • Copy linkinformation.year number or null

        Charger production year

      • Copy linkinformation.serialNumber string

        Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

      • Copy linkinformation.imageUrl string or null

        URL to an image of the charger model. null when not available.

    • Copy linklocation object
      Show child attributes
      • Copy linklocation.id string<uuid> or null

        ID of the location the charger is currently positioned at (if any).

      • Copy linklocation.lastUpdated string<date-time> or null

        Time of last received location state update

    Was this section helpful?

    Set location for a charger

    PUT /chargers/{chargerId}

    Update the locationId field on a Charger.

    Copy linkRequest

    Path parameters
    Copy linkchargerId string Required

    ID of the Charger.

    Attributes
    • Copy linklocationId string<uuid> or null Required

    Copy linkResponse 200

    Attributes
    • Copy linkid string

      Charger ID

    • Copy linkuserId string

      The ID of the user that linked this charger.

    • Copy linkvendor string

      Machine-friendly name of the vendor. Use this in API requests.

      Possible enum values:

        ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
    • Copy linklastSeen string<date-time>

      The last time Enode communicated with the charger.

    • Copy linkisReachable boolean

      Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

    • Copy linkchargeState object

      Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

      Show child attributes
      • Copy linkchargeState.isPluggedIn boolean or null

        Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

      • Copy linkchargeState.isCharging boolean or null

        Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

      • Copy linkchargeState.chargeRate number or null

        The current charge rate in kW.

        This property is only available when the charger is actively charging a vehicle, and is null any other time.

      • Copy linkchargeState.lastUpdated string<date-time> or null

        Time of latest charge state update

      • Copy linkchargeState.maxCurrent number or null

        Desired max current in amperes, if set

      • Copy linkchargeState.powerDeliveryState string

        The current state of power delivery between the vehicle and charger.

        • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
        • UNPLUGGED: The vehicle is not connected to the charger.
        • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
        • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
        • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
        • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
        • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
        • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

        Possible enum values:

          UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
      • Copy linkchargeState.pluggedInVehicleId string or null

        ID of the vehicle currently plugged into the charger. 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.
      • Copy linkchargeState.chargeRateLimit number or null

        The current charge rate limit in kW. Returns null when unavailable from the vendor.

        Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

    • Copy linkcapabilities object

      A collection of descriptors that describe the capabilities of this specific charger

      Show child attributes
      • Copy linkcapabilities.information object

        Full availability of information data.

        Show child attributes
        • Copy linkcapabilities.information.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.information.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.chargeState object

        Full availability of chargeState data.

        Show child attributes
        • Copy linkcapabilities.chargeState.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.chargeState.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.startCharging object

        Supports START charging command.

        Show child attributes
        • Copy linkcapabilities.startCharging.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.startCharging.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.stopCharging object

        Supports STOP charging command.

        Show child attributes
        • Copy linkcapabilities.stopCharging.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.stopCharging.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.setMaxCurrent object

        Ability to set the max charge rate.

        Show child attributes
        • Copy linkcapabilities.setMaxCurrent.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.setMaxCurrent.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

      • Copy linkcapabilities.setChargeRateLimit object

        Ability to set the charge rate limit in kW.

        Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

        Show child attributes
        • Copy linkcapabilities.setChargeRateLimit.isCapable boolean

          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

        • Copy linkcapabilities.setChargeRateLimit.interventionIds array of string

          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

        • Copy linkcapabilities.setChargeRateLimit.allowedRange object

          Allowed charge rate limits for the charger.

          Show child attributes
          • Copy linkcapabilities.setChargeRateLimit.allowedRange.min number or null

            The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

          • Copy linkcapabilities.setChargeRateLimit.allowedRange.max number or null

            The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

    • Copy linkscopes array of string

      Scopes that the user has granted for this charger.

    • Copy linkinformation object

      Descriptive information about the Charger

      Show child attributes
      • Copy linkinformation.brand string

        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

      • Copy linkinformation.model string

        Charger model

      • Copy linkinformation.year number or null

        Charger production year

      • Copy linkinformation.serialNumber string

        Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

      • Copy linkinformation.imageUrl string or null

        URL to an image of the charger model. null when not available.

    • Copy linklocation object
      Show child attributes
      • Copy linklocation.id string<uuid> or null

        ID of the location the charger is currently positioned at (if any).

      • Copy linklocation.lastUpdated string<date-time> or null

        Time of last received location state update

    Was this section helpful?

    Control charging

    POST /chargers/{chargerId}/charging

    Request for a charger to start or stop charging. This request creates an Action that will retry until the charger's powerDeliveryState matches the expected value. The Action must complete before any further commands are sent to the charger. Only one Action can be active for a specific charger at a time. If a new Action is created, the previous Action will be automatically cancelled and transitioned to the CANCELLED state. Transitions can be tracked via the user:vendor-action:updated webhook event or Get Charger ActionAPI.

    This endpoint returns an error with status code 422 if the charger is controlled by a schedule. To restore user control, either disable the schedule or use Create Smart OverrideAPI to temporarily enable charging.

    Copy linkRequest

    Path parameters
    Copy linkchargerId string Required

    ID of the Charger.

    Attributes
    • Copy linkaction string Required

      Charging action to perform

      Possible enum values:

        STARTSTOP

    Copy linkResponse 200

    Resulting charge action

    Attributes
    • Copy linkid string<uuid>

      The ID of the action.

    • Copy linkuserId string

      The ID of the user that owns the target of this action.

    • Copy linkcreatedAt string<date-time>

      Time when this action was created

    • Copy linkupdatedAt string<date-time>

      Time when this action was last updated

    • Copy linkcompletedAt string<date-time> or null

      Time when the action transitioned to a non-pending state.

    • Copy linkstate string

      The real-time status of an action executed on a target.

      • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
      • CONFIRMED: Successful transition of the target to the desired state.
      • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
      • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

      Possible enum values:

        PENDINGCONFIRMEDFAILEDCANCELLED
    • Copy linktargetId string

      ID of the target which this action is controlling.

    • Copy linktargetType string

      Possible enum values:

        vehiclecharger
    • Copy linkkind string

      The charging action to perform

      Possible enum values:

        STARTSTOP
    • Copy linkfailureReason object or null

      Information about why was this action not executed successfully.

      Show child attributes
      • Copy linkfailureReason.type string

        A machine-readable high level error category.

        • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
        • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
        • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
        • CONFLICT: A newer action for this device has been created. This action is now abandoned.
        • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
        • NOT_FOUND: The device was deleted while the action was PENDING.

        Possible enum values:

          NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
      • Copy linkfailureReason.detail string

        A human-readable explanation of why the action was unsuccessful.

    Copy linkResponse 400

    A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the charger cannot perform the action, is fully charged, or is already in the desired state.

    Attributes
    • Copy linktype string

      A URI reference that identifies the problem type.

    • Copy linktitle string

      A short, human-readable summary of the problem type.

    • Copy linkdetail string

      A human-readable explanation specific to this occurrence of the problem.

    • Copy linkissues array of object

      A list of validation issues which occurred while validating some component of the network payload.

      Show child attributes

      Copy linkResponse 422

      Charger controlled by a Schedule

      Attributes
      • Copy linktype string

        A URI reference that identifies the problem type.

      • Copy linktitle string

        A short, human-readable summary of the problem type.

      • Copy linkdetail string

        A human-readable explanation specific to this occurrence of the problem.

      • Copy linkissues array of object

        A list of validation issues which occurred while validating some component of the network payload.

        Show child attributes
        Was this section helpful?

        Set max current

        POST /chargers/{chargerId}/max-current

        Register for a change of the maxCurrent field on a charger. This request creates an Action that will retry until the charger's maxCurrent matches the expected value. The Action must complete before any further commands are sent to the charger. Only one Action can be active for a specific charger at a time. If a new Action is created, the previous Action will be automatically cancelled and transitioned to the CANCELLED state. Transitions can be tracked via the user:vendor-action:updated webhook event or Get Charger ActionAPI.

        Copy linkRequest

        Path parameters
        Copy linkchargerId string Required

        ID of the Charger.

        Attributes
        • Copy linkmaxCurrent number Required

          Desired max current in ampere

        Copy linkResponse 200

        Attributes
        • Copy linkid string<uuid>

          The ID of the action.

        • Copy linkuserId string

          The ID of the user that owns the target of this action.

        • Copy linkcreatedAt string<date-time>

          Time when this action was created

        • Copy linkupdatedAt string<date-time>

          Time when this action was last updated

        • Copy linkcompletedAt string<date-time> or null

          Time when the action transitioned to a non-pending state.

        • Copy linkstate string

          The real-time status of an action executed on a target.

          • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
          • CONFIRMED: Successful transition of the target to the desired state.
          • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
          • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

          Possible enum values:

            PENDINGCONFIRMEDFAILEDCANCELLED
        • Copy linktargetId string

          ID of the entity which this action is controlling.

        • Copy linktargetType string

          Possible enum values:

            vehiclecharger
        • Copy linktargetState object

          Target maximum current for entity

          Show child attributes
          • Copy linktargetState.maxCurrent number

            Desired max current in ampere

        • Copy linkfailureReason object or null

          Information about why was this action not executed successfully.

          Show child attributes
          • Copy linkfailureReason.type string

            A machine-readable high level error category.

            • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
            • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
            • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
            • CONFLICT: A newer action for this device has been created. This action is now abandoned.
            • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
            • NOT_FOUND: The device was deleted while the action was PENDING.

            Possible enum values:

              NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
          • Copy linkfailureReason.detail string

            A human-readable explanation of why the action was unsuccessful.

        Copy linkResponse 400

        A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the charger cannot perform the action.

        Attributes
        • Copy linktype string

          A URI reference that identifies the problem type.

        • Copy linktitle string

          A short, human-readable summary of the problem type.

        • Copy linkdetail string

          A human-readable explanation specific to this occurrence of the problem.

        • Copy linkissues array of object

          A list of validation issues which occurred while validating some component of the network payload.

          Show child attributes
          Was this section helpful?

          Set charge rate limitEarly Adopter

          POST /chargers/{chargerId}/charge-rate-limit

          Sets the charge rate limit for a charger in kW. Creates an Action that retries until the charger's chargeRateLimit matches the target value. Setting chargeRateLimit also changes maxCurrent.

          Only one Action can be active per charger - creating a new one cancels the previous action (state: CANCELLED). The Action must complete before sending further commands. Track transitions via the user:vendor-action:updated webhook or Get Charger ActionAPI.

          If you are interested in joining the Early Adopter program, please reach out to Enode with a short description of your use case.

          Copy linkRequest

          Path parameters
          Copy linkchargerId string Required

          ID of the Charger.

          Attributes
          • Copy linkchargeRateLimit number Required

            Desired charge rate limit in kilowatts (kW)

          Copy linkResponse 200

          Attributes
          • Copy linkid string<uuid>

            The ID of the action.

          • Copy linkuserId string

            The ID of the user that owns the target of this action.

          • Copy linkcreatedAt string<date-time>

            Time when this action was created

          • Copy linkupdatedAt string<date-time>

            Time when this action was last updated

          • Copy linkcompletedAt string<date-time> or null

            Time when the action transitioned to a non-pending state.

          • Copy linkstate string

            The real-time status of an action executed on a target.

            • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
            • CONFIRMED: Successful transition of the target to the desired state.
            • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
            • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

            Possible enum values:

              PENDINGCONFIRMEDFAILEDCANCELLED
          • Copy linktargetId string

            ID of the charger which this action is controlling.

          • Copy linktargetType string

            Possible enum values:

              charger
          • Copy linktargetState object

            Target charge rate limit for charger

            Show child attributes
            • Copy linktargetState.chargeRateLimit number

              Desired charge rate limit in kilowatts (kW)

          • Copy linkfailureReason object or null

            Information about why was this action not executed successfully.

            Show child attributes
            • Copy linkfailureReason.type string

              A machine-readable high level error category.

              • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
              • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
              • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
              • CONFLICT: A newer action for this device has been created. This action is now abandoned.
              • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
              • NOT_FOUND: The device was deleted while the action was PENDING.

              Possible enum values:

                NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
            • Copy linkfailureReason.detail string

              A human-readable explanation of why the action was unsuccessful.

          Copy linkResponse 400

          A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the charger cannot perform the action.

          Attributes
          • Copy linktype string

            A URI reference that identifies the problem type.

          • Copy linktitle string

            A short, human-readable summary of the problem type.

          • Copy linkdetail string

            A human-readable explanation specific to this occurrence of the problem.

          • Copy linkissues array of object

            A list of validation issues which occurred while validating some component of the network payload.

            Show child attributes
            Was this section helpful?

            Get charger action

            GET /chargers/actions/{actionId}

            Returns the current state of the requested Action.

            Copy linkRequest

            Path parameters
            Copy linkactionId string<uuid> Required

            ID of the Action.

            Copy linkResponse 200

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the target which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                vehiclecharger
            • Copy linkkind string

              The charging action to perform

              Possible enum values:

                STARTSTOP
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Copy linkResponse 404

            Action not found.

            Was this section helpful?

            Cancel charger action

            POST /chargers/actions/{actionId}/cancel

            Cancels a pending Action, halting any further attempts by Enode to execute it.

            Note: This only updates the Action's status to CANCELLED within Enode and does not reflect a change in the vendor's cloud. Thus any pending Action in the vendor's cloud might still be executed.

            Copy linkRequest

            Path parameters
            Copy linkactionId string<uuid> Required

            ID of the Action.

            Copy linkResponse 200

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the target which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                vehiclecharger
            • Copy linkkind string

              The charging action to perform

              Possible enum values:

                STARTSTOP
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Copy linkResponse 404

            Action not found.

            Copy linkResponse 409

            Action already in a resolved state.

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the target which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                vehiclecharger
            • Copy linkkind string

              The charging action to perform

              Possible enum values:

                STARTSTOP
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Was this section helpful?

            Refresh charger data

            POST /chargers/{chargerId}/refresh-hint

            Use this endpoint to initiate an expedited data refresh for the specified charger.

            Note: The Enode platform keeps data automatically up-to-date and detects changes in the OEM APIs within seconds to a few minutes. We change the refresh interval dynamically based on a number of heuristics. This ensures we find the best trade-off between the stability of the connection to the OEM and freshness of the data.
            This method overrides most of our heuristics and should therefore be used with caution. You may use it when you have a strong reason to believe the data might be stale.

            Copy linkRequest

            Path parameters
            Copy linkchargerId string Required

            ID of the Charger.

            Copy linkResponse 204

            Refresh hint registered successfully.

            Copy linkResponse 404

            The specified charger was not found.

            Was this section helpful?

            HEM systems

            HEM Systems (Home Energy Management Systems) track flows between various assets such as solar inverters, batteries, and meters. They provide information and status details for the system and also support historical metrics through statistics for solar generation, household consumption, grid import/export, battery levels, and charge/discharge. Refer to the Guide for details on how to enable this functionality on your account.

            List HEM systemsBeta

            GET /hem-systems

            Returns a paginated list of all HEM Systems.

            Copy linkRequest

            Query parameters
            Copy linkafter string Optional

            Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

            Copy linkbefore string Optional

            Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

            Copy linkpageSize integer Optional

            Number of records to return per page. Default page size is 50.

            Copy linkResponse 200

            Attributes
            • Copy linkdata array of object

              Paginated list of HEM systems

              Show child attributes
              • Copy linkdata[].id string<uuid>

                Unique identifier for the HEM System

              • Copy linkdata[].userId string

                The ID of the user that linked devices of the solar installation

              • Copy linkdata[].locationId string<uuid> or null

                ID of the location the HEM System is associated with

              • Copy linkdata[].information object
                Show child attributes
                • Copy linkdata[].information.vendor string

                  Machine-friendly name of the vendor. Use this in API requests.

                  Possible enum values:

                    SOLAREDGEFOXESSSMATESLAGIVENERGYSOLAXSOLISHUAWEIENPHASE
                • Copy linkdata[].information.name string

                  Name of the HEM System, as set by the user on the device/vendor.

                • Copy linkdata[].information.installationDate string<date-time>

                  HEM System installation date

                • Copy linkdata[].information.latitude number or null

                  Latitude in degrees

                • Copy linkdata[].information.longitude number or null

                  Longitude in degrees

                • Copy linkdata[].information.address string or null

                  Address of the HEM System

                • Copy linkdata[].information.timezone string or null
                • Copy linkdata[].information.lastUpdated string<date-time> or null

                  Time of last received location state update

              • Copy linkdata[].status object

                Status of the HEM System

                Show child attributes
                • Copy linkdata[].status.lastSeen string<date-time> or null

                  The last time Enode successfully communicated with the HEM system.

                • Copy linkdata[].status.energy object

                  Energy metrics for the HEM System

                  Show child attributes
                  • Copy linkdata[].status.energy.today object

                    Energy metrics for the current day (from midnight to last update seen by Enode)

                    Show child attributes
                    • Copy linkdata[].status.energy.today.generation number or null

                      Solar generation in kWh

                    • Copy linkdata[].status.energy.today.consumption number or null

                      Household consumption in kWh

                    • Copy linkdata[].status.energy.today.charge number or null

                      Battery charge in kWh

                    • Copy linkdata[].status.energy.today.discharge number or null

                      Battery discharge in kWh

                    • Copy linkdata[].status.energy.today.import number or null

                      Grid import in kWh

                    • Copy linkdata[].status.energy.today.export number or null

                      Grid export in kWh

                    • Copy linkdata[].status.energy.today.unit string

                      Unit of the metrics

                    • Copy linkdata[].status.energy.today.lastUpdated string<date-time> or null

                      Time of last received metrics update

            • Copy linkpagination object

              Cursors to the pages before and after current page. See the PaginationAPI section for reference.

              Show child attributes
            Was this section helpful?

            Get HEM system by idBeta

            GET /hem-systems/{hemSystemId}

            Returns a single HEM System by ID.

            Copy linkRequest

            Path parameters
            Copy linkhemSystemId string<uuid> Required

            The ID of the HEM System to look up.

            Copy linkResponse 200

            Attributes
            • Copy linkid string<uuid>

              Unique identifier for the HEM System

            • Copy linkuserId string

              The ID of the user that linked devices of the solar installation

            • Copy linklocationId string<uuid> or null

              ID of the location the HEM System is associated with

            • Copy linkinformation object
              Show child attributes
              • Copy linkinformation.vendor string

                Machine-friendly name of the vendor. Use this in API requests.

                Possible enum values:

                  SOLAREDGEFOXESSSMATESLAGIVENERGYSOLAXSOLISHUAWEIENPHASE
              • Copy linkinformation.name string

                Name of the HEM System, as set by the user on the device/vendor.

              • Copy linkinformation.installationDate string<date-time>

                HEM System installation date

              • Copy linkinformation.latitude number or null

                Latitude in degrees

              • Copy linkinformation.longitude number or null

                Longitude in degrees

              • Copy linkinformation.address string or null

                Address of the HEM System

              • Copy linkinformation.timezone string or null
              • Copy linkinformation.lastUpdated string<date-time> or null

                Time of last received location state update

            • Copy linkstatus object

              Status of the HEM System

              Show child attributes
              • Copy linkstatus.lastSeen string<date-time> or null

                The last time Enode successfully communicated with the HEM system.

              • Copy linkstatus.energy object

                Energy metrics for the HEM System

                Show child attributes
                • Copy linkstatus.energy.today object

                  Energy metrics for the current day (from midnight to last update seen by Enode)

                  Show child attributes
                  • Copy linkstatus.energy.today.generation number or null

                    Solar generation in kWh

                  • Copy linkstatus.energy.today.consumption number or null

                    Household consumption in kWh

                  • Copy linkstatus.energy.today.charge number or null

                    Battery charge in kWh

                  • Copy linkstatus.energy.today.discharge number or null

                    Battery discharge in kWh

                  • Copy linkstatus.energy.today.import number or null

                    Grid import in kWh

                  • Copy linkstatus.energy.today.export number or null

                    Grid export in kWh

                  • Copy linkstatus.energy.today.unit string

                    Unit of the metrics

                  • Copy linkstatus.energy.today.lastUpdated string<date-time> or null

                    Time of last received metrics update

            Was this section helpful?

            List HEM systems for userBeta

            GET /users/{userId}/hem-systems

            Returns a paginated list of all HEM Systems for a specific user.

            Copy linkRequest

            Path parameters
            Copy linkuserId string Required

            ID of the User.

            Query parameters
            Copy linkafter string Optional

            Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

            Copy linkbefore string Optional

            Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

            Copy linkpageSize integer Optional

            Number of records to return per page. Default page size is 50.

            Copy linkResponse 200

            Attributes
            • Copy linkdata array of object

              Paginated list of HEM systems

              Show child attributes
              • Copy linkdata[].id string<uuid>

                Unique identifier for the HEM System

              • Copy linkdata[].userId string

                The ID of the user that linked devices of the solar installation

              • Copy linkdata[].locationId string<uuid> or null

                ID of the location the HEM System is associated with

              • Copy linkdata[].information object
                Show child attributes
                • Copy linkdata[].information.vendor string

                  Machine-friendly name of the vendor. Use this in API requests.

                  Possible enum values:

                    SOLAREDGEFOXESSSMATESLAGIVENERGYSOLAXSOLISHUAWEIENPHASE
                • Copy linkdata[].information.name string

                  Name of the HEM System, as set by the user on the device/vendor.

                • Copy linkdata[].information.installationDate string<date-time>

                  HEM System installation date

                • Copy linkdata[].information.latitude number or null

                  Latitude in degrees

                • Copy linkdata[].information.longitude number or null

                  Longitude in degrees

                • Copy linkdata[].information.address string or null

                  Address of the HEM System

                • Copy linkdata[].information.timezone string or null
                • Copy linkdata[].information.lastUpdated string<date-time> or null

                  Time of last received location state update

              • Copy linkdata[].status object

                Status of the HEM System

                Show child attributes
                • Copy linkdata[].status.lastSeen string<date-time> or null

                  The last time Enode successfully communicated with the HEM system.

                • Copy linkdata[].status.energy object

                  Energy metrics for the HEM System

                  Show child attributes
                  • Copy linkdata[].status.energy.today object

                    Energy metrics for the current day (from midnight to last update seen by Enode)

                    Show child attributes
                    • Copy linkdata[].status.energy.today.generation number or null

                      Solar generation in kWh

                    • Copy linkdata[].status.energy.today.consumption number or null

                      Household consumption in kWh

                    • Copy linkdata[].status.energy.today.charge number or null

                      Battery charge in kWh

                    • Copy linkdata[].status.energy.today.discharge number or null

                      Battery discharge in kWh

                    • Copy linkdata[].status.energy.today.import number or null

                      Grid import in kWh

                    • Copy linkdata[].status.energy.today.export number or null

                      Grid export in kWh

                    • Copy linkdata[].status.energy.today.unit string

                      Unit of the metrics

                    • Copy linkdata[].status.energy.today.lastUpdated string<date-time> or null

                      Time of last received metrics update

            • Copy linkpagination object

              Cursors to the pages before and after current page. See the PaginationAPI section for reference.

              Show child attributes
            Was this section helpful?

            Get HEM system statisticsBeta

            GET /hem-systems/{hemSystemId}/statistics

            Returns time-bucketed metrics for a specific HEM System, including solar generation, household consumption, grid import/export, battery level, and charge/discharge.

            The endpoint supports querying by DAY (YYYY-MM-DD) and MONTH (YYYY-MM) intervals from the system’s installation date up to the current date. DAY queries return the most granular available resolution, while MONTH queries report daily buckets. All timestamps are localized to the HEM system’s configured timezone. Buckets < 1 hour (e.g., PT5M, PT15M) report average power (kW); buckets ≥ 1 hour report energy (kWh). When data is not available, isAvailable will be false with a reason. Note: Battery level is only available for DAY interval queries.

            Copy linkRequest

            Path parameters
            Copy linkhemSystemId string<uuid> Required

            The ID of the HEM System to look up.

            Query parameters
            Copy linkinterval string Required

            Copy linkResponse 200

            Attributes
            • Copy linktimeseries object

              Collection of all HEM System statistics timeseries

              Show child attributes
              • Copy linktimeseries.generation

                Solar generation statistics

                Show child attributes
                • Copy linktimeseries.generation.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.generation.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.generation.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.generation.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.generation.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.generation.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.generation.timezone string

                  Timezone of the data

                • Copy linktimeseries.generation.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.generation.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.generation.data[].v number or null

                    Value of the data point, null if no data available

              • Copy linktimeseries.consumption

                Household consumption statistics

                Show child attributes
                • Copy linktimeseries.consumption.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.consumption.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.consumption.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.consumption.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.consumption.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.consumption.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.consumption.timezone string

                  Timezone of the data

                • Copy linktimeseries.consumption.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.consumption.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.consumption.data[].v number or null

                    Value of the data point, null if no data available

              • Copy linktimeseries.import

                Grid import statistics

                Show child attributes
                • Copy linktimeseries.import.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.import.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.import.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.import.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.import.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.import.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.import.timezone string

                  Timezone of the data

                • Copy linktimeseries.import.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.import.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.import.data[].v number or null

                    Value of the data point, null if no data available

              • Copy linktimeseries.export

                Grid export statistics

                Show child attributes
                • Copy linktimeseries.export.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.export.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.export.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.export.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.export.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.export.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.export.timezone string

                  Timezone of the data

                • Copy linktimeseries.export.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.export.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.export.data[].v number or null

                    Value of the data point, null if no data available

              • Copy linktimeseries.charge

                Battery charge statistics

                Show child attributes
                • Copy linktimeseries.charge.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.charge.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.charge.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.charge.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.charge.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.charge.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.charge.timezone string

                  Timezone of the data

                • Copy linktimeseries.charge.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.charge.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.charge.data[].v number or null

                    Value of the data point, null if no data available

              • Copy linktimeseries.discharge

                Battery discharge statistics

                Show child attributes
                • Copy linktimeseries.discharge.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.discharge.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.discharge.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.discharge.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.discharge.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.discharge.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.discharge.timezone string

                  Timezone of the data

                • Copy linktimeseries.discharge.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.discharge.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.discharge.data[].v number or null

                    Value of the data point, null if no data available

              • Copy linktimeseries.batteryLevel

                Battery level statistics

                Show child attributes
                • Copy linktimeseries.batteryLevel.isAvailable boolean

                  Indicates that the timeseries data is available

                  Possible enum values:

                    true
                • Copy linktimeseries.batteryLevel.unit string

                  Unit of measurement for HEM System statistics

                  Possible enum values:

                    kWkWh%
                • Copy linktimeseries.batteryLevel.unitType string

                  Type of unit for HEM System statistics

                  Possible enum values:

                    EnergyPowerSoC
                • Copy linktimeseries.batteryLevel.sampling object

                  Sampling configuration for HEM System statistics data

                  Show child attributes
                  • Copy linktimeseries.batteryLevel.sampling.mode string

                    Sampling mode for the data

                    Possible enum values:

                      bucketed
                  • Copy linktimeseries.batteryLevel.sampling.resolution string

                    Time resolution of the bucketed data in the ISO 8601 format

                    Possible enum values:

                      PT5MPT10MPT15MPT30MPT1HP1D
                • Copy linktimeseries.batteryLevel.timezone string

                  Timezone of the data

                • Copy linktimeseries.batteryLevel.data array of object

                  Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                  Show child attributes
                  • Copy linktimeseries.batteryLevel.data[].t string

                    Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                  • Copy linktimeseries.batteryLevel.data[].v number or null

                    Value of the data point, null if no data available

            Copy linkResponse 400

            Bad Request

            Attributes
            • Copy linkstatusCode number

              Possible enum values:

                400
            • Copy linkheaders object
              Show child attributes
              • Copy linkheaders.content-type string

                Possible enum values:

                  application/problem+json; charset=utf-8
            • Copy linkbody object
              Show child attributes
              • Copy linkbody.type string

                Possible enum values:

                  https://developers.enode.com/api/problems/bad-request
              • Copy linkbody.title string

                Possible enum values:

                  Bad Request
              • Copy linkbody.detail string

                Detailed problem description

            Copy linkResponse 422

            HEM System Statistics Not Available

            Attributes
            • Copy linkstatusCode number

              Possible enum values:

                422
            • Copy linkheaders object
              Show child attributes
              • Copy linkheaders.content-type string

                Possible enum values:

                  application/problem+json; charset=utf-8
            • Copy linkbody object
              Show child attributes
              • Copy linkbody.type string

                Possible enum values:

                  https://developers.enode.com/api/problems/hem-system-statistics-not-available
              • Copy linkbody.title string

                Possible enum values:

                  HEM System Statistics Not Available
              • Copy linkbody.detail string

                Detailed problem description

            Copy linkResponse 503

            Vendor Temporarily Unavailable

            Attributes
            • Copy linkstatusCode number

              Possible enum values:

                503
            • Copy linkheaders object
              Show child attributes
              • Copy linkheaders.content-type string

                Possible enum values:

                  application/problem+json; charset=utf-8
              • Copy linkheaders.retry-after number
            • Copy linkbody object
              Show child attributes
              • Copy linkbody.type string

                Possible enum values:

                  https://developers.enode.com/api/problems/vendor-temporarily-unavailable
              • Copy linkbody.title string

                Possible enum values:

                  Vendor Temporarily Unavailable
              • Copy linkbody.detail string

                Detailed problem description

            Was this section helpful?

            HVAC

            HVAC units (heaters, heat pumps, air conditioning, thermostats, etc.) are controlled by altering the mode & target setpoints. This can be done directly using the Set Permanent HoldAPI endpoint, Return to ScheduleAPI, or via Schedules.

            List HVAC units

            GET /hvacs

            Paginated list of HVAC units

            Copy linkRequest

            Query parameters
            Copy linkafter string Optional

            Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

            Copy linkbefore string Optional

            Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

            Copy linkpageSize integer Optional

            Number of records to return per page. Default page size is 50.

            Copy linkResponse 200

            Attributes
            • Copy linkdata array of object

              List of paginated HVAC units

              Show child attributes
              • Copy linkdata[].id string

                HVAC unit ID

              • Copy linkdata[].userId string

                The ID of the user that linked this hvac.

              • Copy linkdata[].vendor string

                Machine-friendly name of the vendor. Use this in API requests.

                Possible enum values:

                  TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
              • Copy linkdata[].lastSeen string<date-time>

                The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

              • Copy linkdata[].isReachable boolean

                Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

              • Copy linkdata[].consumptionRate number or null

                The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

              • Copy linkdata[].information object

                Descriptive information about the HVAC unit

                Show child attributes
                • Copy linkdata[].information.brand string

                  A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                • Copy linkdata[].information.model string or null

                  Device model name

                • Copy linkdata[].information.displayName string

                  Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                • Copy linkdata[].information.groupName string or null

                  Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

                • Copy linkdata[].information.category string

                  Classification of the connected HVAC device.

                  • HEATING: A direct heating device, such as an electric panel heater

                  • COOLING: A direct cooling device, such as an air conditioner

                  • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                  • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                  Possible enum values:

                    HEATINGCOOLINGHEAT_PUMPAGGREGATOR
              • Copy linkdata[].temperatureState object

                Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                Show child attributes
                • Copy linkdata[].temperatureState.currentTemperature number or null

                  Current air temperature reported by device in degrees Celsius.

                • Copy linkdata[].temperatureState.isActive boolean

                  Whether the HVAC unit is actively heating or cooling.

                • Copy linkdata[].temperatureState.lastUpdated string<date-time> or null

                  Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

              • Copy linkdata[].thermostatState object

                Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                Show child attributes
                • Copy linkdata[].thermostatState.mode string

                  The current state of the HVAC unit.

                  • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                  • OFF: The HVAC unit is turned off.
                  • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                  • COOL: The HVAC unit will only cool to the given setpoint.
                  • HEAT: The HVAC unit will only heat to the given setpoint

                  Possible enum values:

                    UNKNOWNOFFAUTOCOOLHEAT
                • Copy linkdata[].thermostatState.heatSetpoint number or null

                  If mode allows, heat when currentTemperature falls below this point.

                • Copy linkdata[].thermostatState.coolSetpoint number or null

                  If mode allows, cool when currentTemperature rises above this point.

                • Copy linkdata[].thermostatState.holdType string or null

                  The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                  Possible enum values:

                    PERMANENTSCHEDULED
                • Copy linkdata[].thermostatState.lastUpdated string<date-time> or null

                  Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

              • Copy linkdata[].scopes array of string

                Scopes that the user has granted for this HVAC unit.

              • Copy linkdata[].capabilities object

                An object describing valid states for this HVAC unit.

                Show child attributes
                • Copy linkdata[].capabilities.capableModes array of string or null

                  A list of valid modes for this HVAC unit.

                • Copy linkdata[].capabilities.coolSetpointRange object or null

                  The range of allowable values for coolSetpoint.

                  Show child attributes
                  • Copy linkdata[].capabilities.coolSetpointRange.min number or null

                    The minimum allowable temperature, inclusive.

                  • Copy linkdata[].capabilities.coolSetpointRange.max number or null

                    The maximum allowable temperature, inclusive.

                • Copy linkdata[].capabilities.heatSetpointRange object or null

                  The range of allowable values for heatSetpoint.

                  Show child attributes
                  • Copy linkdata[].capabilities.heatSetpointRange.min number or null

                    The minimum allowable temperature, inclusive.

                  • Copy linkdata[].capabilities.heatSetpointRange.max number or null

                    The maximum allowable temperature, inclusive.

                • Copy linkdata[].capabilities.setpointDifferenceRange object or null

                  A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                  Show child attributes
                  • Copy linkdata[].capabilities.setpointDifferenceRange.min number or null

                    The minimum allowable difference, inclusive.

                  • Copy linkdata[].capabilities.setpointDifferenceRange.max number or null

                    The maximum allowable difference, inclusive.

                • Copy linkdata[].capabilities.setFollowSchedule object

                  Supports following a schedule set on the device.

                  Show child attributes
                  • Copy linkdata[].capabilities.setFollowSchedule.isCapable boolean

                    The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                  • Copy linkdata[].capabilities.setFollowSchedule.interventionIds array of string

                    IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                • Copy linkdata[].capabilities.setPermanentHold object

                  Supports setting a permanent hold.

                  Show child attributes
                  • Copy linkdata[].capabilities.setPermanentHold.isCapable boolean

                    The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                  • Copy linkdata[].capabilities.setPermanentHold.interventionIds array of string

                    IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

              • Copy linkdata[].location object
                Show child attributes
                • Copy linkdata[].location.id string<uuid> or null

                  ID of the charging location the HVAC unit is housed at (if any)

            • Copy linkpagination object

              Cursors to the pages before and after current page. See the PaginationAPI section for reference.

              Show child attributes
            Was this section helpful?

            List user HVAC units

            GET /users/{userId}/hvacs

            Paginated list of HVAC units for the given User

            Copy linkRequest

            Path parameters
            Copy linkuserId string Required

            ID of the User.

            Query parameters
            Copy linkafter string Optional

            Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

            Copy linkbefore string Optional

            Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

            Copy linkpageSize integer Optional

            Number of records to return per page. Default page size is 50.

            Copy linkResponse 200

            Attributes
            • Copy linkdata array of object

              List of paginated HVAC units

              Show child attributes
              • Copy linkdata[].id string

                HVAC unit ID

              • Copy linkdata[].userId string

                The ID of the user that linked this hvac.

              • Copy linkdata[].vendor string

                Machine-friendly name of the vendor. Use this in API requests.

                Possible enum values:

                  TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
              • Copy linkdata[].lastSeen string<date-time>

                The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

              • Copy linkdata[].isReachable boolean

                Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

              • Copy linkdata[].consumptionRate number or null

                The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

              • Copy linkdata[].information object

                Descriptive information about the HVAC unit

                Show child attributes
                • Copy linkdata[].information.brand string

                  A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                • Copy linkdata[].information.model string or null

                  Device model name

                • Copy linkdata[].information.displayName string

                  Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                • Copy linkdata[].information.groupName string or null

                  Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

                • Copy linkdata[].information.category string

                  Classification of the connected HVAC device.

                  • HEATING: A direct heating device, such as an electric panel heater

                  • COOLING: A direct cooling device, such as an air conditioner

                  • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                  • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                  Possible enum values:

                    HEATINGCOOLINGHEAT_PUMPAGGREGATOR
              • Copy linkdata[].temperatureState object

                Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                Show child attributes
                • Copy linkdata[].temperatureState.currentTemperature number or null

                  Current air temperature reported by device in degrees Celsius.

                • Copy linkdata[].temperatureState.isActive boolean

                  Whether the HVAC unit is actively heating or cooling.

                • Copy linkdata[].temperatureState.lastUpdated string<date-time> or null

                  Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

              • Copy linkdata[].thermostatState object

                Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                Show child attributes
                • Copy linkdata[].thermostatState.mode string

                  The current state of the HVAC unit.

                  • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                  • OFF: The HVAC unit is turned off.
                  • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                  • COOL: The HVAC unit will only cool to the given setpoint.
                  • HEAT: The HVAC unit will only heat to the given setpoint

                  Possible enum values:

                    UNKNOWNOFFAUTOCOOLHEAT
                • Copy linkdata[].thermostatState.heatSetpoint number or null

                  If mode allows, heat when currentTemperature falls below this point.

                • Copy linkdata[].thermostatState.coolSetpoint number or null

                  If mode allows, cool when currentTemperature rises above this point.

                • Copy linkdata[].thermostatState.holdType string or null

                  The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                  Possible enum values:

                    PERMANENTSCHEDULED
                • Copy linkdata[].thermostatState.lastUpdated string<date-time> or null

                  Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

              • Copy linkdata[].scopes array of string

                Scopes that the user has granted for this HVAC unit.

              • Copy linkdata[].capabilities object

                An object describing valid states for this HVAC unit.

                Show child attributes
                • Copy linkdata[].capabilities.capableModes array of string or null

                  A list of valid modes for this HVAC unit.

                • Copy linkdata[].capabilities.coolSetpointRange object or null

                  The range of allowable values for coolSetpoint.

                  Show child attributes
                  • Copy linkdata[].capabilities.coolSetpointRange.min number or null

                    The minimum allowable temperature, inclusive.

                  • Copy linkdata[].capabilities.coolSetpointRange.max number or null

                    The maximum allowable temperature, inclusive.

                • Copy linkdata[].capabilities.heatSetpointRange object or null

                  The range of allowable values for heatSetpoint.

                  Show child attributes
                  • Copy linkdata[].capabilities.heatSetpointRange.min number or null

                    The minimum allowable temperature, inclusive.

                  • Copy linkdata[].capabilities.heatSetpointRange.max number or null

                    The maximum allowable temperature, inclusive.

                • Copy linkdata[].capabilities.setpointDifferenceRange object or null

                  A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                  Show child attributes
                  • Copy linkdata[].capabilities.setpointDifferenceRange.min number or null

                    The minimum allowable difference, inclusive.

                  • Copy linkdata[].capabilities.setpointDifferenceRange.max number or null

                    The maximum allowable difference, inclusive.

                • Copy linkdata[].capabilities.setFollowSchedule object

                  Supports following a schedule set on the device.

                  Show child attributes
                  • Copy linkdata[].capabilities.setFollowSchedule.isCapable boolean

                    The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                  • Copy linkdata[].capabilities.setFollowSchedule.interventionIds array of string

                    IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                • Copy linkdata[].capabilities.setPermanentHold object

                  Supports setting a permanent hold.

                  Show child attributes
                  • Copy linkdata[].capabilities.setPermanentHold.isCapable boolean

                    The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                  • Copy linkdata[].capabilities.setPermanentHold.interventionIds array of string

                    IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

              • Copy linkdata[].location object
                Show child attributes
                • Copy linkdata[].location.id string<uuid> or null

                  ID of the charging location the HVAC unit is housed at (if any)

            • Copy linkpagination object

              Cursors to the pages before and after current page. See the PaginationAPI section for reference.

              Show child attributes
            Was this section helpful?

            Set location for an HVAC unit

            PUT /hvacs/{hvacId}

            Update the locationId field on an HVAC unit.

            Copy linkRequest

            Path parameters
            Copy linkhvacId string Required

            ID of the HVAC unit.

            Attributes
            • Copy linklocationId string<uuid> or null Required

            Copy linkResponse 200

            Successfully updated HVAC unit

            Attributes
            • Copy linkid string

              HVAC unit ID

            • Copy linkuserId string

              The ID of the user that linked this hvac.

            • Copy linkvendor string

              Machine-friendly name of the vendor. Use this in API requests.

              Possible enum values:

                TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
            • Copy linklastSeen string<date-time>

              The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

            • Copy linkisReachable boolean

              Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

            • Copy linkconsumptionRate number or null

              The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

            • Copy linkinformation object

              Descriptive information about the HVAC unit

              Show child attributes
              • Copy linkinformation.brand string

                A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

              • Copy linkinformation.model string or null

                Device model name

              • Copy linkinformation.displayName string

                Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

              • Copy linkinformation.groupName string or null

                Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

              • Copy linkinformation.category string

                Classification of the connected HVAC device.

                • HEATING: A direct heating device, such as an electric panel heater

                • COOLING: A direct cooling device, such as an air conditioner

                • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                Possible enum values:

                  HEATINGCOOLINGHEAT_PUMPAGGREGATOR
            • Copy linktemperatureState object

              Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

              Show child attributes
              • Copy linktemperatureState.currentTemperature number or null

                Current air temperature reported by device in degrees Celsius.

              • Copy linktemperatureState.isActive boolean

                Whether the HVAC unit is actively heating or cooling.

              • Copy linktemperatureState.lastUpdated string<date-time> or null

                Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

            • Copy linkthermostatState object

              Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

              Show child attributes
              • Copy linkthermostatState.mode string

                The current state of the HVAC unit.

                • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                • OFF: The HVAC unit is turned off.
                • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                • COOL: The HVAC unit will only cool to the given setpoint.
                • HEAT: The HVAC unit will only heat to the given setpoint

                Possible enum values:

                  UNKNOWNOFFAUTOCOOLHEAT
              • Copy linkthermostatState.heatSetpoint number or null

                If mode allows, heat when currentTemperature falls below this point.

              • Copy linkthermostatState.coolSetpoint number or null

                If mode allows, cool when currentTemperature rises above this point.

              • Copy linkthermostatState.holdType string or null

                The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                Possible enum values:

                  PERMANENTSCHEDULED
              • Copy linkthermostatState.lastUpdated string<date-time> or null

                Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

            • Copy linkscopes array of string

              Scopes that the user has granted for this HVAC unit.

            • Copy linkcapabilities object

              An object describing valid states for this HVAC unit.

              Show child attributes
              • Copy linkcapabilities.capableModes array of string or null

                A list of valid modes for this HVAC unit.

              • Copy linkcapabilities.coolSetpointRange object or null

                The range of allowable values for coolSetpoint.

                Show child attributes
                • Copy linkcapabilities.coolSetpointRange.min number or null

                  The minimum allowable temperature, inclusive.

                • Copy linkcapabilities.coolSetpointRange.max number or null

                  The maximum allowable temperature, inclusive.

              • Copy linkcapabilities.heatSetpointRange object or null

                The range of allowable values for heatSetpoint.

                Show child attributes
                • Copy linkcapabilities.heatSetpointRange.min number or null

                  The minimum allowable temperature, inclusive.

                • Copy linkcapabilities.heatSetpointRange.max number or null

                  The maximum allowable temperature, inclusive.

              • Copy linkcapabilities.setpointDifferenceRange object or null

                A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                Show child attributes
                • Copy linkcapabilities.setpointDifferenceRange.min number or null

                  The minimum allowable difference, inclusive.

                • Copy linkcapabilities.setpointDifferenceRange.max number or null

                  The maximum allowable difference, inclusive.

              • Copy linkcapabilities.setFollowSchedule object

                Supports following a schedule set on the device.

                Show child attributes
                • Copy linkcapabilities.setFollowSchedule.isCapable boolean

                  The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                • Copy linkcapabilities.setFollowSchedule.interventionIds array of string

                  IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

              • Copy linkcapabilities.setPermanentHold object

                Supports setting a permanent hold.

                Show child attributes
                • Copy linkcapabilities.setPermanentHold.isCapable boolean

                  The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                • Copy linkcapabilities.setPermanentHold.interventionIds array of string

                  IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

            • Copy linklocation object
              Show child attributes
              • Copy linklocation.id string<uuid> or null

                ID of the charging location the HVAC unit is housed at (if any)

            Was this section helpful?

            Get HVAC unit

            GET /hvacs/{hvacId}

            Copy linkRequest

            Path parameters
            Copy linkhvacId string Required

            ID of the HVAC unit.

            Copy linkResponse 200

            Attributes
            • Copy linkid string

              HVAC unit ID

            • Copy linkuserId string

              The ID of the user that linked this hvac.

            • Copy linkvendor string

              Machine-friendly name of the vendor. Use this in API requests.

              Possible enum values:

                TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
            • Copy linklastSeen string<date-time>

              The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

            • Copy linkisReachable boolean

              Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

            • Copy linkconsumptionRate number or null

              The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

            • Copy linkinformation object

              Descriptive information about the HVAC unit

              Show child attributes
              • Copy linkinformation.brand string

                A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

              • Copy linkinformation.model string or null

                Device model name

              • Copy linkinformation.displayName string

                Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

              • Copy linkinformation.groupName string or null

                Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

              • Copy linkinformation.category string

                Classification of the connected HVAC device.

                • HEATING: A direct heating device, such as an electric panel heater

                • COOLING: A direct cooling device, such as an air conditioner

                • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                Possible enum values:

                  HEATINGCOOLINGHEAT_PUMPAGGREGATOR
            • Copy linktemperatureState object

              Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

              Show child attributes
              • Copy linktemperatureState.currentTemperature number or null

                Current air temperature reported by device in degrees Celsius.

              • Copy linktemperatureState.isActive boolean

                Whether the HVAC unit is actively heating or cooling.

              • Copy linktemperatureState.lastUpdated string<date-time> or null

                Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

            • Copy linkthermostatState object

              Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

              Show child attributes
              • Copy linkthermostatState.mode string

                The current state of the HVAC unit.

                • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                • OFF: The HVAC unit is turned off.
                • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                • COOL: The HVAC unit will only cool to the given setpoint.
                • HEAT: The HVAC unit will only heat to the given setpoint

                Possible enum values:

                  UNKNOWNOFFAUTOCOOLHEAT
              • Copy linkthermostatState.heatSetpoint number or null

                If mode allows, heat when currentTemperature falls below this point.

              • Copy linkthermostatState.coolSetpoint number or null

                If mode allows, cool when currentTemperature rises above this point.

              • Copy linkthermostatState.holdType string or null

                The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                Possible enum values:

                  PERMANENTSCHEDULED
              • Copy linkthermostatState.lastUpdated string<date-time> or null

                Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

            • Copy linkscopes array of string

              Scopes that the user has granted for this HVAC unit.

            • Copy linkcapabilities object

              An object describing valid states for this HVAC unit.

              Show child attributes
              • Copy linkcapabilities.capableModes array of string or null

                A list of valid modes for this HVAC unit.

              • Copy linkcapabilities.coolSetpointRange object or null

                The range of allowable values for coolSetpoint.

                Show child attributes
                • Copy linkcapabilities.coolSetpointRange.min number or null

                  The minimum allowable temperature, inclusive.

                • Copy linkcapabilities.coolSetpointRange.max number or null

                  The maximum allowable temperature, inclusive.

              • Copy linkcapabilities.heatSetpointRange object or null

                The range of allowable values for heatSetpoint.

                Show child attributes
                • Copy linkcapabilities.heatSetpointRange.min number or null

                  The minimum allowable temperature, inclusive.

                • Copy linkcapabilities.heatSetpointRange.max number or null

                  The maximum allowable temperature, inclusive.

              • Copy linkcapabilities.setpointDifferenceRange object or null

                A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                Show child attributes
                • Copy linkcapabilities.setpointDifferenceRange.min number or null

                  The minimum allowable difference, inclusive.

                • Copy linkcapabilities.setpointDifferenceRange.max number or null

                  The maximum allowable difference, inclusive.

              • Copy linkcapabilities.setFollowSchedule object

                Supports following a schedule set on the device.

                Show child attributes
                • Copy linkcapabilities.setFollowSchedule.isCapable boolean

                  The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                • Copy linkcapabilities.setFollowSchedule.interventionIds array of string

                  IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

              • Copy linkcapabilities.setPermanentHold object

                Supports setting a permanent hold.

                Show child attributes
                • Copy linkcapabilities.setPermanentHold.isCapable boolean

                  The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                • Copy linkcapabilities.setPermanentHold.interventionIds array of string

                  IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

            • Copy linklocation object
              Show child attributes
              • Copy linklocation.id string<uuid> or null

                ID of the charging location the HVAC unit is housed at (if any)

            Was this section helpful?

            Get action

            GET /hvacs/actions/{actionId}

            Returns the current state of the requested action.

            Copy linkRequest

            Path parameters
            Copy linkactionId string<uuid> Required

            ID of the Action.

            Copy linkResponse 200

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the entity asset (HVAC) which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                hvac
            • Copy linktarget
              Show child attributes
              • Copy linktarget.coolSetpoint number
              • Copy linktarget.mode string

                Possible enum values:

                  COOL
              • Copy linktarget.holdType string

                Possible enum values:

                  PERMANENT
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Copy linkResponse 404

            Action not found.

            Was this section helpful?

            Cancel HVAC action

            POST /hvacs/actions/{actionId}/cancel

            Cancels a pending HVAC action, halting any further attempts by Enode to execute it.

            Note: This only updates the action's status to CANCELLED within Enode and does not reflect a change in the vendor's cloud. Thus any pending action in the vendor's cloud might still be executed.

            Copy linkRequest

            Path parameters
            Copy linkactionId string<uuid> Required

            ID of the Action.

            Copy linkResponse 200

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the entity asset (HVAC) which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                hvac
            • Copy linktarget
              Show child attributes
              • Copy linktarget.coolSetpoint number
              • Copy linktarget.mode string

                Possible enum values:

                  COOL
              • Copy linktarget.holdType string

                Possible enum values:

                  PERMANENT
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Copy linkResponse 404

            Action not found.

            Copy linkResponse 409

            Action already in a resolved state.

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the entity asset (HVAC) which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                hvac
            • Copy linktarget
              Show child attributes
              • Copy linktarget.coolSetpoint number
              • Copy linktarget.mode string

                Possible enum values:

                  COOL
              • Copy linktarget.holdType string

                Possible enum values:

                  PERMANENT
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Was this section helpful?

            Set HVAC unit to follow device schedule

            POST /hvacs/{hvacId}/follow-schedule

            Tell an HVAC unit to follow the schedule set on the device. Only available if the target's capabilities.setFollowSchedule.isCapable is set to true. This endpoint can be used to cancel permanent holds. We retry sending the command until the HVAC unit's fields transition to the expected values. Note that this request will complete before any commands are sent to the HVAC unit. You may react to transitions by listening for the user:vendor-action:updated webhook event or polling the HVAC action endpointAPI.

            Copy linkRequest

            Path parameters
            Copy linkhvacId string Required

            ID of the HVAC unit.

            Copy linkResponse 200

            Resulting HVAC action

            Attributes
            • Copy linkid string<uuid>

              The ID of the action.

            • Copy linkuserId string

              The ID of the user that owns the target of this action.

            • Copy linkcreatedAt string<date-time>

              Time when this action was created

            • Copy linkupdatedAt string<date-time>

              Time when this action was last updated

            • Copy linkcompletedAt string<date-time> or null

              Time when the action transitioned to a non-pending state.

            • Copy linkstate string

              The real-time status of an action executed on a target.

              • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
              • CONFIRMED: Successful transition of the target to the desired state.
              • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
              • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

              Possible enum values:

                PENDINGCONFIRMEDFAILEDCANCELLED
            • Copy linktargetId string

              ID of the entity asset (HVAC) which this action is controlling.

            • Copy linktargetType string

              Possible enum values:

                hvac
            • Copy linktarget object
              Show child attributes
              • Copy linktarget.holdType string

                Possible enum values:

                  SCHEDULED
            • Copy linkfailureReason object or null

              Information about why was this action not executed successfully.

              Show child attributes
              • Copy linkfailureReason.type string

                A machine-readable high level error category.

                • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                • NOT_FOUND: The device was deleted while the action was PENDING.

                Possible enum values:

                  NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
              • Copy linkfailureReason.detail string

                A human-readable explanation of why the action was unsuccessful.

            Copy linkResponse 400

            A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the HVAC unit cannot perform the action.

            Attributes
            • Copy linktype string

              A URI reference that identifies the problem type.

            • Copy linktitle string

              A short, human-readable summary of the problem type.

            • Copy linkdetail string

              A human-readable explanation specific to this occurrence of the problem.

            • Copy linkissues array of object

              A list of validation issues which occurred while validating some component of the network payload.

              Show child attributes

              Copy linkResponse 422

              HVAC unit controlled by an Enode Schedule

              Attributes
              • Copy linktype string

                A URI reference that identifies the problem type.

              • Copy linktitle string

                A short, human-readable summary of the problem type.

              • Copy linkdetail string

                A human-readable explanation specific to this occurrence of the problem.

              • Copy linkissues array of object

                A list of validation issues which occurred while validating some component of the network payload.

                Show child attributes
                Was this section helpful?

                Refresh HVAC unit data

                POST /hvacs/{hvacId}/refresh-hint

                Use this endpoint to initiate an expedited data refresh for the specified HVAC unit.

                Note: The Enode platform keeps data automatically up-to-date and detects changes in the OEM APIs within seconds to a few minutes. We change the refresh interval dynamically based on a number of heuristics. This ensures we find the best trade-off between the stability of the connection to the OEM and freshness of the data.
                This method overrides most of our heuristics and should therefore be used with caution. You may use it when you have a strong reason to believe the data might be stale.

                Copy linkRequest

                Path parameters
                Copy linkhvacId string Required

                ID of the HVAC unit.

                Copy linkResponse 204

                Refresh hint registered successfully.

                Copy linkResponse 404

                The specified hvac was not found.

                Was this section helpful?

                Set HVAC unit mode as permanent hold

                POST /hvacs/{hvacId}/permanent-hold

                Tell an HVAC unit to enter a permanent hold. Only available if the target's capabilities.setPermanentHold.isCapable is set to true. We retry sending the command until the HVAC unit's target field transition to the expected value. Note that this request will complete before any commands are sent to the HVAC unit. You may react to transitions by listening for the user:vendor-action:updated webhook event or polling the HVAC action endpointAPI.

                Copy linkRequest

                Path parameters
                Copy linkhvacId string Required

                ID of the HVAC unit.

                Attributes
                • Copy linkcoolSetpoint number Required
                • Copy linkmode string Required

                  Possible enum values:

                    COOL

                Copy linkResponse 200

                Resulting action

                Attributes
                • Copy linkid string<uuid>

                  The ID of the action.

                • Copy linkuserId string

                  The ID of the user that owns the target of this action.

                • Copy linkcreatedAt string<date-time>

                  Time when this action was created

                • Copy linkupdatedAt string<date-time>

                  Time when this action was last updated

                • Copy linkcompletedAt string<date-time> or null

                  Time when the action transitioned to a non-pending state.

                • Copy linkstate string

                  The real-time status of an action executed on a target.

                  • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                  • CONFIRMED: Successful transition of the target to the desired state.
                  • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                  • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                  Possible enum values:

                    PENDINGCONFIRMEDFAILEDCANCELLED
                • Copy linktargetId string

                  ID of the entity asset (HVAC) which this action is controlling.

                • Copy linktargetType string

                  Possible enum values:

                    hvac
                • Copy linktarget
                  Show child attributes
                  • Copy linktarget.coolSetpoint number
                  • Copy linktarget.mode string

                    Possible enum values:

                      COOL
                  • Copy linktarget.holdType string

                    Possible enum values:

                      PERMANENT
                • Copy linkfailureReason object or null

                  Information about why was this action not executed successfully.

                  Show child attributes
                  • Copy linkfailureReason.type string

                    A machine-readable high level error category.

                    • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                    • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                    • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                    • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                    • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                    • NOT_FOUND: The device was deleted while the action was PENDING.

                    Possible enum values:

                      NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                  • Copy linkfailureReason.detail string

                    A human-readable explanation of why the action was unsuccessful.

                Copy linkResponse 400

                A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the HVAC unit cannot perform the action or the setpoints are invalid.

                Attributes
                • Copy linktype string

                  A URI reference that identifies the problem type.

                • Copy linktitle string

                  A short, human-readable summary of the problem type.

                • Copy linkdetail string

                  A human-readable explanation specific to this occurrence of the problem.

                • Copy linkissues array of object

                  A list of validation issues which occurred while validating some component of the network payload.

                  Show child attributes

                  Copy linkResponse 422

                  HVAC unit controlled by an Enode Schedule

                  Attributes
                  • Copy linktype string

                    A URI reference that identifies the problem type.

                  • Copy linktitle string

                    A short, human-readable summary of the problem type.

                  • Copy linkdetail string

                    A human-readable explanation specific to this occurrence of the problem.

                  • Copy linkissues array of object

                    A list of validation issues which occurred while validating some component of the network payload.

                    Show child attributes
                    Was this section helpful?

                    Interventions

                    Endpoints that return information about interventions. More information and examples are available in the Interventions guide.

                    List interventions

                    GET /interventions

                    Returns a list of all supported interventions.

                    The language parameter can be used to specify the language of the resolution title and description.

                    Copy linkRequest

                    Query parameters
                    Copy linklanguage string Optional

                    Preferred BCP47 language code - Request translation for the specified language. Falls back to en-US if not provided or provided language code is unsupported.

                    Possible enum values:

                      en-USen-GBde-DEfr-FRes-ESja-JPpt-PTlv-LVlt-LTnl-NLnl-BEnb-NOpl-PLsv-SEda-DKfi-FIro-RO
                    Copy linkvendorType string Optional

                    Only return interventions for the specified vendor type.

                    Possible enum values:

                      vehiclechargerhvacinverterbatterymeter
                    Copy linkvendor string Optional

                    Only return interventions for the specified vendor.

                    Possible enum values:

                      AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI

                    Copy linkResponse 200

                    Attributes (list of undefined)
                      Was this section helpful?

                      Get intervention

                      GET /interventions/{interventionId}

                      Returns a single intervention.

                      The language parameter can be used to specify the language of the resolution title and description.

                      Copy linkRequest

                      Path parameters
                      Copy linkinterventionId string<uuid> Required

                      ID of the intervention.

                      Query parameters
                      Copy linklanguage string Optional

                      Preferred BCP47 language code - Request translation for the specified language. Falls back to en-US if not provided or provided language code is unsupported.

                      Possible enum values:

                        en-USen-GBde-DEfr-FRes-ESja-JPpt-PTlv-LVlt-LTnl-NLnl-BEnb-NOpl-PLsv-SEda-DKfi-FIro-RO
                      Copy linkvendorType string Optional

                      Only return interventions for the specified vendor type.

                      Possible enum values:

                        vehiclechargerhvacinverterbatterymeter
                      Copy linkvendor string Optional

                      Only return interventions for the specified vendor.

                      Possible enum values:

                        AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI

                      Copy linkResponse 200

                      Attributes
                      • Copy linkid string<uuid>
                      • Copy linkvendor string

                        Machine-friendly representation of the OEM's name.

                        Possible enum values:

                          AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                      • Copy linkvendorType string

                        Type of device this intervention relates to.

                        Possible enum values:

                          vehiclechargerhvacinverterbatterymeter
                      • Copy linkbrand string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkintroducedAt string<date-time>

                        ISO8601 UTC timestamp of when the intervention was introduced.

                      • Copy linkdomain string

                        The domain the intervention is related to. i.e. Is the intervention related to the vendor service account or a setting on the device.

                        Possible enum values:

                          AccountDevice
                      • Copy linkresolution object
                        Show child attributes
                        • Copy linkresolution.title string

                          A localized title for the intervention.

                        • Copy linkresolution.description string

                          A localized description of how to resolve the intervention. Formatted as Markdown.

                        • Copy linkresolution.access string

                          Where the intervention needs to be resolved. i.e. remotely using the vendor's app or directly on the device.

                          Possible enum values:

                            RemotePhysical
                        • Copy linkresolution.agent string

                          Who can resolve the intervention. i.e. a user can resolve the intervention themselves, or a licensed service retailer is needed.

                          Possible enum values:

                            UserThirdParty
                        • Copy linkresolution.action string or null

                          If non null, the action to be taken by the user to resolve the intervention. See our guide on resolving interventions for more information.

                          Possible enum values:

                            Link

                      Copy linkResponse 404

                      Intervention not found.

                      Was this section helpful?

                      Locations

                      Locations are used to assign devices to a geographical group. This is useful when running schedules, smart charging, or smart heating, as target behavior usually depends on a common locality of demand (charging, heating, cooling, etc.) and supply (tariff, battery, inverter, etc.) of energy.

                      List locations

                      GET /locations

                      Returns a paginated list of all Locations.

                      Copy linkRequest

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array of object

                        Paginated list of locations

                        Show child attributes
                        • Copy linkdata[].name string

                          User-supplied name for the Location

                        • Copy linkdata[].latitude number

                          Latitude in degrees

                        • Copy linkdata[].longitude number

                          Longitude in degrees

                        • Copy linkdata[].timezoneName string

                          An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                          Default value: UTC

                        • Copy linkdata[].id string<uuid>

                          The ID of the Location.

                        • Copy linkdata[].userId string

                          User ID the location belongs to

                        • Copy linkdata[].createdAt string<date-time>

                          Time when the Location was created

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      List user locations

                      GET /users/{userId}/locations

                      Returns a paginated list of Locations for the given user.

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      ID of the User.

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array of object

                        Paginated list of locations

                        Show child attributes
                        • Copy linkdata[].name string

                          User-supplied name for the Location

                        • Copy linkdata[].latitude number

                          Latitude in degrees

                        • Copy linkdata[].longitude number

                          Longitude in degrees

                        • Copy linkdata[].timezoneName string

                          An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                          Default value: UTC

                        • Copy linkdata[].id string<uuid>

                          The ID of the Location.

                        • Copy linkdata[].userId string

                          User ID the location belongs to

                        • Copy linkdata[].createdAt string<date-time>

                          Time when the Location was created

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      Create location

                      POST /users/{userId}/locations

                      Create a Location for a User. Each Location defines a geofence with a 200 m enter radius and a 270 m exit radius. A user's Locations must be at least 200 m apart. The API rejects any new Location whose coordinates fall within the geofence of an existing one.

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      ID of the User.

                      Attributes
                      • Copy linkname string Required

                        User-supplied name for the Location

                      • Copy linklatitude number Required

                        Latitude in degrees

                      • Copy linklongitude number Required

                        Longitude in degrees

                      • Copy linktimezoneName string Required

                        An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                        Default value: UTC

                      Copy linkResponse 200

                      Created

                      Attributes
                      • Copy linkname string

                        User-supplied name for the Location

                      • Copy linklatitude number

                        Latitude in degrees

                      • Copy linklongitude number

                        Longitude in degrees

                      • Copy linktimezoneName string

                        An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                        Default value: UTC

                      • Copy linkid string<uuid>

                        The ID of the Location.

                      • Copy linkuserId string

                        User ID the location belongs to

                      • Copy linkcreatedAt string<date-time>

                        Time when the Location was created

                      Was this section helpful?

                      Get location

                      GET /locations/{locationId}

                      Fetch a Location.

                      Copy linkRequest

                      Path parameters
                      Copy linklocationId string<uuid> Required

                      ID of the Location.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkname string

                        User-supplied name for the Location

                      • Copy linklatitude number

                        Latitude in degrees

                      • Copy linklongitude number

                        Longitude in degrees

                      • Copy linktimezoneName string

                        An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                        Default value: UTC

                      • Copy linkid string<uuid>

                        The ID of the Location.

                      • Copy linkuserId string

                        User ID the location belongs to

                      • Copy linkcreatedAt string<date-time>

                        Time when the Location was created

                      Was this section helpful?

                      Delete location

                      DELETE /locations/{locationId}

                      Delete a Location.

                      Copy linkRequest

                      Path parameters
                      Copy linklocationId string<uuid> Required

                      ID of the Location.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkname string

                        User-supplied name for the Location

                      • Copy linklatitude number

                        Latitude in degrees

                      • Copy linklongitude number

                        Longitude in degrees

                      • Copy linktimezoneName string

                        An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                        Default value: UTC

                      • Copy linkid string<uuid>

                        The ID of the Location.

                      • Copy linkuserId string

                        User ID the location belongs to

                      • Copy linkcreatedAt string<date-time>

                        Time when the Location was created

                      Was this section helpful?

                      Update location

                      PUT /locations/{locationId}

                      Updates a Location. Note: the API does not re-validate the minimum distance constraint on update. If you move a Location's coordinates, ensure they remain at least 200 m from any other Location belonging to the same user.

                      Copy linkRequest

                      Path parameters
                      Copy linklocationId string<uuid> Required

                      ID of the Location.

                      Attributes
                      • Copy linkname string Optional

                        User-supplied name for the Location

                      • Copy linklatitude number Optional

                        Latitude in degrees

                      • Copy linklongitude number Optional

                        Longitude in degrees

                      • Copy linktimezoneName string Optional

                        An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                        Default value: UTC

                      Copy linkResponse 200

                      Attributes
                      • Copy linkname string

                        User-supplied name for the Location

                      • Copy linklatitude number

                        Latitude in degrees

                      • Copy linklongitude number

                        Longitude in degrees

                      • Copy linktimezoneName string

                        An IANA TZ database timezone name. This value will be used to convert rules and deadlines for tariffs, smart charging, and schedules into local time. Defaults to UTC.

                        Default value: UTC

                      • Copy linkid string<uuid>

                        The ID of the Location.

                      • Copy linkuserId string

                        User ID the location belongs to

                      • Copy linkcreatedAt string<date-time>

                        Time when the Location was created

                      Was this section helpful?

                      Meters

                      The Meter object represents a unit responsible for measuring energy usage. It provides detailed information about the meter itself and the energy consumption data it records.

                      Get meterBeta

                      GET /meters/{meterId}

                      Copy linkRequest

                      Path parameters
                      Copy linkmeterId string<uuid> Required

                      The ID of the meter you are looking up

                      Copy linkResponse 200

                      Attributes
                      • Copy linkid string<uuid>

                        Unique identifier for the meter object

                      • Copy linkuserId string

                        The ID of the user that linked this meter.

                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                      • Copy linklastSeen string<date-time>

                        The last time Enode successfully communicated with the vendor or when the meter was initially linked.

                      • Copy linkisReachable boolean

                        Indicates whether Enode can currently access live data from the meter. If the meter is not reachable, data updates will be delayed.

                      • Copy linkinformation object

                        Descriptive information about the meter

                        Show child attributes
                        • Copy linkinformation.brand string

                          A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                        • Copy linkinformation.model string

                          Meter model

                        • Copy linkinformation.siteName string

                          Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                        • Copy linkinformation.installationDate string<date-time>

                          Meter installation date

                      • Copy linkenergyState object

                        Latest information about meter load. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                        Show child attributes
                        • Copy linkenergyState.power number or null

                          The current power measured by the meter in kW.

                          • Positive value: Power is imported from the grid to the site, indicating consumption.
                          • Negative value: Power is exported to the grid, typically when the site generates excess electricity (e.g. from solar panels, or battery discharge).
                        • Copy linkenergyState.lastUpdated string<date-time> or null

                          Time of last received energy state update.

                      • Copy linklocation object

                        Meter's GPS coordinates

                        Show child attributes
                        • Copy linklocation.id string<uuid> or null

                          ID of the location the meter is currently positioned at (if any).

                        • Copy linklocation.longitude number or null

                          Longitude in degrees

                        • Copy linklocation.latitude number or null

                          Latitude in degrees

                        • Copy linklocation.lastUpdated string<date-time> or null

                          Time of last received location state update

                      • Copy linkcapabilities object

                        The specific meter's capabilities for recording energy consumption and production data.

                        Show child attributes
                        • Copy linkcapabilities.measuresConsumption object

                          Indicates if the meter can measure consumed energy.

                          Show child attributes
                          • Copy linkcapabilities.measuresConsumption.isCapable boolean

                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                          • Copy linkcapabilities.measuresConsumption.interventionIds array of string

                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                        • Copy linkcapabilities.measuresProduction object

                          Indicates if the meter can measure energy produced or generated.

                          Show child attributes
                          • Copy linkcapabilities.measuresProduction.isCapable boolean

                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                          • Copy linkcapabilities.measuresProduction.interventionIds array of string

                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                      • Copy linkscopes array of string

                        Scopes that the user has granted for this meter.

                      • Copy linkhemSystemId string<uuid> or null

                        ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                      Was this section helpful?

                      Refresh meter dataBeta

                      POST /meters/{meterId}/refresh-hint

                      Use this endpoint to initiate an expedited data refresh for the specified meter.

                      Note: The Enode platform keeps data automatically up-to-date and detects changes in the OEM APIs within seconds to a few minutes. We change the refresh interval dynamically based on a number of heuristics. This ensures we find the best trade-off between the stability of the connection to the OEM and freshness of the data.
                      This method overrides most of our heuristics and should therefore be used with caution. You may use it when you have a strong reason to believe the data might be stale.

                      Copy linkRequest

                      Path parameters
                      Copy linkmeterId string<uuid> Required

                      The ID of the meter you are looking up

                      Copy linkResponse 204

                      Refresh hint registered successfully.

                      Copy linkResponse 404

                      The specified meter was not found.

                      Was this section helpful?

                      List user metersBeta

                      GET /users/{userId}/meters

                      Returns a paginated list of meters for the given userId.

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      ID of the User.

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array of object

                        Paginated list of meters

                        Show child attributes
                        • Copy linkdata[].id string<uuid>

                          Unique identifier for the meter object

                        • Copy linkdata[].userId string

                          The ID of the user that linked this meter.

                        • Copy linkdata[].vendor string

                          Machine-friendly name of the vendor. Use this in API requests.

                          Possible enum values:

                            ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                        • Copy linkdata[].lastSeen string<date-time>

                          The last time Enode successfully communicated with the vendor or when the meter was initially linked.

                        • Copy linkdata[].isReachable boolean

                          Indicates whether Enode can currently access live data from the meter. If the meter is not reachable, data updates will be delayed.

                        • Copy linkdata[].information object

                          Descriptive information about the meter

                          Show child attributes
                          • Copy linkdata[].information.brand string

                            A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                          • Copy linkdata[].information.model string

                            Meter model

                          • Copy linkdata[].information.siteName string

                            Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                          • Copy linkdata[].information.installationDate string<date-time>

                            Meter installation date

                        • Copy linkdata[].energyState object

                          Latest information about meter load. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                          Show child attributes
                          • Copy linkdata[].energyState.power number or null

                            The current power measured by the meter in kW.

                            • Positive value: Power is imported from the grid to the site, indicating consumption.
                            • Negative value: Power is exported to the grid, typically when the site generates excess electricity (e.g. from solar panels, or battery discharge).
                          • Copy linkdata[].energyState.lastUpdated string<date-time> or null

                            Time of last received energy state update.

                        • Copy linkdata[].location object

                          Meter's GPS coordinates

                          Show child attributes
                          • Copy linkdata[].location.id string<uuid> or null

                            ID of the location the meter is currently positioned at (if any).

                          • Copy linkdata[].location.longitude number or null

                            Longitude in degrees

                          • Copy linkdata[].location.latitude number or null

                            Latitude in degrees

                          • Copy linkdata[].location.lastUpdated string<date-time> or null

                            Time of last received location state update

                        • Copy linkdata[].capabilities object

                          The specific meter's capabilities for recording energy consumption and production data.

                          Show child attributes
                          • Copy linkdata[].capabilities.measuresConsumption object

                            Indicates if the meter can measure consumed energy.

                            Show child attributes
                            • Copy linkdata[].capabilities.measuresConsumption.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.measuresConsumption.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                          • Copy linkdata[].capabilities.measuresProduction object

                            Indicates if the meter can measure energy produced or generated.

                            Show child attributes
                            • Copy linkdata[].capabilities.measuresProduction.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.measuresProduction.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                        • Copy linkdata[].scopes array of string

                          Scopes that the user has granted for this meter.

                        • Copy linkdata[].hemSystemId string<uuid> or null

                          ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      List metersBeta

                      GET /meters

                      Returns a paginated list of all Meters.

                      Copy linkRequest

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array of object

                        Paginated list of meters

                        Show child attributes
                        • Copy linkdata[].id string<uuid>

                          Unique identifier for the meter object

                        • Copy linkdata[].userId string

                          The ID of the user that linked this meter.

                        • Copy linkdata[].vendor string

                          Machine-friendly name of the vendor. Use this in API requests.

                          Possible enum values:

                            ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                        • Copy linkdata[].lastSeen string<date-time>

                          The last time Enode successfully communicated with the vendor or when the meter was initially linked.

                        • Copy linkdata[].isReachable boolean

                          Indicates whether Enode can currently access live data from the meter. If the meter is not reachable, data updates will be delayed.

                        • Copy linkdata[].information object

                          Descriptive information about the meter

                          Show child attributes
                          • Copy linkdata[].information.brand string

                            A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                          • Copy linkdata[].information.model string

                            Meter model

                          • Copy linkdata[].information.siteName string

                            Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                          • Copy linkdata[].information.installationDate string<date-time>

                            Meter installation date

                        • Copy linkdata[].energyState object

                          Latest information about meter load. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                          Show child attributes
                          • Copy linkdata[].energyState.power number or null

                            The current power measured by the meter in kW.

                            • Positive value: Power is imported from the grid to the site, indicating consumption.
                            • Negative value: Power is exported to the grid, typically when the site generates excess electricity (e.g. from solar panels, or battery discharge).
                          • Copy linkdata[].energyState.lastUpdated string<date-time> or null

                            Time of last received energy state update.

                        • Copy linkdata[].location object

                          Meter's GPS coordinates

                          Show child attributes
                          • Copy linkdata[].location.id string<uuid> or null

                            ID of the location the meter is currently positioned at (if any).

                          • Copy linkdata[].location.longitude number or null

                            Longitude in degrees

                          • Copy linkdata[].location.latitude number or null

                            Latitude in degrees

                          • Copy linkdata[].location.lastUpdated string<date-time> or null

                            Time of last received location state update

                        • Copy linkdata[].capabilities object

                          The specific meter's capabilities for recording energy consumption and production data.

                          Show child attributes
                          • Copy linkdata[].capabilities.measuresConsumption object

                            Indicates if the meter can measure consumed energy.

                            Show child attributes
                            • Copy linkdata[].capabilities.measuresConsumption.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.measuresConsumption.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                          • Copy linkdata[].capabilities.measuresProduction object

                            Indicates if the meter can measure energy produced or generated.

                            Show child attributes
                            • Copy linkdata[].capabilities.measuresProduction.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.measuresProduction.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                        • Copy linkdata[].scopes array of string

                          Scopes that the user has granted for this meter.

                        • Copy linkdata[].hemSystemId string<uuid> or null

                          ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      Schedules

                      Endpoints to manage schedules for Vehicles, Chargers and HVACs.

                      More information and examples are available in the Scheduling guide.

                      List schedules

                      GET /users/{userId}/schedules

                      Returns a list of Schedules registered to the User.

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      ID of the User.

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array

                        Paginated list of schedules

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      Create schedule

                      POST /users/{userId}/schedules

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      ID of the User.

                      Attributes
                      • Copy linktargetId string Required

                        ID of the asset (Vehicle/Charger) to which this schedule applies

                      • Copy linklocationId string<uuid> or null Required

                        ID of the Location to which this schedule applies. The behavior of a null value differs based on the targetType. For chargers, a null value is essentially ignored and the schedule is applied even if the charger isn't at a location. This is designed to prevent schedules from controlling vehicles at public chargers where the user doesn't pay for electricity.

                      • Copy linktargetType string Required

                        Possible enum values:

                          vehiclecharger
                      • Copy linkisEnabled boolean Required

                        Whether this Schedule should be attempting to control the target's charge state.

                      • Copy linkdefaultShouldCharge boolean Required

                        When no rule is active, the default charge state for the target.

                      • Copy linkrules array of object Required

                        Each rule sets a value for shouldCharge, either true or false. All other properties of the rule are optional filters that limit the times to which this rule applies.

                        Show child attributes
                        • Copy linkrules[].hourMinute object Optional

                          An interval composed of two clock times during which this rule applies each day. to always resolves to a timestamp after from, and thus may span across midnight and fall on the next day.

                          Show child attributes
                          • Copy linkrules[].hourMinute.from string Required

                            Clock time from which this rule should apply each day.

                          • Copy linkrules[].hourMinute.to string Required

                            Clock time until which this rule should apply each day.

                        • Copy linkrules[].fromTimestamp string<date-time> Optional

                          UTC timestamp from which this rule should apply.

                        • Copy linkrules[].toTimestamp string<date-time> Optional

                          UTC timestamp until which this rule should apply.

                        • Copy linkrules[].weekdays array of integer Optional

                          An array of weekdays to which this rule should apply. A weekday starts with 0 for Monday and ends with 6 for Sunday.

                        • Copy linkrules[].shouldCharge boolean Required

                          Whether a chargeable asset should want to charge while this rule is active.

                      Copy linkResponse 200

                      Attributes
                      • Copy linktargetId string

                        ID of the asset (Vehicle/Charger) to which this schedule applies

                      • Copy linklocationId string<uuid> or null

                        ID of the Location to which this schedule applies. The behavior of a null value differs based on the targetType. For chargers, a null value is essentially ignored and the schedule is applied even if the charger isn't at a location. This is designed to prevent schedules from controlling vehicles at public chargers where the user doesn't pay for electricity.

                      • Copy linktargetType string

                        Possible enum values:

                          vehiclecharger
                      • Copy linkisEnabled boolean

                        Whether this Schedule should be attempting to control the target's charge state.

                      • Copy linkdefaultShouldCharge boolean

                        When no rule is active, the default charge state for the target.

                      • Copy linkrules array of object

                        Each rule sets a value for shouldCharge, either true or false. All other properties of the rule are optional filters that limit the times to which this rule applies.

                        Show child attributes
                        • Copy linkrules[].hourMinute object

                          An interval composed of two clock times during which this rule applies each day. to always resolves to a timestamp after from, and thus may span across midnight and fall on the next day.

                          Show child attributes
                          • Copy linkrules[].hourMinute.from string

                            Clock time from which this rule should apply each day.

                          • Copy linkrules[].hourMinute.to string

                            Clock time until which this rule should apply each day.

                        • Copy linkrules[].fromTimestamp string<date-time>

                          UTC timestamp from which this rule should apply.

                        • Copy linkrules[].toTimestamp string<date-time>

                          UTC timestamp until which this rule should apply.

                        • Copy linkrules[].weekdays array of integer

                          An array of weekdays to which this rule should apply. A weekday starts with 0 for Monday and ends with 6 for Sunday.

                        • Copy linkrules[].shouldCharge boolean

                          Whether a chargeable asset should want to charge while this rule is active.

                      • Copy linkid string
                      Was this section helpful?

                      Get schedule

                      GET /schedules/{scheduleId}

                      Copy linkRequest

                      Path parameters
                      Copy linkscheduleId string<uuid> Required

                      ID of the Schedule.

                      Copy linkResponse 200

                      Attributes
                      • Copy linktargetId string

                        ID of the asset (Vehicle/Charger) to which this schedule applies

                      • Copy linklocationId string<uuid> or null

                        ID of the Location to which this schedule applies. The behavior of a null value differs based on the targetType. For chargers, a null value is essentially ignored and the schedule is applied even if the charger isn't at a location. This is designed to prevent schedules from controlling vehicles at public chargers where the user doesn't pay for electricity.

                      • Copy linktargetType string

                        Possible enum values:

                          vehiclecharger
                      • Copy linkisEnabled boolean

                        Whether this Schedule should be attempting to control the target's charge state.

                      • Copy linkdefaultShouldCharge boolean

                        When no rule is active, the default charge state for the target.

                      • Copy linkrules array of object

                        Each rule sets a value for shouldCharge, either true or false. All other properties of the rule are optional filters that limit the times to which this rule applies.

                        Show child attributes
                        • Copy linkrules[].hourMinute object

                          An interval composed of two clock times during which this rule applies each day. to always resolves to a timestamp after from, and thus may span across midnight and fall on the next day.

                          Show child attributes
                          • Copy linkrules[].hourMinute.from string

                            Clock time from which this rule should apply each day.

                          • Copy linkrules[].hourMinute.to string

                            Clock time until which this rule should apply each day.

                        • Copy linkrules[].fromTimestamp string<date-time>

                          UTC timestamp from which this rule should apply.

                        • Copy linkrules[].toTimestamp string<date-time>

                          UTC timestamp until which this rule should apply.

                        • Copy linkrules[].weekdays array of integer

                          An array of weekdays to which this rule should apply. A weekday starts with 0 for Monday and ends with 6 for Sunday.

                        • Copy linkrules[].shouldCharge boolean

                          Whether a chargeable asset should want to charge while this rule is active.

                      • Copy linkid string
                      Was this section helpful?

                      Update schedule

                      PUT /schedules/{scheduleId}

                      Does a partial update of a schedule.

                      Copy linkRequest

                      Path parameters
                      Copy linkscheduleId string<uuid> Required

                      ID of the Schedule.

                      Attributes
                      • Copy linktargetId string Optional

                        ID of the asset (Vehicle/Charger) to which this schedule applies

                      • Copy linklocationId string<uuid> or null Optional

                        ID of the Location to which this schedule applies. The behavior of a null value differs based on the targetType. For chargers, a null value is essentially ignored and the schedule is applied even if the charger isn't at a location. This is designed to prevent schedules from controlling vehicles at public chargers where the user doesn't pay for electricity.

                      • Copy linktargetType string Optional

                        Possible enum values:

                          vehiclecharger
                      • Copy linkisEnabled boolean Optional

                        Whether this Schedule should be attempting to control the target's charge state.

                      • Copy linkdefaultShouldCharge boolean Optional

                        When no rule is active, the default charge state for the target.

                      • Copy linkrules array of object Optional

                        Each rule sets a value for shouldCharge, either true or false. All other properties of the rule are optional filters that limit the times to which this rule applies.

                        Show child attributes
                        • Copy linkrules[].hourMinute object Optional

                          An interval composed of two clock times during which this rule applies each day. to always resolves to a timestamp after from, and thus may span across midnight and fall on the next day.

                          Show child attributes
                          • Copy linkrules[].hourMinute.from string Required

                            Clock time from which this rule should apply each day.

                          • Copy linkrules[].hourMinute.to string Required

                            Clock time until which this rule should apply each day.

                        • Copy linkrules[].fromTimestamp string<date-time> Optional

                          UTC timestamp from which this rule should apply.

                        • Copy linkrules[].toTimestamp string<date-time> Optional

                          UTC timestamp until which this rule should apply.

                        • Copy linkrules[].weekdays array of integer Optional

                          An array of weekdays to which this rule should apply. A weekday starts with 0 for Monday and ends with 6 for Sunday.

                        • Copy linkrules[].shouldCharge boolean Required

                          Whether a chargeable asset should want to charge while this rule is active.

                      Copy linkResponse 200

                      Attributes
                      • Copy linktargetId string

                        ID of the asset (Vehicle/Charger) to which this schedule applies

                      • Copy linklocationId string<uuid> or null

                        ID of the Location to which this schedule applies. The behavior of a null value differs based on the targetType. For chargers, a null value is essentially ignored and the schedule is applied even if the charger isn't at a location. This is designed to prevent schedules from controlling vehicles at public chargers where the user doesn't pay for electricity.

                      • Copy linktargetType string

                        Possible enum values:

                          vehiclecharger
                      • Copy linkisEnabled boolean

                        Whether this Schedule should be attempting to control the target's charge state.

                      • Copy linkdefaultShouldCharge boolean

                        When no rule is active, the default charge state for the target.

                      • Copy linkrules array of object

                        Each rule sets a value for shouldCharge, either true or false. All other properties of the rule are optional filters that limit the times to which this rule applies.

                        Show child attributes
                        • Copy linkrules[].hourMinute object

                          An interval composed of two clock times during which this rule applies each day. to always resolves to a timestamp after from, and thus may span across midnight and fall on the next day.

                          Show child attributes
                          • Copy linkrules[].hourMinute.from string

                            Clock time from which this rule should apply each day.

                          • Copy linkrules[].hourMinute.to string

                            Clock time until which this rule should apply each day.

                        • Copy linkrules[].fromTimestamp string<date-time>

                          UTC timestamp from which this rule should apply.

                        • Copy linkrules[].toTimestamp string<date-time>

                          UTC timestamp until which this rule should apply.

                        • Copy linkrules[].weekdays array of integer

                          An array of weekdays to which this rule should apply. A weekday starts with 0 for Monday and ends with 6 for Sunday.

                        • Copy linkrules[].shouldCharge boolean

                          Whether a chargeable asset should want to charge while this rule is active.

                      • Copy linkid string
                      Was this section helpful?

                      Delete schedule

                      DELETE /schedules/{scheduleId}

                      Delete a Schedule

                      Copy linkRequest

                      Path parameters
                      Copy linkscheduleId string<uuid> Required

                      ID of the Schedule.

                      Copy linkResponse 204

                      No Content

                      Was this section helpful?

                      Get schedule status

                      GET /schedules/{scheduleId}/status

                      Copy linkRequest

                      Path parameters
                      Copy linkscheduleId string<uuid> Required

                      ID of the Schedule.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkscheduleId string<uuid>

                        ID of the schedule.

                      • Copy linkscheduleType string

                        Possible enum values:

                          CHARGE
                      • Copy linkchangedAt string<date-time>

                        Time at which any value of the status last changed

                      • Copy linkstate string

                        An enum value that describes the current state of the Schedule

                        Possible enum values:

                          ALIGNEDMISALIGNEDPENDINGINACTIVE:OVERRIDDENINACTIVE:DISABLEDINACTIVE:AWAYINACTIVE:INCAPABLE
                      • Copy linkisCharging boolean

                        Whether the target is currently actually charging

                      • Copy linkisChargingExpected boolean

                        Whether the target is currently expected to be charging

                      • Copy linkisChargingExpectedParts object

                        Collection of booleans that - when combined via AND operator - forms the isChargingExpected value

                        Show child attributes
                        • Copy linkisChargingExpectedParts.needsCharge boolean
                        • Copy linkisChargingExpectedParts.isPluggedIn boolean
                        • Copy linkisChargingExpectedParts.shouldCharge boolean
                      • Copy linkupcomingTransitions array of object

                        List of upcoming transitions of the shouldCharge or targetTemperature value. A maximum of 2 items are returned.

                        Show child attributes
                        • Copy linkupcomingTransitions[].at string<date-time>

                          ISO8601 UTC timestamp

                        • Copy linkupcomingTransitions[].shouldCharge boolean
                      • Copy linksmartOverride object or null

                        This field populates after using Vehicle Create Smart OverrideAPI or Charger Create Smart OverrideAPI. Once populated, the target enters an overridden state, stopping Enode from sending Smart Charging actions. The Smart Override persists until the target ceases charging for any reason or is manually ended via Vehicle End Smart OverrideAPI or Charger End Smart OverrideAPI.

                        Show child attributes
                        • Copy linksmartOverride.createdAt string<date-time>

                          Time at which the smart override was created.

                        • Copy linksmartOverride.endedAt string<date-time> or null

                          Time at which the smart override was ended. If null, the smart override is still active.

                        • Copy linksmartOverride.targetType string

                          Possible enum values:

                            vehiclecharger
                        • Copy linksmartOverride.targetId string

                          ID of the target which this smart override is affecting.

                        • Copy linksmartOverride.vendorActionId string<uuid> or null

                          The ID of the Action responsible for starting charging on the target. Use the Get Vehicle ActionAPI or the Get Charger ActionAPI endpoints to monitor action results.

                      Was this section helpful?

                      Service health

                      Endpoints that return information about the health of Enode and our integrations.

                      List supported vendors per asset type

                      GET /integrations

                      Lists available vendors across asset types. The list of available vendors can be customized in your client. Learn more about vendors requiring activation.

                      Copy linkRequest

                      Query parameters
                      Copy linkassetTypes string Optional

                      Default value: vehicle,charger,hvac,inverter,battery,meter

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Possible enum values:

                          TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROWZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLITADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOAFOREAPSYSTEMSCSISolarDeyeFRONIUSGOODWEGROWATTHoymilesINVTSOFARSOLARKSOLPLANETSUNSYNKTSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkassetTypes array of string
                      • Copy linkscopes array of string
                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check available charger vendors

                      GET /health/chargers

                      Lists the available charger vendors, including the activated vendors that your client has access to. Learn more about vendors requiring activation.

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check available vehicle vendors

                      GET /health/vehicles

                      Lists the available vehicle vendors, including the activated vendors that your client has access to. Learn more about vendors requiring activation.

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check available battery vendorsBeta

                      GET /health/batteries

                      Lists the available battery vendors, including the activated vendors that your client has access to. Learn more about vendors requiring activation.

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check available inverter vendors

                      GET /health/inverters

                      Lists the available inverter vendors, including the activated vendors that your client has access to. Learn more about vendors requiring activation.

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check available HVAC vendors

                      GET /health/hvacs

                      Lists the available HVAC vendors, including the activated vendors that your client has access to. Learn more about vendors requiring activation.

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check available meter vendorsBeta

                      GET /health/meters

                      Lists the available Meter vendors, including the activated vendors that your client has access to. Learn more about vendors requiring activation.

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                      • Copy linkdisplayName string

                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                      • Copy linkstatus string

                        Ready-state of the Vendor. Currently always READY.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      • Copy linkportalName string

                        The name of the first party service or app that the user normally logs into.

                      • Copy linklinkingStatus string

                        Ready-state for linking with the Vendor.

                        • READY: The Vendor is ready to be linked with.
                        • ELEVATED_ERROR_RATE: Multiple attempts may be needed to link successfully. We are showing a warning in Link UI.
                        • OUTAGE: The Vendor is currently not available for linking. We will show an error in Link UI and not let the user attempt to link with the Vendor.

                        Possible enum values:

                          READYELEVATED_ERROR_RATEOUTAGE
                      Was this section helpful?

                      Check service readiness

                      GET /health/ready

                      Gets the combined health status of the service and all functionalities and dependencies.

                      Copy linkResponse 204

                      All functionalities are operating nominally.

                      Copy linkResponse 503

                      At least one functionality of the system is not operating nominally.

                      Was this section helpful?

                      Solar inverters

                      Solar inverters can be queried for current production state

                      List solar inverters

                      GET /inverters

                      Returns a paginated list of all available Solar Inverters

                      Copy linkRequest

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array of object

                        Paginated list of solar inverters

                        Show child attributes
                        • Copy linkdata[].id string<uuid>

                          Solar Inverter ID

                        • Copy linkdata[].userId string

                          The ID of the user that linked this inverter.

                        • Copy linkdata[].vendor string

                          Machine-friendly name of the vendor. Use this in API requests.

                          Possible enum values:

                            AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                        • Copy linkdata[].lastSeen string<date-time>

                          The last time Enode received live data or when the solar inverter was initially linked.

                        • Copy linkdata[].isReachable boolean

                          Indicates whether Enode can currently access live data from the inverter. If the inverter is not reachable, data updates will be delayed.

                        • Copy linkdata[].productionState object

                          Latest information about solar production. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                          Show child attributes
                          • Copy linkdata[].productionState.productionRate number or null

                            The current production rate in kW.

                          • Copy linkdata[].productionState.isProducing boolean or null

                            Whether the solar inverter is actively producing energy or not.

                          • Copy linkdata[].productionState.totalLifetimeProduction number or null

                            The total lifetime production in kWh.

                          • Copy linkdata[].productionState.lastUpdated string<date-time> or null

                            Time of last received production state update

                        • Copy linkdata[].timezone string or null

                          IANA TZ database timezone name representing the location of this inverter.

                        • Copy linkdata[].capabilities object

                          A collection of descriptors that describe the capabilities of this specific inverter.

                          Note: Sample-based statisticsAPI collected by Enode rely on the productionState capability and are not affected by this capability.

                          Show child attributes
                          • Copy linkdata[].capabilities.productionState object

                            Full availability of productionState data.

                            Show child attributes
                            • Copy linkdata[].capabilities.productionState.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.productionState.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                          • Copy linkdata[].capabilities.productionStatistics object

                            Availability of production statistics directly from the vendor.

                            Show child attributes
                            • Copy linkdata[].capabilities.productionStatistics.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.productionStatistics.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                        • Copy linkdata[].scopes array of string

                          Scopes that the user has granted for this inverter.

                        • Copy linkdata[].information object

                          Descriptive information about the solar inverter

                          Show child attributes
                          • Copy linkdata[].information.id string

                            Solar inverter vendor ID

                          • Copy linkdata[].information.sn string or null

                            Solar inverter serial number

                          • Copy linkdata[].information.brand string

                            A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                          • Copy linkdata[].information.model string

                            Solar inverter model

                          • Copy linkdata[].information.siteName string

                            Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                          • Copy linkdata[].information.installationDate string<date-time>

                            Solar inverter installation date

                        • Copy linkdata[].location object

                          Solar inverter's GPS coordinates

                          Show child attributes
                          • Copy linkdata[].location.id string<uuid> or null

                            ID of the location the solar inverter is currently positioned at (if any).

                          • Copy linkdata[].location.longitude number or null

                            Longitude in degrees

                          • Copy linkdata[].location.latitude number or null

                            Latitude in degrees

                          • Copy linkdata[].location.lastUpdated string<date-time> or null

                            Time of last received location state update

                        • Copy linkdata[].hemSystemId string<uuid> or null

                          ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      List user solar inverters

                      GET /users/{userId}/inverters

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      ID of the User.

                      Query parameters
                      Copy linkafter string Optional

                      Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                      Copy linkbefore string Optional

                      Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                      Copy linkpageSize integer Optional

                      Number of records to return per page. Default page size is 50.

                      Copy linkResponse 200

                      Attributes
                      • Copy linkdata array of object

                        Paginated list of solar inverters

                        Show child attributes
                        • Copy linkdata[].id string<uuid>

                          Solar Inverter ID

                        • Copy linkdata[].userId string

                          The ID of the user that linked this inverter.

                        • Copy linkdata[].vendor string

                          Machine-friendly name of the vendor. Use this in API requests.

                          Possible enum values:

                            AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                        • Copy linkdata[].lastSeen string<date-time>

                          The last time Enode received live data or when the solar inverter was initially linked.

                        • Copy linkdata[].isReachable boolean

                          Indicates whether Enode can currently access live data from the inverter. If the inverter is not reachable, data updates will be delayed.

                        • Copy linkdata[].productionState object

                          Latest information about solar production. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                          Show child attributes
                          • Copy linkdata[].productionState.productionRate number or null

                            The current production rate in kW.

                          • Copy linkdata[].productionState.isProducing boolean or null

                            Whether the solar inverter is actively producing energy or not.

                          • Copy linkdata[].productionState.totalLifetimeProduction number or null

                            The total lifetime production in kWh.

                          • Copy linkdata[].productionState.lastUpdated string<date-time> or null

                            Time of last received production state update

                        • Copy linkdata[].timezone string or null

                          IANA TZ database timezone name representing the location of this inverter.

                        • Copy linkdata[].capabilities object

                          A collection of descriptors that describe the capabilities of this specific inverter.

                          Note: Sample-based statisticsAPI collected by Enode rely on the productionState capability and are not affected by this capability.

                          Show child attributes
                          • Copy linkdata[].capabilities.productionState object

                            Full availability of productionState data.

                            Show child attributes
                            • Copy linkdata[].capabilities.productionState.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.productionState.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                          • Copy linkdata[].capabilities.productionStatistics object

                            Availability of production statistics directly from the vendor.

                            Show child attributes
                            • Copy linkdata[].capabilities.productionStatistics.isCapable boolean

                              The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                            • Copy linkdata[].capabilities.productionStatistics.interventionIds array of string

                              IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                        • Copy linkdata[].scopes array of string

                          Scopes that the user has granted for this inverter.

                        • Copy linkdata[].information object

                          Descriptive information about the solar inverter

                          Show child attributes
                          • Copy linkdata[].information.id string

                            Solar inverter vendor ID

                          • Copy linkdata[].information.sn string or null

                            Solar inverter serial number

                          • Copy linkdata[].information.brand string

                            A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                          • Copy linkdata[].information.model string

                            Solar inverter model

                          • Copy linkdata[].information.siteName string

                            Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                          • Copy linkdata[].information.installationDate string<date-time>

                            Solar inverter installation date

                        • Copy linkdata[].location object

                          Solar inverter's GPS coordinates

                          Show child attributes
                          • Copy linkdata[].location.id string<uuid> or null

                            ID of the location the solar inverter is currently positioned at (if any).

                          • Copy linkdata[].location.longitude number or null

                            Longitude in degrees

                          • Copy linkdata[].location.latitude number or null

                            Latitude in degrees

                          • Copy linkdata[].location.lastUpdated string<date-time> or null

                            Time of last received location state update

                        • Copy linkdata[].hemSystemId string<uuid> or null

                          ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                      • Copy linkpagination object

                        Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                        Show child attributes
                      Was this section helpful?

                      Get solar inverter

                      GET /inverters/{inverterId}

                      Copy linkRequest

                      Path parameters
                      Copy linkinverterId string<uuid> Required

                      ID of the solar inverter

                      Copy linkResponse 200

                      Attributes
                      • Copy linkid string<uuid>

                        Solar Inverter ID

                      • Copy linkuserId string

                        The ID of the user that linked this inverter.

                      • Copy linkvendor string

                        Machine-friendly name of the vendor. Use this in API requests.

                        Possible enum values:

                          AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                      • Copy linklastSeen string<date-time>

                        The last time Enode received live data or when the solar inverter was initially linked.

                      • Copy linkisReachable boolean

                        Indicates whether Enode can currently access live data from the inverter. If the inverter is not reachable, data updates will be delayed.

                      • Copy linkproductionState object

                        Latest information about solar production. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                        Show child attributes
                        • Copy linkproductionState.productionRate number or null

                          The current production rate in kW.

                        • Copy linkproductionState.isProducing boolean or null

                          Whether the solar inverter is actively producing energy or not.

                        • Copy linkproductionState.totalLifetimeProduction number or null

                          The total lifetime production in kWh.

                        • Copy linkproductionState.lastUpdated string<date-time> or null

                          Time of last received production state update

                      • Copy linktimezone string or null

                        IANA TZ database timezone name representing the location of this inverter.

                      • Copy linkcapabilities object

                        A collection of descriptors that describe the capabilities of this specific inverter.

                        Note: Sample-based statisticsAPI collected by Enode rely on the productionState capability and are not affected by this capability.

                        Show child attributes
                        • Copy linkcapabilities.productionState object

                          Full availability of productionState data.

                          Show child attributes
                          • Copy linkcapabilities.productionState.isCapable boolean

                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                          • Copy linkcapabilities.productionState.interventionIds array of string

                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                        • Copy linkcapabilities.productionStatistics object

                          Availability of production statistics directly from the vendor.

                          Show child attributes
                          • Copy linkcapabilities.productionStatistics.isCapable boolean

                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                          • Copy linkcapabilities.productionStatistics.interventionIds array of string

                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                      • Copy linkscopes array of string

                        Scopes that the user has granted for this inverter.

                      • Copy linkinformation object

                        Descriptive information about the solar inverter

                        Show child attributes
                        • Copy linkinformation.id string

                          Solar inverter vendor ID

                        • Copy linkinformation.sn string or null

                          Solar inverter serial number

                        • Copy linkinformation.brand string

                          A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                        • Copy linkinformation.model string

                          Solar inverter model

                        • Copy linkinformation.siteName string

                          Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                        • Copy linkinformation.installationDate string<date-time>

                          Solar inverter installation date

                      • Copy linklocation object

                        Solar inverter's GPS coordinates

                        Show child attributes
                        • Copy linklocation.id string<uuid> or null

                          ID of the location the solar inverter is currently positioned at (if any).

                        • Copy linklocation.longitude number or null

                          Longitude in degrees

                        • Copy linklocation.latitude number or null

                          Latitude in degrees

                        • Copy linklocation.lastUpdated string<date-time> or null

                          Time of last received location state update

                      • Copy linkhemSystemId string<uuid> or null

                        ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                      Was this section helpful?

                      Refresh inverter data

                      POST /inverters/{inverterId}/refresh-hint

                      Use this endpoint to initiate an expedited data refresh for the specified inverter.

                      Note: The Enode platform keeps data automatically up-to-date and detects changes in the OEM APIs within seconds to a few minutes. We change the refresh interval dynamically based on a number of heuristics. This ensures we find the best trade-off between the stability of the connection to the OEM and freshness of the data.
                      This method overrides most of our heuristics and should therefore be used with caution. You may use it when you have a strong reason to believe the data might be stale.

                      Copy linkRequest

                      Path parameters
                      Copy linkinverterId string<uuid> Required

                      ID of the solar inverter

                      Copy linkResponse 204

                      Refresh hint registered successfully.

                      Copy linkResponse 404

                      The specified inverter was not found.

                      Was this section helpful?

                      Get inverter statisticsBeta

                      GET /inverters/{inverterId}/statistics

                      Returns statistics about power production for the given inverter in the form of a time series, collected from vendor APIs.

                      Request a day of data by specifying year, month, and day, or a month of data by specifying only year and month.

                      Intervals are given in the local time of the inverter. For example, year=2024&month=05&day=05 for an inverter in the Australia/Adelaide timezone will return data between 2024-05-05T00:00:00+09:30 and 2024-05-06T00:00:00+09:30.

                      The resolutions in the response depend on the interval size requested. For a month interval, the resolution is DAY. For a day interval, the resolution is QUARTER_HOUR.

                      Pre-linking data is available shortly after linking. 30 days before the linking date at QUARTER_HOUR resolution. 3 months before linking date at DAY resolution.

                      Webhooks: Whenever data is backfilled or updated a user:inverter:statistics-updated webhook event will be emitted.

                      Copy linkRequest

                      Path parameters
                      Copy linkinverterId string<uuid> Required

                      ID of the solar inverter

                      Query parameters
                      Copy linkyear integer Required
                      Copy linkmonth integer Required
                      Copy linkday integer Optional

                      Copy linkResponse 200

                      Success. All data is final, and is not likely to change.

                      Attributes
                      • Copy linktimezone string

                        The timezone of the inverter.

                      • Copy linkresolutions object
                        Show child attributes
                        • Copy linkresolutions.QUARTER_HOUR object
                          Show child attributes
                          • Copy linkresolutions.QUARTER_HOUR.unit string

                            The unit of measurement for power production data. Always kWh.

                            Possible enum values:

                              kWh
                          • Copy linkresolutions.QUARTER_HOUR.data array of object or null

                            An array of data points representing the power production statistics.

                            Show child attributes
                            • Copy linkresolutions.QUARTER_HOUR.data[].date string<date-time>

                              Time bucket start as a RFC3339 timestamp. Offset may be Z or ±hh:mm. In the unlikely event that an inverter changes timezone, the offset from when the data was retrieved is used, not the inverter's current timezone.

                            • Copy linkresolutions.QUARTER_HOUR.data[].value number or null

                              The energy produced (kWh) in the specified interval. Null if no data is available.

                        • Copy linkresolutions.DAY object
                          Show child attributes
                          • Copy linkresolutions.DAY.unit string

                            The unit of measurement for power production data. Always kWh.

                            Possible enum values:

                              kWh
                          • Copy linkresolutions.DAY.data array of object or null

                            An array of data points representing the power production statistics.

                            Show child attributes
                            • Copy linkresolutions.DAY.data[].date string<date-time>

                              Time bucket start as a RFC3339 timestamp. Offset may be Z or ±hh:mm. In the unlikely event that an inverter changes timezone, the offset from when the data was retrieved is used, not the inverter's current timezone.

                            • Copy linkresolutions.DAY.data[].value number or null

                              The energy produced (kWh) in the specified interval. Null if no data is available.

                      Copy linkResponse 202

                      Success. Some of the returned data is likely to change in the future. For example, if you request an interval ending in the future. Persist the data, and retry after the specified time. You'll also receive a webhook user:inverter:statistics-updated event when the data changes.

                      Attributes
                      • Copy linktimezone string

                        The timezone of the inverter.

                      • Copy linkresolutions object
                        Show child attributes
                        • Copy linkresolutions.QUARTER_HOUR object
                          Show child attributes
                          • Copy linkresolutions.QUARTER_HOUR.unit string

                            The unit of measurement for power production data. Always kWh.

                            Possible enum values:

                              kWh
                          • Copy linkresolutions.QUARTER_HOUR.data array of object or null

                            An array of data points representing the power production statistics.

                            Show child attributes
                            • Copy linkresolutions.QUARTER_HOUR.data[].date string<date-time>

                              Time bucket start as a RFC3339 timestamp. Offset may be Z or ±hh:mm. In the unlikely event that an inverter changes timezone, the offset from when the data was retrieved is used, not the inverter's current timezone.

                            • Copy linkresolutions.QUARTER_HOUR.data[].value number or null

                              The energy produced (kWh) in the specified interval. Null if no data is available.

                        • Copy linkresolutions.DAY object
                          Show child attributes
                          • Copy linkresolutions.DAY.unit string

                            The unit of measurement for power production data. Always kWh.

                            Possible enum values:

                              kWh
                          • Copy linkresolutions.DAY.data array of object or null

                            An array of data points representing the power production statistics.

                            Show child attributes
                            • Copy linkresolutions.DAY.data[].date string<date-time>

                              Time bucket start as a RFC3339 timestamp. Offset may be Z or ±hh:mm. In the unlikely event that an inverter changes timezone, the offset from when the data was retrieved is used, not the inverter's current timezone.

                            • Copy linkresolutions.DAY.data[].value number or null

                              The energy produced (kWh) in the specified interval. Null if no data is available.

                      • Copy linkretryAfter string<date-time>

                        Wait until this time or later before retrying the request.

                      Copy linkResponse 400

                      Bad Request

                      Copy linkResponse 404

                      Not Found

                      Was this section helpful?

                      Statistics

                      Endpoints returning timeseries data collected from linked devices.

                      Get HEM system statisticsBeta

                      GET /hem-systems/{hemSystemId}/statistics

                      Returns time-bucketed metrics for a specific HEM System, including solar generation, household consumption, grid import/export, battery level, and charge/discharge.

                      The endpoint supports querying by DAY (YYYY-MM-DD) and MONTH (YYYY-MM) intervals from the system’s installation date up to the current date. DAY queries return the most granular available resolution, while MONTH queries report daily buckets. All timestamps are localized to the HEM system’s configured timezone. Buckets < 1 hour (e.g., PT5M, PT15M) report average power (kW); buckets ≥ 1 hour report energy (kWh). When data is not available, isAvailable will be false with a reason. Note: Battery level is only available for DAY interval queries.

                      Copy linkRequest

                      Path parameters
                      Copy linkhemSystemId string<uuid> Required

                      The ID of the HEM System to look up.

                      Query parameters
                      Copy linkinterval string Required

                      Copy linkResponse 200

                      Attributes
                      • Copy linktimeseries object

                        Collection of all HEM System statistics timeseries

                        Show child attributes
                        • Copy linktimeseries.generation

                          Solar generation statistics

                          Show child attributes
                          • Copy linktimeseries.generation.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.generation.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.generation.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.generation.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.generation.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.generation.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.generation.timezone string

                            Timezone of the data

                          • Copy linktimeseries.generation.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.generation.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.generation.data[].v number or null

                              Value of the data point, null if no data available

                        • Copy linktimeseries.consumption

                          Household consumption statistics

                          Show child attributes
                          • Copy linktimeseries.consumption.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.consumption.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.consumption.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.consumption.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.consumption.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.consumption.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.consumption.timezone string

                            Timezone of the data

                          • Copy linktimeseries.consumption.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.consumption.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.consumption.data[].v number or null

                              Value of the data point, null if no data available

                        • Copy linktimeseries.import

                          Grid import statistics

                          Show child attributes
                          • Copy linktimeseries.import.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.import.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.import.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.import.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.import.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.import.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.import.timezone string

                            Timezone of the data

                          • Copy linktimeseries.import.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.import.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.import.data[].v number or null

                              Value of the data point, null if no data available

                        • Copy linktimeseries.export

                          Grid export statistics

                          Show child attributes
                          • Copy linktimeseries.export.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.export.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.export.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.export.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.export.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.export.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.export.timezone string

                            Timezone of the data

                          • Copy linktimeseries.export.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.export.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.export.data[].v number or null

                              Value of the data point, null if no data available

                        • Copy linktimeseries.charge

                          Battery charge statistics

                          Show child attributes
                          • Copy linktimeseries.charge.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.charge.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.charge.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.charge.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.charge.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.charge.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.charge.timezone string

                            Timezone of the data

                          • Copy linktimeseries.charge.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.charge.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.charge.data[].v number or null

                              Value of the data point, null if no data available

                        • Copy linktimeseries.discharge

                          Battery discharge statistics

                          Show child attributes
                          • Copy linktimeseries.discharge.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.discharge.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.discharge.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.discharge.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.discharge.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.discharge.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.discharge.timezone string

                            Timezone of the data

                          • Copy linktimeseries.discharge.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.discharge.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.discharge.data[].v number or null

                              Value of the data point, null if no data available

                        • Copy linktimeseries.batteryLevel

                          Battery level statistics

                          Show child attributes
                          • Copy linktimeseries.batteryLevel.isAvailable boolean

                            Indicates that the timeseries data is available

                            Possible enum values:

                              true
                          • Copy linktimeseries.batteryLevel.unit string

                            Unit of measurement for HEM System statistics

                            Possible enum values:

                              kWkWh%
                          • Copy linktimeseries.batteryLevel.unitType string

                            Type of unit for HEM System statistics

                            Possible enum values:

                              EnergyPowerSoC
                          • Copy linktimeseries.batteryLevel.sampling object

                            Sampling configuration for HEM System statistics data

                            Show child attributes
                            • Copy linktimeseries.batteryLevel.sampling.mode string

                              Sampling mode for the data

                              Possible enum values:

                                bucketed
                            • Copy linktimeseries.batteryLevel.sampling.resolution string

                              Time resolution of the bucketed data in the ISO 8601 format

                              Possible enum values:

                                PT5MPT10MPT15MPT30MPT1HP1D
                          • Copy linktimeseries.batteryLevel.timezone string

                            Timezone of the data

                          • Copy linktimeseries.batteryLevel.data array of object

                            Timeseries of HEM System statistics per timezone of the system. The first bucket of a day starts at midnight, localtime and the final bucket of a day ends at midnight, local time. Example: For data with a PT5M resolution and a timezone offset of +02:00, the first and last bucket would be 2025-05-05T00:00:00+02:00 and 2025-05-05T23:55:00+02:00.

                            Show child attributes
                            • Copy linktimeseries.batteryLevel.data[].t string

                              Timestamp in RFC 3339 format (minutes ending in 0 or 5, seconds: 00).

                            • Copy linktimeseries.batteryLevel.data[].v number or null

                              Value of the data point, null if no data available

                      Copy linkResponse 400

                      Bad Request

                      Attributes
                      • Copy linkstatusCode number

                        Possible enum values:

                          400
                      • Copy linkheaders object
                        Show child attributes
                        • Copy linkheaders.content-type string

                          Possible enum values:

                            application/problem+json; charset=utf-8
                      • Copy linkbody object
                        Show child attributes
                        • Copy linkbody.type string

                          Possible enum values:

                            https://developers.enode.com/api/problems/bad-request
                        • Copy linkbody.title string

                          Possible enum values:

                            Bad Request
                        • Copy linkbody.detail string

                          Detailed problem description

                      Copy linkResponse 422

                      HEM System Statistics Not Available

                      Attributes
                      • Copy linkstatusCode number

                        Possible enum values:

                          422
                      • Copy linkheaders object
                        Show child attributes
                        • Copy linkheaders.content-type string

                          Possible enum values:

                            application/problem+json; charset=utf-8
                      • Copy linkbody object
                        Show child attributes
                        • Copy linkbody.type string

                          Possible enum values:

                            https://developers.enode.com/api/problems/hem-system-statistics-not-available
                        • Copy linkbody.title string

                          Possible enum values:

                            HEM System Statistics Not Available
                        • Copy linkbody.detail string

                          Detailed problem description

                      Copy linkResponse 503

                      Vendor Temporarily Unavailable

                      Attributes
                      • Copy linkstatusCode number

                        Possible enum values:

                          503
                      • Copy linkheaders object
                        Show child attributes
                        • Copy linkheaders.content-type string

                          Possible enum values:

                            application/problem+json; charset=utf-8
                        • Copy linkheaders.retry-after number
                      • Copy linkbody object
                        Show child attributes
                        • Copy linkbody.type string

                          Possible enum values:

                            https://developers.enode.com/api/problems/vendor-temporarily-unavailable
                        • Copy linkbody.title string

                          Possible enum values:

                            Vendor Temporarily Unavailable
                        • Copy linkbody.detail string

                          Detailed problem description

                      Was this section helpful?

                      Get user statistics on charging sessions

                      GET /users/{userId}/statistics/charging/sessions

                      Returns statistics about power consumption and price, binned by sessions for a single user and device, at a location. A session is defined by consecutive readings from the device showing consumption. It can typically take up to 15 minutes between a session ending in reality, and being reflected by this endpoint.

                      Only include sessions intersecting with [startDate, endDate].

                      Copy linkRequest

                      Path parameters
                      Copy linkuserId string Required

                      The ID of the user

                      Query parameters
                      Copy linkstartDate string<date-time> Required

                      Only include sessions active after this date. Example: 2021-03-21T00:15:00.000Z

                      Copy linkendDate string<date-time> Optional

                      Only include sessions active before this date. Example: 2021-03-21T00:30:00.000Z

                      Copy linklocationId string<uuid> Optional

                      The ID of the location for which to fetch statistics

                      Copy linkid string Optional

                      The ID of the device for which to fetch statistics. The type of the device must match the type parameter.

                      Copy linktype string Required

                      The device type for which statistics will be fetched.

                      Possible enum values:

                        chargervehiclehvac

                      Copy linkResponse 200

                      Attributes (list of object)
                      • Copy linkkw object

                        Aggregate statistics in kW for the session

                        Show child attributes
                        • Copy linkkw.min number

                          The minimum amount for this period.

                        • Copy linkkw.max number

                          The maximum amount for this period.

                        • Copy linkkw.mean number

                          The average for this period.

                      • Copy linkkwhSum number

                        Total power consumption in kWh for the session

                      • Copy linkprice object

                        Aggregate per kWh price statistics for the session. Currency is NOK for Norway, Sweden, Denmark, Finland, Estonia, Latvia, Lithuania; and EUR for Austria, Belgium, Germany, France, Netherlands, Poland, Spain. Unless different price data has been provided via the Tariffs endpoints

                        Show child attributes
                        • Copy linkprice.min number

                          The minimum amount for this period.

                        • Copy linkprice.max number

                          The maximum amount for this period.

                        • Copy linkprice.mean number

                          The average for this period.

                      • Copy linkcostSum number

                        Total cost for the consumed kWh for this session

                      • Copy linkid string

                        ID of the asset for this session.

                      • Copy linklocationId string<uuid> or null

                        Location ID for this session.

                      • Copy linkfrom string<date-time>

                        Start time of the session.

                      • Copy linkto string<date-time>

                        End time of the session.

                      • Copy linknonSmartPrice object

                        If Smart Charging has actively stopped the charging session from happening at another time; these fields show the aggregate per kWh price statistics that would have occurred without Smart Charging. This can be used to show the potential price if Smart Charging had not been active. Currency is NOK for Norway, Sweden, Denmark, Finland, Estonia, Latvia, Lithuania; and EUR for Austria, Belgium, Germany, France, Netherlands, Poland, Spain. Unless different price data has been provided via the Tariffs endpoints

                        Show child attributes
                        • Copy linknonSmartPrice.min number or null

                          The minimum amount for this period.

                        • Copy linknonSmartPrice.max number or null

                          The maximum amount for this period.

                        • Copy linknonSmartPrice.mean number or null

                          The average for this period.

                      • Copy linkestimatedSavings number or null

                        Total estimated savings achieved by Smart Charging for this session. If null, no part of this session was impacted by Smart Charging. This is expressed in NOK unless different price data has been provided via the Tariffs endpoints

                      Copy linkResponse 404

                      Asset not found

                      Attributes
                      • Copy linktype string

                        A URI reference that identifies the problem type.

                      • Copy linktitle string

                        A short, human-readable summary of the problem type.

                      • Copy linkdetail string

                        A human-readable explanation specific to this occurrence of the problem.

                      • Copy linkissues array of object

                        A list of validation issues which occurred while validating some component of the network payload.

                        Show child attributes
                        Was this section helpful?

                        Get user charging statistics

                        GET /users/{userId}/statistics/charging

                        Get statistics about power consumption and price in the form of a time series for a single device.

                        If Smart Charging has shifted the consumption, the nonSmartPrice fields will show what the consumption would have cost if it had happened at the default time. If Smart Charging has resulted in savings, the value is reported in the estimatedSavings field.

                        Copy linkRequest

                        Path parameters
                        Copy linkuserId string Required

                        The ID of the User

                        Query parameters
                        Copy linkstartDate string<date-time> Required

                        Earliest date to include in the response. Example: 2021-03-21T00:15:00.000Z

                        Copy linkendDate string<date-time> Optional

                        Latest date to include in the response. Example: 2021-03-21T00:30:00.000Z

                        Copy linklocationId string<uuid> Optional

                        The ID of the location for which to fetch statistics

                        Copy linkid string Optional

                        The ID of the device for which to fetch statistics. The type of the device must match the type parameter.

                        Copy linktype string Required

                        The device type for which statistics will be fetched.

                        Possible enum values:

                          chargervehiclehvac
                        Copy linkutcOffset string<float> Optional

                        Offset (in hours) from UTC to adjust the timezone for viewing statistics. By default, all timestamps are in UTC, and period boundaries (day, week, month, year) are calculated in UTC. Providing utcOffset aligns these to the viewer's timezone. Accepts positive, negative, and fractional values. Note: utcOffset has no effect with resolutions QUARTER_HOUR, HALF_HOUR, or HOUR.

                        Deprecated: The use of utcOffset is discouraged as it doesn't handle time zones adequately. All data will be bucketed in UTC if utcOffset is not provided.

                        Copy linkresolution string Optional

                        The unit of time the data will be bucketed into. Each entry in the response array corresponds to aggregated data of the time range specified.

                        Default value: DAY

                        Possible enum values:

                          QUARTER_HOURHALF_HOURHOURDAYWEEKMONTHYEAR

                        Copy linkResponse 200

                        Attributes (list of object)
                        • Copy linkkw object

                          Aggregate statistics in kW for the time bucket

                          Show child attributes
                          • Copy linkkw.min number

                            The minimum amount for this period.

                          • Copy linkkw.max number

                            The maximum amount for this period.

                          • Copy linkkw.mean number

                            The average for this period.

                        • Copy linkkwhSum number

                          Total power consumption in kWh for the time bucket

                        • Copy linkprice object

                          Aggregate per kWh price statistics for the time bucket. Currency is NOK for Norway, Sweden, Denmark, Finland, Estonia, Latvia, Lithuania; and EUR for Austria, Belgium, Germany, France, Netherlands, Poland, Spain. Unless different price data has been provided via the Tariffs endpoints

                          Show child attributes
                          • Copy linkprice.min number

                            The minimum amount for this period.

                          • Copy linkprice.max number

                            The maximum amount for this period.

                          • Copy linkprice.mean number

                            The average for this period.

                        • Copy linkcostSum number

                          Total cost for the consumed kWh for the time bucket

                        • Copy linknonSmartPrice object

                          Aggregate per kWh price statistics for the time bucket if Smart Charging has actively stopped consumption from occurring during this resolution. This can be used to show the potential price if Smart Charging had not been active. Currency is NOK for Norway, Sweden, Denmark, Finland, Estonia, Latvia, Lithuania; and EUR for Austria, Belgium, Germany, France, Netherlands, Poland, Spain. Unless different price data has been provided via the Tariffs endpoints

                          Show child attributes
                          • Copy linknonSmartPrice.min number or null

                            The minimum amount for this period.

                          • Copy linknonSmartPrice.max number or null

                            The maximum amount for this period.

                          • Copy linknonSmartPrice.mean number or null

                            The average for this period.

                        • Copy linkestimatedSavings number or null

                          Total estimated savings achieved by Smart Charging for this resolution. If null, no part of this resolution was impacted by Smart Charging. Currency is NOK for Norway, Sweden, Denmark, Finland, Estonia, Latvia, Lithuania; and EUR for Austria, Belgium, Germany, France, Netherlands, Poland, Spain. Unless different price data has been provided via the Tariffs endpoints

                        • Copy linkdate string<date-time>

                          The timestamp that represents the start of this resolution

                        Copy linkResponse 404

                        Asset not found

                        Attributes
                        • Copy linktype string

                          A URI reference that identifies the problem type.

                        • Copy linktitle string

                          A short, human-readable summary of the problem type.

                        • Copy linkdetail string

                          A human-readable explanation specific to this occurrence of the problem.

                        • Copy linkissues array of object

                          A list of validation issues which occurred while validating some component of the network payload.

                          Show child attributes
                          Was this section helpful?

                          Tariffs

                          Use the Tariffs API to submit pricing information to Enode. These prices will be preferred over market prices in Enode's smart products, like Smart ChargingAPI, and will be used to calculate costs in StatisticsAPI.

                          Get tariff

                          GET /tariffs/{tariffId}

                          Get a tariff using its ID.

                          Copy linkRequest

                          Path parameters
                          Copy linktariffId string Required

                          Copy linkResponse 200

                          Attributes (list of object)
                          • Copy linkname string

                            Per-tariff unique interval name

                          • Copy linkcost string

                            Rate cost (decimal string)

                          Was this section helpful?

                          Create a tariff

                          PUT /tariffs/{tariffId}

                          Create a tariff using a list of names and prices. Before the tariff can be used in Enode products, it must be linked to a locationAPI.

                          Copy linkRequest

                          Path parameters
                          Copy linktariffId string Required
                          Attributes (list of object)
                          • Copy linkname string Required

                            Per-tariff unique interval name

                          • Copy linkcost string Required

                            Rate cost (decimal string)

                          Copy linkResponse 204

                          Successfully updated.

                          Was this section helpful?

                          Link tariff to location

                          PUT /locations/{locationId}/tariff

                          Link a tariff to a LocationAPI using a daily schedule. Each new schedule overwrites any previous requests. Devices positioned at this location will use the schedule to calculate electricity costs. The schedule must ensure that there are no overlapping intervals, although gaps are permissible. In case of gaps, the system will default to market prices.

                          Copy linkRequest

                          Path parameters
                          Copy linklocationId string<uuid> Required

                          ID of the Location.

                          Attributes
                          • Copy linktariffId string Required

                            The Tariff ID

                          • Copy linktariffIntervals array of object Required

                            List of time intervals at which to apply the specified tariff rates.

                            Show child attributes
                            • Copy linktariffIntervals[].name string Required

                              Rate name

                            • Copy linktariffIntervals[].weekdays array of integer Optional

                              An array of weekdays to apply the named tariff. A weekday starts with 0 for Monday, and ends with 6 for Sunday. If not specified, named tariff is applied for entire week

                            • Copy linktariffIntervals[].from string Required

                              Interval from time (inclusive), format HH:mm. Interpreted in the timezone specified in the timezoneName field of the Location.

                            • Copy linktariffIntervals[].to string Required

                              Interval to time (exclusive), format HH:mm. Interpreted in the timezone specified in the timezoneName field of the Location.

                          Copy linkResponse 204

                          Copy linkResponse 400

                          Overlapping tariff schedule. Ensure that the schedule has no overlaps.

                          Attributes
                          • Copy linktype string

                            A URI reference that identifies the problem type.

                          • Copy linktitle string

                            A short, human-readable summary of the problem type.

                          • Copy linkdetail string

                            A human-readable explanation specific to this occurrence of the problem.

                          • Copy linkissues array of object

                            A list of validation issues which occurred while validating some component of the network payload.

                            Show child attributes

                            Copy linkResponse 404

                            Location or tariff not found.

                            Attributes
                            • Copy linktype string

                              A URI reference that identifies the problem type.

                            • Copy linktitle string

                              A short, human-readable summary of the problem type.

                            • Copy linkdetail string

                              A human-readable explanation specific to this occurrence of the problem.

                            • Copy linkissues array of object

                              A list of validation issues which occurred while validating some component of the network payload.

                              Show child attributes
                              Was this section helpful?

                              Get tariff schedule

                              GET /locations/{locationId}/tariff

                              Get the tariff schedule linked to a location.

                              Copy linkRequest

                              Path parameters
                              Copy linklocationId string<uuid> Required

                              ID of the Location.

                              Copy linkResponse 200

                              Attributes (list of object)
                              • Copy linkweekday integer

                                Weekday to apply the named tariff. A weekday starts with 0 for Monday, and ends with 6 for Sunday. If not specified, named tariff is applied for entire week

                                Possible enum values:

                                  0123456
                              • Copy linkfromHourMinute string

                                Interval from time (inclusive, UTC)

                              • Copy linktoHourMinute string

                                Interval to time (exclusive, UTC)

                              • Copy linktariffId string

                                Energy Provider Tariff ID

                              • Copy linktariffName string

                                Rate name

                              Copy linkResponse 404

                              Location not found

                              Attributes
                              • Copy linktype string

                                A URI reference that identifies the problem type.

                              • Copy linktitle string

                                A short, human-readable summary of the problem type.

                              • Copy linkdetail string

                                A human-readable explanation specific to this occurrence of the problem.

                              • Copy linkissues array of object

                                A list of validation issues which occurred while validating some component of the network payload.

                                Show child attributes
                                Was this section helpful?

                                User management

                                Endpoints used to link and unlink users or vendors.

                                List users

                                GET /users

                                Returns a paginated list of all users.

                                Copy linkRequest

                                Query parameters
                                Copy linkafter string Optional

                                Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                                Copy linkbefore string Optional

                                Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                                Copy linkpageSize integer Optional

                                Number of records to return per page. Default page size is 50.

                                Copy linkResponse 200

                                Paginated list of users. Use query parameters to retrieve more results.

                                Attributes
                                • Copy linkdata array of object

                                  Paginated list of users.

                                  Show child attributes
                                  • Copy linkdata[].id string

                                    ID of the user.

                                  • Copy linkdata[].createdAt string<date-time>

                                    ISO8601 UTC timestamp

                                  • Copy linkdata[].scopes array of string Deprecated

                                    Scopes for the user.

                                • Copy linkpagination object

                                  Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                                  Show child attributes
                                Was this section helpful?

                                Get user

                                GET /users/{userId}

                                Returns metadata about the given User ID, including a list of vendors for which the User has provided credentials.

                                Copy linkRequest

                                Path parameters
                                Copy linkuserId string Required

                                ID of the User.

                                Copy linkResponse 200

                                Attributes
                                • Copy linkid string

                                  The user's ID.

                                • Copy linklinkedVendors array of object
                                  Show child attributes
                                  • Copy linklinkedVendors[].vendor string

                                    Machine-friendly name of the vendor. Use this in API requests.

                                    Possible enum values:

                                      AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                                  • Copy linklinkedVendors[].vendorType string

                                    Possible enum values:

                                      vehiclechargerhvacinverterbatterymeter
                                  • Copy linklinkedVendors[].isValid boolean

                                    Whether the provided credentials are currently valid. A false value here indicates that a credential has become invalidated, and Link UserAPI should be used to get new credentials from this user.

                                Was this section helpful?

                                Unlink user

                                DELETE /users/{userId}

                                Deletes a User and all of their data permanently and invalidates any associated sessions, authorization codes, and access/refresh tokens.

                                Copy linkRequest

                                Path parameters
                                Copy linkuserId string Required

                                ID of the User.

                                Copy linkResponse 204

                                No Content

                                Was this section helpful?

                                Disconnect vendor

                                DELETE /users/{userId}/vendors/{vendor}

                                Disconnect a single Vendor from the User's account.

                                All stored data about their Vendor account will be deleted, and any assets that were provided by that Vendor will disappear from the system.

                                Copy linkRequest

                                Path parameters
                                Copy linkuserId string Required

                                ID of the User.

                                Copy linkvendor object Required

                                Vendor to be unlinked.

                                Possible enum values:

                                  AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI

                                Copy linkResponse 204

                                No Content

                                Was this section helpful?

                                Disconnect vendor type

                                DELETE /users/{userId}/vendors/{vendor}/{vendorType}

                                Disconnect a specific vendor type from the User's account. Assets of this type from that Vendor will be removed. If no other types from that vendor remain, all its stored data will be deleted.

                                Copy linkRequest

                                Path parameters
                                Copy linkuserId string Required

                                ID of the User.

                                Copy linkvendor object Required

                                Vendor to be unlinked.

                                Possible enum values:

                                  AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                                Copy linkvendorType string Required

                                Possible enum values:

                                  vehiclechargerhvacinverterbatterymeter

                                Copy linkResponse 204

                                No Content

                                Was this section helpful?
                                POST /users/{userId}/link

                                Creates a short-lived (24 hours), single-use device linking session. Use the returned linkUrl to present Link UI to your user via mobile in-app browsers or web redirects, or use the linkToken to present Link UI via the Link SDKs.

                                Path parameters

                                A unique identifier of your choice representing your user, e.g. a stable UUID you keep in your datastore. If a user entity matching the provided userId does not exist in your client, it will be created before the link session is created.

                                Attributes
                                • By specifying a vendor, the brand selection step in Link UI will be skipped. Instead, your user will go directly to the service selection view (if applicable for the specified vendor), or to the review data access step.

                                  Possible enum values:

                                    AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                                • Sets the asset type your user can link through Link UI within the linking session. The brand selection step selection step will show vendors available for the specified asset type. If absent, the type(s) of assets that will be linked are inferred from the scope(s) requested.

                                  Possible enum values:

                                    vehiclechargerhvacinverterbatterymeter
                                • The scope(s) you wish to request access to when linking an asset (learn more). The scopes will be presented for user consent in Link UI in the review data access step. The <assetType>:read:data scope is required for any asset type (e.g. if you wish to link a battery, you must request battery:read:data).

                                • Sets the language for Link UI. We recommend matching this to the language of your application. If your language is not yet supported, you can specify browser which will assess your user's browser language via the Accept-Language header (learn more). Passing in browser will fall back to en-US if no match is found.

                                  Possible enum values:

                                    browserda-DKde-DEen-USen-GBes-ESfi-FIfr-FRit-ITja-JPlv-LVlt-LTnb-NOnl-NLnl-BEpl-PLpt-PTro-ROsv-SE
                                • The URI your user will be redirected to after clicking "Complete" at the linking flow (from the last step in the Link UI flow). Only used in Link UI sessions that were not opened via the Link SDKs.

                                • Sets the color scheme (light or dark) of Link UI. If your UI is only available in one of the color schemes, and does not follow the operating system color scheme, we recommend setting either light or dark. Defaults to system, which follows the users operating system settings.

                                  Default value: system

                                  Possible enum values:

                                    systemlightdark
                                Attributes

                                Connections limit reached for this client

                                Attributes
                                • A URI reference that identifies the problem type.

                                • A short, human-readable summary of the problem type.

                                • A human-readable explanation specific to this occurrence of the problem.

                                • A list of validation issues which occurred while validating some component of the network payload.

                                  Show child attributes
                                  Was this section helpful?
                                  POST /assets/{assetId}/relink

                                  Creates a short-lived (24 hours), single-use device linking session specifically tailored for relinking. See our relinking guide for more details. Use the returned linkUrl to present Link UI to your user via mobile in-app browsers or web redirects, or use the linkToken to present Link UI via the Link SDKs.

                                  Path parameters

                                  The ID of the already linked asset to relink.

                                  Attributes
                                  • Sets the language for Link UI. We recommend matching this to the language of your application. If your language is not yet supported, you can specify browser which will assess your user's browser language via the Accept-Language header (learn more). Passing in browser will fall back to en-US if no match is found.

                                    Possible enum values:

                                      browserda-DKde-DEen-USen-GBes-ESfi-FIfr-FRit-ITja-JPlv-LVlt-LTnb-NOnl-NLnl-BEpl-PLpt-PTro-ROsv-SE
                                  • The URI your user will be redirected to after clicking "Complete" at the linking flow (from the last step in the Link UI flow). Only used in Link UI sessions that were not opened via the Link SDKs.

                                  • Sets the color scheme (light or dark) of Link UI. If your UI is only available in one of the color schemes, and does not follow the operating system color scheme, we recommend setting either light or dark. Defaults to system, which follows the users operating system settings.

                                    Default value: system

                                    Possible enum values:

                                      systemlightdark
                                  Attributes

                                  Asset not found or already linked

                                  Attributes
                                  • A URI reference that identifies the problem type.

                                  • A short, human-readable summary of the problem type.

                                  • A human-readable explanation specific to this occurrence of the problem.

                                  • A list of validation issues which occurred while validating some component of the network payload.

                                    Show child attributes
                                    Was this section helpful?

                                    Deauthorize user

                                    DELETE /users/{userId}/authorization

                                    Deletes the User's stored vendor authorizations and credentials, invalidates any associated sessions, authorization codes, and access/refresh tokens.

                                    All other User data is retained, and if the User is sent through the Link User flow in the future, their account will be just as they left it.

                                    There is no dedicated webhook event but you'll receive deleted events for all assets that were associated with the user.

                                    Copy linkRequest

                                    Path parameters
                                    Copy linkuserId string Required

                                    ID of the User.

                                    Copy linkResponse 204

                                    No Content

                                    Was this section helpful?

                                    Vehicles

                                    EVs provide charge, location, and odometer data. Vehicles can be controlled either directly using the Control ChargingAPI endpoint, or through Smart Charging and Schedules.

                                    List vehicles

                                    GET /vehicles

                                    Returns a paginated list of all available Vehicles

                                    Copy linkRequest

                                    Query parameters
                                    Copy linkafter string Optional

                                    Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                                    Copy linkbefore string Optional

                                    Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                                    Copy linkpageSize integer Optional

                                    Number of records to return per page. Default page size is 50.

                                    Copy linkResponse 200

                                    Attributes
                                    • Copy linkdata array of object
                                      Show child attributes
                                      • Copy linkdata[].id string

                                        Vehicle ID

                                      • Copy linkdata[].userId string

                                        The ID of the user that linked this vehicle.

                                      • Copy linkdata[].vendor string

                                        Machine-friendly name of the vendor. Use this in API requests.

                                        Possible enum values:

                                          ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                      • Copy linkdata[].lastSeen string<date-time>

                                        The last time Enode received live data or when the vehicle was initially linked.

                                      • Copy linkdata[].isReachable boolean or null

                                        Indicates whether Enode can currently access live data from the vehicle. If the vehicle is not reachable, data updates will be delayed.

                                      • Copy linkdata[].information object

                                        Descriptive information about the Vehicle.

                                        Show child attributes
                                        • Copy linkdata[].information.vin string or null

                                          Vehicle VIN

                                        • Copy linkdata[].information.brand string or null

                                          A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                        • Copy linkdata[].information.model string or null

                                          Vehicle model

                                        • Copy linkdata[].information.year number or null

                                          Vehicle production year

                                        • Copy linkdata[].information.displayName string or null

                                          User-defined vehicle nickname.

                                        • Copy linkdata[].information.imageUrl string or null

                                          URL to an image of the vehicle model. null when not available.

                                      • Copy linkdata[].chargeState object

                                        Latest information about the electric or hybrid battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                        Show child attributes
                                        • Copy linkdata[].chargeState.batteryLevel number or null

                                          Remaining battery in percent

                                        • Copy linkdata[].chargeState.range number or null

                                          Estimated remaining kilometers

                                        • Copy linkdata[].chargeState.isPluggedIn boolean or null

                                          Indicates whether the vehicle is connected to a charging box (regardless of whether it is actually charging)

                                        • Copy linkdata[].chargeState.isCharging boolean or null

                                          Indicates whether the vehicle is currently receiving power from the charger and actively charging its battery.

                                        • Copy linkdata[].chargeState.isFullyCharged boolean or null

                                          Indicates whether the vehicle is fully charged. 'Fully charged' may be a batteryLevel of less than 100 if a chargeLimit has been configured in the vehicle. This will be null when powerDeliveryState is UNKNOWN.

                                        • Copy linkdata[].chargeState.batteryCapacity number or null

                                          Vehicle's usable battery capacity in kWh.

                                        • Copy linkdata[].chargeState.chargeLimit number or null

                                          Charge limit, as a percent of batteryCapacity.

                                          When null, the vendor did not report a charge limit when we last received data from them. We recommend assuming the limit is 100%.

                                        • Copy linkdata[].chargeState.chargeRate number or null

                                          The current charge rate in kW.

                                          This property is only available when the vehicle is charging, and is null any other time.

                                        • Copy linkdata[].chargeState.chargeTimeRemaining number or null

                                          Estimated time until the current charging intent is completed, in minutes.

                                          This property is only available when the vehicle is charging, and is null any other time.

                                        • Copy linkdata[].chargeState.lastUpdated string<date-time> or null

                                          Time of last received charge state update

                                        • Copy linkdata[].chargeState.maxCurrent number or null

                                          The maximum current that the vehicle can draw from the charger, in amps.

                                        • Copy linkdata[].chargeState.powerDeliveryState string

                                          The current state of power delivery between the vehicle and charger.

                                          • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                          • UNPLUGGED: The vehicle is not connected to the charger.
                                          • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                          • PLUGGED_IN:CHARGING: The vehicle is actively receiving power from the charger, causing the battery level to increase.
                                          • PLUGGED_IN:COMPLETE: The charging process has finished and the vehicle's battery has reached the target charge limit.
                                          • PLUGGED_IN:STOPPED: The charging process has been intentionally stopped by either the vehicle or the charger. The vehicle is still plugged in and waiting for the charging process to resume.
                                          • PLUGGED_IN:NO_POWER: The vehicle attempted to initialize charging, however no external power was available. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                          • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                          • PLUGGED_IN:DISCHARGING: The vehicle is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                          Possible enum values:

                                            UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:COMPLETEPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                        • Copy linkdata[].chargeState.pluggedInChargerId string or null

                                          ID of the charger currently plugged into the 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.
                                      • Copy linkdata[].smartChargingPolicy object

                                        Smart Charging configuration properties. Configured via Update Vehicle Smart Charging PolicyAPI.

                                        Show child attributes
                                        • Copy linkdata[].smartChargingPolicy.isEnabled boolean

                                          When enabled, this vehicle's charging status may be controlled by Smart Charging

                                        • Copy linkdata[].smartChargingPolicy.deadline string or null

                                          The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                        • Copy linkdata[].smartChargingPolicy.minimumChargeLimit number

                                          Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                      • Copy linkdata[].odometer object

                                        Vehicle's odometer reading in kilometers with timestamp

                                        Show child attributes
                                        • Copy linkdata[].odometer.distance number or null

                                          Odometer in kilometers

                                        • Copy linkdata[].odometer.lastUpdated string<date-time> or null

                                          Time of the last odometer update (ISO 8601 UTC timestamp)

                                      • Copy linkdata[].capabilities object

                                        A collection of descriptors that describe the capabilities of this specific vehicle

                                        Show child attributes
                                        • Copy linkdata[].capabilities.information object

                                          Full availability of information data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.information.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.information.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.chargeState object

                                          Full availability of chargeState data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.chargeState.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.chargeState.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.location object

                                          Full availability of location data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.location.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.location.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.odometer object

                                          Full availability of odometer data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.odometer.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.odometer.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.setMaxCurrent object

                                          Supports setting the maximum charge current.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.setMaxCurrent.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.setMaxCurrent.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.startCharging object

                                          Supports START charging command.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.startCharging.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.startCharging.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.stopCharging object

                                          Supports STOP charging command.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.stopCharging.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.stopCharging.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.smartCharging object

                                          Support for smartCharging. This value is dynamic and may change over time.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.smartCharging.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.smartCharging.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkdata[].scopes array of string

                                        Scopes that the user has granted for this vehicle.

                                      • Copy linkdata[].location object

                                        Vehicle's GPS coordinates with timestamp

                                        Show child attributes
                                        • Copy linkdata[].location.longitude number or null

                                          Longitude in degrees

                                        • Copy linkdata[].location.latitude number or null

                                          Latitude in degrees

                                        • Copy linkdata[].location.lastUpdated string<date-time> or null

                                          Time of last received location

                                        • Copy linkdata[].location.id string<uuid> or null

                                          ID of the location the vehicle is currently positioned at (if any).

                                    • Copy linkpagination object

                                      Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                                      Show child attributes
                                    Was this section helpful?

                                    List user vehicles

                                    GET /users/{userId}/vehicles

                                    Paginated list of user vehicles.

                                    Copy linkRequest

                                    Path parameters
                                    Copy linkuserId string Required

                                    ID of the User.

                                    Query parameters
                                    Copy linkafter string Optional

                                    Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                                    Copy linkbefore string Optional

                                    Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                                    Copy linkpageSize integer Optional

                                    Number of records to return per page. Default page size is 50.

                                    Copy linkResponse 200

                                    Attributes
                                    • Copy linkdata array of object
                                      Show child attributes
                                      • Copy linkdata[].id string

                                        Vehicle ID

                                      • Copy linkdata[].userId string

                                        The ID of the user that linked this vehicle.

                                      • Copy linkdata[].vendor string

                                        Machine-friendly name of the vendor. Use this in API requests.

                                        Possible enum values:

                                          ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                      • Copy linkdata[].lastSeen string<date-time>

                                        The last time Enode received live data or when the vehicle was initially linked.

                                      • Copy linkdata[].isReachable boolean or null

                                        Indicates whether Enode can currently access live data from the vehicle. If the vehicle is not reachable, data updates will be delayed.

                                      • Copy linkdata[].information object

                                        Descriptive information about the Vehicle.

                                        Show child attributes
                                        • Copy linkdata[].information.vin string or null

                                          Vehicle VIN

                                        • Copy linkdata[].information.brand string or null

                                          A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                        • Copy linkdata[].information.model string or null

                                          Vehicle model

                                        • Copy linkdata[].information.year number or null

                                          Vehicle production year

                                        • Copy linkdata[].information.displayName string or null

                                          User-defined vehicle nickname.

                                        • Copy linkdata[].information.imageUrl string or null

                                          URL to an image of the vehicle model. null when not available.

                                      • Copy linkdata[].chargeState object

                                        Latest information about the electric or hybrid battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                        Show child attributes
                                        • Copy linkdata[].chargeState.batteryLevel number or null

                                          Remaining battery in percent

                                        • Copy linkdata[].chargeState.range number or null

                                          Estimated remaining kilometers

                                        • Copy linkdata[].chargeState.isPluggedIn boolean or null

                                          Indicates whether the vehicle is connected to a charging box (regardless of whether it is actually charging)

                                        • Copy linkdata[].chargeState.isCharging boolean or null

                                          Indicates whether the vehicle is currently receiving power from the charger and actively charging its battery.

                                        • Copy linkdata[].chargeState.isFullyCharged boolean or null

                                          Indicates whether the vehicle is fully charged. 'Fully charged' may be a batteryLevel of less than 100 if a chargeLimit has been configured in the vehicle. This will be null when powerDeliveryState is UNKNOWN.

                                        • Copy linkdata[].chargeState.batteryCapacity number or null

                                          Vehicle's usable battery capacity in kWh.

                                        • Copy linkdata[].chargeState.chargeLimit number or null

                                          Charge limit, as a percent of batteryCapacity.

                                          When null, the vendor did not report a charge limit when we last received data from them. We recommend assuming the limit is 100%.

                                        • Copy linkdata[].chargeState.chargeRate number or null

                                          The current charge rate in kW.

                                          This property is only available when the vehicle is charging, and is null any other time.

                                        • Copy linkdata[].chargeState.chargeTimeRemaining number or null

                                          Estimated time until the current charging intent is completed, in minutes.

                                          This property is only available when the vehicle is charging, and is null any other time.

                                        • Copy linkdata[].chargeState.lastUpdated string<date-time> or null

                                          Time of last received charge state update

                                        • Copy linkdata[].chargeState.maxCurrent number or null

                                          The maximum current that the vehicle can draw from the charger, in amps.

                                        • Copy linkdata[].chargeState.powerDeliveryState string

                                          The current state of power delivery between the vehicle and charger.

                                          • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                          • UNPLUGGED: The vehicle is not connected to the charger.
                                          • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                          • PLUGGED_IN:CHARGING: The vehicle is actively receiving power from the charger, causing the battery level to increase.
                                          • PLUGGED_IN:COMPLETE: The charging process has finished and the vehicle's battery has reached the target charge limit.
                                          • PLUGGED_IN:STOPPED: The charging process has been intentionally stopped by either the vehicle or the charger. The vehicle is still plugged in and waiting for the charging process to resume.
                                          • PLUGGED_IN:NO_POWER: The vehicle attempted to initialize charging, however no external power was available. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                          • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                          • PLUGGED_IN:DISCHARGING: The vehicle is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                          Possible enum values:

                                            UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:COMPLETEPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                        • Copy linkdata[].chargeState.pluggedInChargerId string or null

                                          ID of the charger currently plugged into the 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.
                                      • Copy linkdata[].smartChargingPolicy object

                                        Smart Charging configuration properties. Configured via Update Vehicle Smart Charging PolicyAPI.

                                        Show child attributes
                                        • Copy linkdata[].smartChargingPolicy.isEnabled boolean

                                          When enabled, this vehicle's charging status may be controlled by Smart Charging

                                        • Copy linkdata[].smartChargingPolicy.deadline string or null

                                          The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                        • Copy linkdata[].smartChargingPolicy.minimumChargeLimit number

                                          Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                      • Copy linkdata[].odometer object

                                        Vehicle's odometer reading in kilometers with timestamp

                                        Show child attributes
                                        • Copy linkdata[].odometer.distance number or null

                                          Odometer in kilometers

                                        • Copy linkdata[].odometer.lastUpdated string<date-time> or null

                                          Time of the last odometer update (ISO 8601 UTC timestamp)

                                      • Copy linkdata[].capabilities object

                                        A collection of descriptors that describe the capabilities of this specific vehicle

                                        Show child attributes
                                        • Copy linkdata[].capabilities.information object

                                          Full availability of information data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.information.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.information.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.chargeState object

                                          Full availability of chargeState data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.chargeState.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.chargeState.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.location object

                                          Full availability of location data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.location.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.location.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.odometer object

                                          Full availability of odometer data.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.odometer.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.odometer.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.setMaxCurrent object

                                          Supports setting the maximum charge current.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.setMaxCurrent.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.setMaxCurrent.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.startCharging object

                                          Supports START charging command.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.startCharging.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.startCharging.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.stopCharging object

                                          Supports STOP charging command.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.stopCharging.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.stopCharging.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                        • Copy linkdata[].capabilities.smartCharging object

                                          Support for smartCharging. This value is dynamic and may change over time.

                                          Show child attributes
                                          • Copy linkdata[].capabilities.smartCharging.isCapable boolean

                                            The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                          • Copy linkdata[].capabilities.smartCharging.interventionIds array of string

                                            IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkdata[].scopes array of string

                                        Scopes that the user has granted for this vehicle.

                                      • Copy linkdata[].location object

                                        Vehicle's GPS coordinates with timestamp

                                        Show child attributes
                                        • Copy linkdata[].location.longitude number or null

                                          Longitude in degrees

                                        • Copy linkdata[].location.latitude number or null

                                          Latitude in degrees

                                        • Copy linkdata[].location.lastUpdated string<date-time> or null

                                          Time of last received location

                                        • Copy linkdata[].location.id string<uuid> or null

                                          ID of the location the vehicle is currently positioned at (if any).

                                    • Copy linkpagination object

                                      Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                                      Show child attributes
                                    Was this section helpful?

                                    Get vehicle

                                    GET /vehicles/{vehicleId}

                                    Copy linkRequest

                                    Path parameters
                                    Copy linkvehicleId string Required

                                    ID of the Vehicle.

                                    Copy linkResponse 200

                                    Attributes
                                    • Copy linkid string

                                      Vehicle ID

                                    • Copy linkuserId string

                                      The ID of the user that linked this vehicle.

                                    • Copy linkvendor string

                                      Machine-friendly name of the vendor. Use this in API requests.

                                      Possible enum values:

                                        ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                    • Copy linklastSeen string<date-time>

                                      The last time Enode received live data or when the vehicle was initially linked.

                                    • Copy linkisReachable boolean or null

                                      Indicates whether Enode can currently access live data from the vehicle. If the vehicle is not reachable, data updates will be delayed.

                                    • Copy linkinformation object

                                      Descriptive information about the Vehicle.

                                      Show child attributes
                                      • Copy linkinformation.vin string or null

                                        Vehicle VIN

                                      • Copy linkinformation.brand string or null

                                        A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                      • Copy linkinformation.model string or null

                                        Vehicle model

                                      • Copy linkinformation.year number or null

                                        Vehicle production year

                                      • Copy linkinformation.displayName string or null

                                        User-defined vehicle nickname.

                                      • Copy linkinformation.imageUrl string or null

                                        URL to an image of the vehicle model. null when not available.

                                    • Copy linkchargeState object

                                      Latest information about the electric or hybrid battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                      Show child attributes
                                      • Copy linkchargeState.batteryLevel number or null

                                        Remaining battery in percent

                                      • Copy linkchargeState.range number or null

                                        Estimated remaining kilometers

                                      • Copy linkchargeState.isPluggedIn boolean or null

                                        Indicates whether the vehicle is connected to a charging box (regardless of whether it is actually charging)

                                      • Copy linkchargeState.isCharging boolean or null

                                        Indicates whether the vehicle is currently receiving power from the charger and actively charging its battery.

                                      • Copy linkchargeState.isFullyCharged boolean or null

                                        Indicates whether the vehicle is fully charged. 'Fully charged' may be a batteryLevel of less than 100 if a chargeLimit has been configured in the vehicle. This will be null when powerDeliveryState is UNKNOWN.

                                      • Copy linkchargeState.batteryCapacity number or null

                                        Vehicle's usable battery capacity in kWh.

                                      • Copy linkchargeState.chargeLimit number or null

                                        Charge limit, as a percent of batteryCapacity.

                                        When null, the vendor did not report a charge limit when we last received data from them. We recommend assuming the limit is 100%.

                                      • Copy linkchargeState.chargeRate number or null

                                        The current charge rate in kW.

                                        This property is only available when the vehicle is charging, and is null any other time.

                                      • Copy linkchargeState.chargeTimeRemaining number or null

                                        Estimated time until the current charging intent is completed, in minutes.

                                        This property is only available when the vehicle is charging, and is null any other time.

                                      • Copy linkchargeState.lastUpdated string<date-time> or null

                                        Time of last received charge state update

                                      • Copy linkchargeState.maxCurrent number or null

                                        The maximum current that the vehicle can draw from the charger, in amps.

                                      • Copy linkchargeState.powerDeliveryState string

                                        The current state of power delivery between the vehicle and charger.

                                        • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                        • UNPLUGGED: The vehicle is not connected to the charger.
                                        • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                        • PLUGGED_IN:CHARGING: The vehicle is actively receiving power from the charger, causing the battery level to increase.
                                        • PLUGGED_IN:COMPLETE: The charging process has finished and the vehicle's battery has reached the target charge limit.
                                        • PLUGGED_IN:STOPPED: The charging process has been intentionally stopped by either the vehicle or the charger. The vehicle is still plugged in and waiting for the charging process to resume.
                                        • PLUGGED_IN:NO_POWER: The vehicle attempted to initialize charging, however no external power was available. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                        • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                        • PLUGGED_IN:DISCHARGING: The vehicle is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                        Possible enum values:

                                          UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:COMPLETEPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                      • Copy linkchargeState.pluggedInChargerId string or null

                                        ID of the charger currently plugged into the 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.
                                    • Copy linksmartChargingPolicy object

                                      Smart Charging configuration properties. Configured via Update Vehicle Smart Charging PolicyAPI.

                                      Show child attributes
                                      • Copy linksmartChargingPolicy.isEnabled boolean

                                        When enabled, this vehicle's charging status may be controlled by Smart Charging

                                      • Copy linksmartChargingPolicy.deadline string or null

                                        The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                      • Copy linksmartChargingPolicy.minimumChargeLimit number

                                        Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                    • Copy linkodometer object

                                      Vehicle's odometer reading in kilometers with timestamp

                                      Show child attributes
                                      • Copy linkodometer.distance number or null

                                        Odometer in kilometers

                                      • Copy linkodometer.lastUpdated string<date-time> or null

                                        Time of the last odometer update (ISO 8601 UTC timestamp)

                                    • Copy linkcapabilities object

                                      A collection of descriptors that describe the capabilities of this specific vehicle

                                      Show child attributes
                                      • Copy linkcapabilities.information object

                                        Full availability of information data.

                                        Show child attributes
                                        • Copy linkcapabilities.information.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.information.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.chargeState object

                                        Full availability of chargeState data.

                                        Show child attributes
                                        • Copy linkcapabilities.chargeState.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.chargeState.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.location object

                                        Full availability of location data.

                                        Show child attributes
                                        • Copy linkcapabilities.location.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.location.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.odometer object

                                        Full availability of odometer data.

                                        Show child attributes
                                        • Copy linkcapabilities.odometer.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.odometer.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.setMaxCurrent object

                                        Supports setting the maximum charge current.

                                        Show child attributes
                                        • Copy linkcapabilities.setMaxCurrent.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.setMaxCurrent.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.startCharging object

                                        Supports START charging command.

                                        Show child attributes
                                        • Copy linkcapabilities.startCharging.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.startCharging.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.stopCharging object

                                        Supports STOP charging command.

                                        Show child attributes
                                        • Copy linkcapabilities.stopCharging.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.stopCharging.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                      • Copy linkcapabilities.smartCharging object

                                        Support for smartCharging. This value is dynamic and may change over time.

                                        Show child attributes
                                        • Copy linkcapabilities.smartCharging.isCapable boolean

                                          The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                        • Copy linkcapabilities.smartCharging.interventionIds array of string

                                          IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                    • Copy linkscopes array of string

                                      Scopes that the user has granted for this vehicle.

                                    • Copy linklocation object

                                      Vehicle's GPS coordinates with timestamp

                                      Show child attributes
                                      • Copy linklocation.longitude number or null

                                        Longitude in degrees

                                      • Copy linklocation.latitude number or null

                                        Latitude in degrees

                                      • Copy linklocation.lastUpdated string<date-time> or null

                                        Time of last received location

                                      • Copy linklocation.id string<uuid> or null

                                        ID of the location the vehicle is currently positioned at (if any).

                                    Was this section helpful?

                                    Control charging

                                    POST /vehicles/{vehicleId}/charging

                                    Request for a vehicle to start or stop charging. This request creates an Action that will retry until the vehicle's powerDeliveryState matches the expected value. The Action must complete before any further commands are sent to the vehicle. If a PENDING action for the same target and type already exists, it will be reused and a new action will not be created. If the new Action has a different target or type, the existing Action will be automatically transitioned to the CANCELLED state and a new Action will be created. Transitions can be tracked via the user:vendor-action:updated webhook event or Get Vehicle ActionAPI.

                                    This endpoint returns an error with status code 422 if the vehicle is controlled by a schedule or has an active smart charging plan. To restore user control, either disable the schedule, disable smart charging, or use Create Smart OverrideAPI to temporarily enable charging.

                                    Copy linkRequest

                                    Path parameters
                                    Copy linkvehicleId string Required

                                    ID of the Vehicle.

                                    Attributes
                                    • Copy linkaction string Required

                                      Charging action to perform

                                      Possible enum values:

                                        STARTSTOP

                                    Copy linkResponse 200

                                    Resulting charge action

                                    Attributes
                                    • Copy linkid string<uuid>

                                      The ID of the action.

                                    • Copy linkuserId string

                                      The ID of the user that owns the target of this action.

                                    • Copy linkcreatedAt string<date-time>

                                      Time when this action was created

                                    • Copy linkupdatedAt string<date-time>

                                      Time when this action was last updated

                                    • Copy linkcompletedAt string<date-time> or null

                                      Time when the action transitioned to a non-pending state.

                                    • Copy linkstate string

                                      The real-time status of an action executed on a target.

                                      • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                                      • CONFIRMED: Successful transition of the target to the desired state.
                                      • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                                      • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                                      Possible enum values:

                                        PENDINGCONFIRMEDFAILEDCANCELLED
                                    • Copy linktargetId string

                                      ID of the target which this action is controlling.

                                    • Copy linktargetType string

                                      Possible enum values:

                                        vehiclecharger
                                    • Copy linkkind string

                                      The charging action to perform

                                      Possible enum values:

                                        STARTSTOP
                                    • Copy linkfailureReason object or null

                                      Information about why was this action not executed successfully.

                                      Show child attributes
                                      • Copy linkfailureReason.type string

                                        A machine-readable high level error category.

                                        • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                                        • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                                        • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                                        • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                                        • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                                        • NOT_FOUND: The device was deleted while the action was PENDING.

                                        Possible enum values:

                                          NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                                      • Copy linkfailureReason.detail string

                                        A human-readable explanation of why the action was unsuccessful.

                                    Copy linkResponse 400

                                    A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the vehicle cannot perform the action, is fully charged, or is already in the desired state.

                                    Attributes
                                    • Copy linktype string

                                      A URI reference that identifies the problem type.

                                    • Copy linktitle string

                                      A short, human-readable summary of the problem type.

                                    • Copy linkdetail string

                                      A human-readable explanation specific to this occurrence of the problem.

                                    • Copy linkissues array of object

                                      A list of validation issues which occurred while validating some component of the network payload.

                                      Show child attributes

                                      Copy linkResponse 422

                                      Vehicle controlled by a Schedule or has active Smart Charging Plan

                                      Attributes
                                      • Copy linktype string

                                        A URI reference that identifies the problem type.

                                      • Copy linktitle string

                                        A short, human-readable summary of the problem type.

                                      • Copy linkdetail string

                                        A human-readable explanation specific to this occurrence of the problem.

                                      • Copy linkissues array of object

                                        A list of validation issues which occurred while validating some component of the network payload.

                                        Show child attributes
                                        Was this section helpful?

                                        Set max currentEarly Adopter

                                        POST /vehicles/{vehicleId}/max-current

                                        Set the max current the vehicle is allowed to consume during charging. Currently only supported for Tesla vehicles and behind a feature flag. Reach out to Customer Success to get access.

                                        This request creates an Action that will retry until the vehicle's maxCurrent matches the expected value. The Action must complete before any further commands are sent to the vehicle. Only one Action can be active for a specific vehicle at a time. If a new Action is created, the previous Action will be automatically cancelled and transitioned to the CANCELLED state. Transitions can be tracked via the user:vendor-action:updated webhook event or Get Vehicle ActionAPI.

                                        Copy linkRequest

                                        Path parameters
                                        Copy linkvehicleId string Required

                                        ID of the Vehicle.

                                        Attributes
                                        • Copy linkmaxCurrent number Required

                                          Desired max current in ampere

                                        Copy linkResponse 200

                                        Attributes
                                        • Copy linkid string<uuid>

                                          The ID of the action.

                                        • Copy linkuserId string

                                          The ID of the user that owns the target of this action.

                                        • Copy linkcreatedAt string<date-time>

                                          Time when this action was created

                                        • Copy linkupdatedAt string<date-time>

                                          Time when this action was last updated

                                        • Copy linkcompletedAt string<date-time> or null

                                          Time when the action transitioned to a non-pending state.

                                        • Copy linkstate string

                                          The real-time status of an action executed on a target.

                                          • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                                          • CONFIRMED: Successful transition of the target to the desired state.
                                          • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                                          • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                                          Possible enum values:

                                            PENDINGCONFIRMEDFAILEDCANCELLED
                                        • Copy linktargetId string

                                          ID of the entity which this action is controlling.

                                        • Copy linktargetType string

                                          Possible enum values:

                                            vehiclecharger
                                        • Copy linktargetState object

                                          Target maximum current for entity

                                          Show child attributes
                                          • Copy linktargetState.maxCurrent number

                                            Desired max current in ampere

                                        • Copy linkfailureReason object or null

                                          Information about why was this action not executed successfully.

                                          Show child attributes
                                          • Copy linkfailureReason.type string

                                            A machine-readable high level error category.

                                            • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                                            • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                                            • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                                            • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                                            • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                                            • NOT_FOUND: The device was deleted while the action was PENDING.

                                            Possible enum values:

                                              NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                                          • Copy linkfailureReason.detail string

                                            A human-readable explanation of why the action was unsuccessful.

                                        Copy linkResponse 400

                                        A precondition check failed that is unlikely to change within the action's timeout window. This occurs if the vehicle cannot perform the action.

                                        Attributes
                                        • Copy linktype string

                                          A URI reference that identifies the problem type.

                                        • Copy linktitle string

                                          A short, human-readable summary of the problem type.

                                        • Copy linkdetail string

                                          A human-readable explanation specific to this occurrence of the problem.

                                        • Copy linkissues array of object

                                          A list of validation issues which occurred while validating some component of the network payload.

                                          Show child attributes
                                          Was this section helpful?

                                          Get vehicle action

                                          GET /vehicles/actions/{actionId}

                                          Returns the current state of the requested Action.

                                          Copy linkRequest

                                          Path parameters
                                          Copy linkactionId string<uuid> Required

                                          ID of the Action.

                                          Copy linkResponse 200

                                          Attributes
                                          • Copy linkid string<uuid>

                                            The ID of the action.

                                          • Copy linkuserId string

                                            The ID of the user that owns the target of this action.

                                          • Copy linkcreatedAt string<date-time>

                                            Time when this action was created

                                          • Copy linkupdatedAt string<date-time>

                                            Time when this action was last updated

                                          • Copy linkcompletedAt string<date-time> or null

                                            Time when the action transitioned to a non-pending state.

                                          • Copy linkstate string

                                            The real-time status of an action executed on a target.

                                            • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                                            • CONFIRMED: Successful transition of the target to the desired state.
                                            • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                                            • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                                            Possible enum values:

                                              PENDINGCONFIRMEDFAILEDCANCELLED
                                          • Copy linktargetId string

                                            ID of the target which this action is controlling.

                                          • Copy linkkind string

                                            The charging action to perform

                                            Possible enum values:

                                              STARTSTOP
                                          • Copy linkfailureReason object or null

                                            Information about why was this action not executed successfully.

                                            Show child attributes
                                            • Copy linkfailureReason.type string

                                              A machine-readable high level error category.

                                              • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                                              • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                                              • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                                              • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                                              • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                                              • NOT_FOUND: The device was deleted while the action was PENDING.

                                              Possible enum values:

                                                NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                                            • Copy linkfailureReason.detail string

                                              A human-readable explanation of why the action was unsuccessful.

                                          • Copy linktargetType string

                                            Possible enum values:

                                              vehicle

                                          Copy linkResponse 404

                                          Action not found.

                                          Was this section helpful?

                                          Cancel vehicle action

                                          POST /vehicles/actions/{actionId}/cancel

                                          Cancels a pending vehicle action, halting any further attempts by Enode to execute it.

                                          Note: This only updates the action's status to CANCELLED within Enode and does not reflect a change in the vendor's cloud. Thus any pending action in the vendor's cloud might still be executed.

                                          Copy linkRequest

                                          Path parameters
                                          Copy linkactionId string<uuid> Required

                                          ID of the Action.

                                          Copy linkResponse 200

                                          Attributes
                                          • Copy linkid string<uuid>

                                            The ID of the action.

                                          • Copy linkuserId string

                                            The ID of the user that owns the target of this action.

                                          • Copy linkcreatedAt string<date-time>

                                            Time when this action was created

                                          • Copy linkupdatedAt string<date-time>

                                            Time when this action was last updated

                                          • Copy linkcompletedAt string<date-time> or null

                                            Time when the action transitioned to a non-pending state.

                                          • Copy linkstate string

                                            The real-time status of an action executed on a target.

                                            • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                                            • CONFIRMED: Successful transition of the target to the desired state.
                                            • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                                            • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                                            Possible enum values:

                                              PENDINGCONFIRMEDFAILEDCANCELLED
                                          • Copy linktargetId string

                                            ID of the target which this action is controlling.

                                          • Copy linktargetType string

                                            Possible enum values:

                                              vehiclecharger
                                          • Copy linkkind string

                                            The charging action to perform

                                            Possible enum values:

                                              STARTSTOP
                                          • Copy linkfailureReason object or null

                                            Information about why was this action not executed successfully.

                                            Show child attributes
                                            • Copy linkfailureReason.type string

                                              A machine-readable high level error category.

                                              • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                                              • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                                              • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                                              • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                                              • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                                              • NOT_FOUND: The device was deleted while the action was PENDING.

                                              Possible enum values:

                                                NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                                            • Copy linkfailureReason.detail string

                                              A human-readable explanation of why the action was unsuccessful.

                                          Copy linkResponse 404

                                          Action not found.

                                          Copy linkResponse 409

                                          Action already in a resolved state.

                                          Attributes
                                          • Copy linkid string<uuid>

                                            The ID of the action.

                                          • Copy linkuserId string

                                            The ID of the user that owns the target of this action.

                                          • Copy linkcreatedAt string<date-time>

                                            Time when this action was created

                                          • Copy linkupdatedAt string<date-time>

                                            Time when this action was last updated

                                          • Copy linkcompletedAt string<date-time> or null

                                            Time when the action transitioned to a non-pending state.

                                          • Copy linkstate string

                                            The real-time status of an action executed on a target.

                                            • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                                            • CONFIRMED: Successful transition of the target to the desired state.
                                            • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                                            • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                                            Possible enum values:

                                              PENDINGCONFIRMEDFAILEDCANCELLED
                                          • Copy linktargetId string

                                            ID of the target which this action is controlling.

                                          • Copy linktargetType string

                                            Possible enum values:

                                              vehiclecharger
                                          • Copy linkkind string

                                            The charging action to perform

                                            Possible enum values:

                                              STARTSTOP
                                          • Copy linkfailureReason object or null

                                            Information about why was this action not executed successfully.

                                            Show child attributes
                                            • Copy linkfailureReason.type string

                                              A machine-readable high level error category.

                                              • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                                              • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                                              • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                                              • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                                              • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                                              • NOT_FOUND: The device was deleted while the action was PENDING.

                                              Possible enum values:

                                                NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                                            • Copy linkfailureReason.detail string

                                              A human-readable explanation of why the action was unsuccessful.

                                          Was this section helpful?

                                          Refresh vehicle data

                                          POST /vehicles/{vehicleId}/refresh-hint

                                          Use this endpoint to initiate an expedited data refresh for the specified vehicle.

                                          Note: The Enode platform keeps data automatically up-to-date and detects changes in the OEM APIs within seconds to a few minutes. We change the refresh interval dynamically based on a number of heuristics. This ensures we find the best trade-off between the stability of the connection to the OEM and freshness of the data.
                                          This method overrides most of our heuristics and should therefore be used with caution. You may use it when you have a strong reason to believe the data might be stale.

                                          Copy linkRequest

                                          Path parameters
                                          Copy linkvehicleId string Required

                                          ID of the Vehicle.

                                          Copy linkResponse 204

                                          Refresh hint registered successfully.

                                          Copy linkResponse 404

                                          The specified vehicle was not found.

                                          Was this section helpful?

                                          Get smart charging plan

                                          GET /vehicles/{vehicleId}/smart-charging-plans/{smartChargingPlanId}

                                          Check status of current or historical Smart Charging Plans for a Vehicle. Returns a Smart Charging Plan for this vehicle.

                                          To fetch the most recently created Plan, call the endpoint with smartChargingPlanId set to latest.

                                          Copy linkRequest

                                          Path parameters
                                          Copy linkvehicleId string Required

                                          ID of the Vehicle.

                                          Copy linksmartChargingPlanId object<uuid> Required

                                          ID of the Smart Charging Plan, or 'latest' to fetch the most recent plan.

                                          Possible enum values:

                                            latest

                                          Copy linkResponse 200

                                          Attributes
                                          • Copy linkid string

                                            ID of the Smart Charging Plan

                                          • Copy linkvehicleId string

                                            ID of the Vehicle to which the Smart Charging Plan belongs

                                          • Copy linkuserId string

                                            ID of the User to which the Smart Charging Plan belongs

                                          • Copy linklocationId string<uuid> or null

                                            ID of the location at which the Smart Charging Plan is being executed. Null for Smart Charging Plans started before March 2022.

                                          • Copy linkvendor string

                                            Vendor of the Vehicle to which the Smart Charging Plan belongs

                                            Possible enum values:

                                              ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                          • Copy linkcurrency string

                                            Currency in which monetary amounts are denominated (ISO 4217 3-character Alpha code)

                                          • Copy linknonSmartCost number

                                            Estimated cost of charging, if smart charging were not on for the vehicle

                                          • Copy linksmartCost number or null

                                            Estimated cost of charging, achieved by this Smart Charging Plan

                                          • Copy linkstopAt string<date-time>

                                            Time at which the current Smart Charging Plan will stop the vehicle's charging. The charging will be resumed when prices are optimal.

                                          • Copy linkstartAt string<date-time> or null

                                            Time at which the current Smart Charging Plan will resume the vehicle's charging, when prices are optimal.

                                          • Copy linkestimatedFinishAt string<date-time>

                                            Time at which charging is estimated to be complete, due to the current Smart Charging Plan

                                          • Copy linkstopConfirmedAt string<date-time> or null

                                            During a Smart Charging Plan, the first time at which the vehicle's charging was confirmed as stopped. If a vehicle stops charging outside of smart charging's control (e.g., via a 3rd party app), this will be populated with that timestamp.

                                          • Copy linkstartConfirmedAt string<date-time> or null

                                            During a Smart Charging Plan, the first time at which the vehicle's charging was confirmed as started. If a vehicle starts charging outside of smart charging's control (e.g., via a 3rd party app), this will be populated with that timestamp.

                                          • Copy linkendedAt string<date-time> or null

                                            The time at which the Smart Charging Plan ended

                                          • Copy linkfinalState string or null

                                            The final state of the Smart Charging Plan when it ended

                                            Possible enum values:

                                              PLAN:ENDED:FINISHEDPLAN:ENDED:UNPLUGGEDPLAN:ENDED:FAILEDPLAN:ENDED:DISABLEDPLAN:ENDED:DEADLINE_CHANGED
                                          • Copy linkfailureCondition string or null

                                            If the finalState was PLAN:ENDED:FAILED, failureCondition is populated with the condition in which the Smart Charging Plan failed. If the finalState was PLAN:ENDED:FINISHED, failureCondition is populated with FINISHED_LATE if the plan was more than 15% late.

                                            Possible enum values:

                                              STOP_FAILEDSTART_FAILEDFINISHED_LATEUNKNOWNCHARGE_INTERRUPTED
                                          Was this section helpful?

                                          Get vehicle smart charging policy

                                          GET /vehicles/{vehicleId}/smart-charging-policy

                                          Get a vehicle's Smart Charging policy

                                          Copy linkRequest

                                          Path parameters
                                          Copy linkvehicleId string Required

                                          ID of the Vehicle.

                                          Copy linkResponse 200

                                          Attributes
                                          • Copy linkisEnabled boolean

                                            When enabled, this vehicle's charging status may be controlled by Smart Charging

                                          • Copy linkdeadline string or null

                                            The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                          • Copy linkminimumChargeLimit number

                                            Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                          Was this section helpful?

                                          Update vehicle smart charging policy

                                          PUT /vehicles/{vehicleId}/smart-charging-policy

                                          Updates the Smart Charging policy for a vehicle

                                          Copy linkRequest

                                          Path parameters
                                          Copy linkvehicleId string Required

                                          ID of the Vehicle.

                                          Attributes
                                          • Copy linkisEnabled boolean Optional

                                            When enabled, this vehicle's charging status may be controlled by Smart Charging

                                          • Copy linkdeadline string Optional

                                            The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                          • Copy linkminimumChargeLimit number Optional

                                            Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                          Copy linkResponse 200

                                          Attributes
                                          • Copy linkisEnabled boolean

                                            When enabled, this vehicle's charging status may be controlled by Smart Charging

                                          • Copy linkdeadline string or null

                                            The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                          • Copy linkminimumChargeLimit number

                                            Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                          Copy linkResponse 400

                                          Bad Request. For example: another user has activated smart charging for the same vehicle, missing deadline, maxChargeLimit < minChargeLimit, minChargeLimit below threshold for vendor or user does not have a price area or tariffs.

                                          Attributes
                                          • Copy linktype string

                                            A URI reference that identifies the problem type.

                                          • Copy linktitle string

                                            A short, human-readable summary of the problem type.

                                          • Copy linkdetail string

                                            A human-readable explanation specific to this occurrence of the problem.

                                          • Copy linkissues array of object

                                            A list of validation issues which occurred while validating some component of the network payload.

                                            Show child attributes
                                            Was this section helpful?

                                            Create smart override

                                            POST /vehicles/{vehicleId}/smart-override

                                            Overrides an active smart feature by forcing the vehicle to start charging. This feature is meant to be used in situations where the user wants to charge immediately without disabling other smart features. The override remains active until the vehicle stops charging, or until End Smart OverrideAPI is called. When the override ends, the overriden smart feature will regain control of the vehicle. This endpoint should not be used for standard charge control, use Control ChargingAPI instead.

                                            Copy linkRequest

                                            Path parameters
                                            Copy linkvehicleId string Required

                                            ID of the Vehicle.

                                            Copy linkResponse 200

                                            Attributes
                                            • Copy linkcreatedAt string<date-time>

                                              Time at which the smart override was created.

                                            • Copy linkendedAt string<date-time> or null

                                              Time at which the smart override was ended. If null, the smart override is still active.

                                            • Copy linktargetType string

                                              Possible enum values:

                                                vehiclecharger
                                            • Copy linktargetId string

                                              ID of the target which this smart override is affecting.

                                            • Copy linkvendorActionId string<uuid> or null

                                              The ID of the Action responsible for starting charging on the target. Use the Get Vehicle ActionAPI or the Get Charger ActionAPI endpoints to monitor action results.

                                            • Copy linkuserId string

                                              ID of the User

                                            • Copy linkvendor string

                                              Machine-friendly name of the vendor. Use this in API requests.

                                              Possible enum values:

                                                ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINEZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLIENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
                                            Was this section helpful?

                                            End smart override

                                            DELETE /vehicles/{vehicleId}/smart-override

                                            Ends any active Smart Override for the vehicle specified by vehicleId. If previously configured, Schedules or Smart Charging will resume control over the target vehicle. Note that this does not mean the vehicle will stop charging, only that it will return to the state expected by the active Schedule or Smart Charging Plan.

                                            Copy linkRequest

                                            Path parameters
                                            Copy linkvehicleId string Required

                                            ID of the Vehicle.

                                            Copy linkResponse 200

                                            Attributes
                                            • Copy linkcreatedAt string<date-time>

                                              Time at which the smart override was created.

                                            • Copy linkendedAt string<date-time> or null

                                              Time at which the smart override was ended. If null, the smart override is still active.

                                            • Copy linktargetType string

                                              Possible enum values:

                                                vehiclecharger
                                            • Copy linktargetId string

                                              ID of the target which this smart override is affecting.

                                            • Copy linkvendorActionId string<uuid> or null

                                              The ID of the Action responsible for starting charging on the target. Use the Get Vehicle ActionAPI or the Get Charger ActionAPI endpoints to monitor action results.

                                            • Copy linkuserId string

                                              ID of the User

                                            • Copy linkvendor string

                                              Machine-friendly name of the vendor. Use this in API requests.

                                              Possible enum values:

                                                ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINEZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLIENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW

                                            Copy linkResponse 404

                                            No Smart Override Exists

                                            Attributes
                                            • Copy linktype string

                                              A URI reference that identifies the problem type.

                                            • Copy linktitle string

                                              A short, human-readable summary of the problem type.

                                            • Copy linkdetail string

                                              A human-readable explanation specific to this occurrence of the problem.

                                            • Copy linkissues array of object

                                              A list of validation issues which occurred while validating some component of the network payload.

                                              Show child attributes
                                              Was this section helpful?

                                              Get vehicle smart charging status

                                              GET /vehicles/{vehicleId}/smart-charging-status

                                              Every vehicle in Enode has a Smart Charging Status that describes the vehicle in terms of smart charging.

                                              Copy linkRequest

                                              Path parameters
                                              Copy linkvehicleId string Required

                                              ID of the Vehicle.

                                              Copy linkResponse 200

                                              Attributes
                                              • Copy linkupdatedAt string<date-time>

                                                Time when the Smart Charging Status was recalculated, irrespective of whether or not any values changed

                                              • Copy linkvehicleId string

                                                ID of the vehicle to which this Smart Charging Status represents

                                              • Copy linkuserId string

                                                ID of the user that owns this vehicle

                                              • Copy linkvendor string

                                                Vendor of the Vehicle

                                                Possible enum values:

                                                  ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                              • Copy linkstate string

                                                An enum value that describes the current Smart Charging state of the vehicle. Every vehicle is in exactly one state, at all times. If the returned state is UNKNOWN, this might indicate that the vehicle is no longer capable of smart charging. In this case we recommend that you check the capabilities of the vehicle to determine what should be communicated to users. If we don't have pricing data or tariffs for the location of the vehicle, the state will also be UNKNOWN. In this case, we recommend that you contact Enode staff.

                                                Possible enum values:

                                                  DISABLEDCONSIDERINGUNKNOWNPLAN:EXECUTING:STOPPINGPLAN:EXECUTING:STOP_FAILEDPLAN:EXECUTING:STOPPEDPLAN:EXECUTING:STOPPED:AWAITING_PRICESPLAN:EXECUTING:STARTINGPLAN:EXECUTING:START_FAILEDPLAN:EXECUTING:STARTEDPLAN:EXECUTING:CHARGE_INTERRUPTEDPLAN:EXECUTING:OVERRIDDENPLAN:ENDED:FINISHEDPLAN:ENDED:UNPLUGGEDPLAN:ENDED:FAILEDPLAN:ENDED:DISABLEDPLAN:ENDED:DEADLINE_CHANGEDFULLY_CHARGED
                                              • Copy linkstateChangedAt string<date-time>

                                                Time when the state property transitioned to its current value

                                              • Copy linkconsideration object or null
                                                Show child attributes
                                                • Copy linkconsideration.isPluggedIn boolean

                                                  The vehicle is plugged in

                                                • Copy linkconsideration.isCharging boolean

                                                  The vehicle is charging

                                                • Copy linkconsideration.atChargingLocation boolean

                                                  The vehicle is located at a configured Charging Location

                                                • Copy linkconsideration.hasTimeEstimate boolean

                                                  A good estimate is available of how much time it will take to charge.

                                              • Copy linkplan object or null

                                                null by default, but during all of the PLAN:* states, the value is populated with a description of the active plan

                                                Show child attributes
                                                • Copy linkplan.id string

                                                  ID of the Smart Charging Plan

                                                • Copy linkplan.vehicleId string

                                                  ID of the Vehicle to which the Smart Charging Plan belongs

                                                • Copy linkplan.userId string

                                                  ID of the User to which the Smart Charging Plan belongs

                                                • Copy linkplan.locationId string<uuid> or null

                                                  ID of the location at which the Smart Charging Plan is being executed. Null for Smart Charging Plans started before March 2022.

                                                • Copy linkplan.vendor string

                                                  Vendor of the Vehicle to which the Smart Charging Plan belongs

                                                  Possible enum values:

                                                    ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                                • Copy linkplan.currency string

                                                  Currency in which monetary amounts are denominated (ISO 4217 3-character Alpha code)

                                                • Copy linkplan.nonSmartCost number

                                                  Estimated cost of charging, if smart charging were not on for the vehicle

                                                • Copy linkplan.smartCost number or null

                                                  Estimated cost of charging, achieved by this Smart Charging Plan

                                                • Copy linkplan.stopAt string<date-time>

                                                  Time at which the current Smart Charging Plan will stop the vehicle's charging. The charging will be resumed when prices are optimal.

                                                • Copy linkplan.startAt string<date-time> or null

                                                  Time at which the current Smart Charging Plan will resume the vehicle's charging, when prices are optimal.

                                                • Copy linkplan.estimatedFinishAt string<date-time>

                                                  Time at which charging is estimated to be complete, due to the current Smart Charging Plan

                                                • Copy linkplan.stopConfirmedAt string<date-time> or null

                                                  During a Smart Charging Plan, the first time at which the vehicle's charging was confirmed as stopped. If a vehicle stops charging outside of smart charging's control (e.g., via a 3rd party app), this will be populated with that timestamp.

                                                • Copy linkplan.startConfirmedAt string<date-time> or null

                                                  During a Smart Charging Plan, the first time at which the vehicle's charging was confirmed as started. If a vehicle starts charging outside of smart charging's control (e.g., via a 3rd party app), this will be populated with that timestamp.

                                                • Copy linkplan.endedAt string<date-time> or null

                                                  The time at which the Smart Charging Plan ended

                                                • Copy linkplan.finalState string or null

                                                  The final state of the Smart Charging Plan when it ended

                                                  Possible enum values:

                                                    PLAN:ENDED:FINISHEDPLAN:ENDED:UNPLUGGEDPLAN:ENDED:FAILEDPLAN:ENDED:DISABLEDPLAN:ENDED:DEADLINE_CHANGED
                                                • Copy linkplan.failureCondition string or null

                                                  If the finalState was PLAN:ENDED:FAILED, failureCondition is populated with the condition in which the Smart Charging Plan failed. If the finalState was PLAN:ENDED:FINISHED, failureCondition is populated with FINISHED_LATE if the plan was more than 15% late.

                                                  Possible enum values:

                                                    STOP_FAILEDSTART_FAILEDFINISHED_LATEUNKNOWNCHARGE_INTERRUPTED
                                              • Copy linksmartOverride object or null

                                                This field populates after using Vehicle Create Smart OverrideAPI or Charger Create Smart OverrideAPI. Once populated, the target enters an overridden state, stopping Enode from sending Smart Charging actions. The Smart Override persists until the target ceases charging for any reason or is manually ended via Vehicle End Smart OverrideAPI or Charger End Smart OverrideAPI.

                                                Show child attributes
                                                • Copy linksmartOverride.createdAt string<date-time>

                                                  Time at which the smart override was created.

                                                • Copy linksmartOverride.endedAt string<date-time> or null

                                                  Time at which the smart override was ended. If null, the smart override is still active.

                                                • Copy linksmartOverride.targetType string

                                                  Possible enum values:

                                                    vehiclecharger
                                                • Copy linksmartOverride.targetId string

                                                  ID of the target which this smart override is affecting.

                                                • Copy linksmartOverride.vendorActionId string<uuid> or null

                                                  The ID of the Action responsible for starting charging on the target. Use the Get Vehicle ActionAPI or the Get Charger ActionAPI endpoints to monitor action results.

                                              Was this section helpful?

                                              Webhooks

                                              Webhooks are a mechanism that allows your server to receive notifications of events from the Enode system.

                                              See the related guide for more information about timeouts, failures, and retry logic: Using Webhooks

                                              Create webhook

                                              POST /webhooks

                                              Create a webhook.

                                              Copy linkRequest

                                              Attributes
                                              • Copy linkurl string Required

                                                The HTTPS URL that webhook payloads should be sent to.

                                              • Copy linksecret string Required

                                                A cryptographically secure secret, generated and provided by your client. Refer to Generating a secret for details on how to do this.

                                              • Copy linkevents array of string Optional

                                                The events which will trigger the webhook. Available events: *, user:vehicle:discovered, user:vehicle:updated, user:vehicle:deleted, user:vehicle:smart-charging-status-updated, user:charge-action:updated, user:vendor-action:updated, user:schedule:execution-updated, user:charger:discovered, user:charger:updated, user:charger:deleted, user:hvac:discovered, user:hvac:updated, user:hvac:deleted, user:inverter:discovered, user:inverter:updated, user:inverter:deleted, user:inverter:statistics-updated, user:credentials:invalidated, user:battery:discovered, user:battery:updated, user:battery:deleted, enode:webhook:test, user:meter:discovered, user:meter:updated, user:meter:deleted, flex:session:updated

                                                Default value: ["*"]

                                              • Copy linkapiVersion string or null Optional

                                                If provided, webhook payloads will be generated for this version. If not provided or null, the default API version of the client will be used when generating webhook payloads. Valid versions: 2024-10-01

                                              • Copy linkauthentication object Optional

                                                If provided, the authentication header will be sent with each webhook request.

                                                Show child attributes
                                                • Copy linkauthentication.headerName string Required

                                                  Authentication header name.

                                                • Copy linkauthentication.headerValue string Required

                                                  Authentication header value.

                                              Copy linkResponse 200

                                              Attributes
                                              • Copy linkid string

                                                Unique identifier for the webhook.

                                              • Copy linkurl string

                                                The HTTPS URL that webhook payloads should be sent to.

                                              • Copy linkevents array of string

                                                The events which will trigger the webhook.

                                                Default value: ["*"]

                                              • Copy linklastSuccess string<date-time>

                                                Time when a delivery to this webhook was last successful.

                                              • Copy linkisActive boolean

                                                Indicates whether the webhook is active or not.

                                              • Copy linkcreatedAt string<date-time>

                                                Time when the webhook was created.

                                              • Copy linkapiVersion string or null

                                                API version of the payload. If null, the default API version of the client will be used when generating webhook payloads.

                                              • Copy linkauthentication object or null
                                                Show child attributes

                                              Copy linkResponse 400

                                              Webhook already exists.

                                              Attributes
                                              • Copy linktype string

                                                A URI reference that identifies the problem type.

                                              • Copy linktitle string

                                                A short, human-readable summary of the problem type.

                                              • Copy linkdetail string

                                                A human-readable explanation specific to this occurrence of the problem.

                                              • Copy linkissues array of object

                                                A list of validation issues which occurred while validating some component of the network payload.

                                                Show child attributes
                                                Was this section helpful?

                                                List webhooks

                                                GET /webhooks

                                                Returns a paginated list of webhooks.

                                                Copy linkRequest

                                                Query parameters
                                                Copy linkafter string Optional

                                                Opaque cursor used to fetch next page. Cannot be set together with before. Refer to PaginationAPI for more information.

                                                Copy linkbefore string Optional

                                                Opaque cursor used to fetch previous page. Cannot be used together with after. Refer to PaginationAPI for more information.

                                                Copy linkpageSize integer Optional

                                                Number of records to return per page. Default page size is 50.

                                                Copy linkResponse 200

                                                Attributes
                                                • Copy linkdata array of object

                                                  Paginated list of webhooks.

                                                  Show child attributes
                                                  • Copy linkdata[].id string

                                                    Unique identifier for the webhook.

                                                  • Copy linkdata[].url string

                                                    The HTTPS URL that webhook payloads should be sent to.

                                                  • Copy linkdata[].events array of string

                                                    The events which will trigger the webhook.

                                                    Default value: ["*"]

                                                  • Copy linkdata[].lastSuccess string<date-time>

                                                    Time when a delivery to this webhook was last successful.

                                                  • Copy linkdata[].isActive boolean

                                                    Indicates whether the webhook is active or not.

                                                  • Copy linkdata[].createdAt string<date-time>

                                                    Time when the webhook was created.

                                                  • Copy linkdata[].apiVersion string or null

                                                    API version of the payload. If null, the default API version of the client will be used when generating webhook payloads.

                                                  • Copy linkdata[].authentication object or null
                                                    Show child attributes
                                                    • Copy linkdata[].authentication.headerName string
                                                • Copy linkpagination object

                                                  Cursors to the pages before and after current page. See the PaginationAPI section for reference.

                                                  Show child attributes
                                                Was this section helpful?

                                                Update webhook

                                                PATCH /webhooks/{webhookId}

                                                Update a webhook.

                                                Copy linkRequest

                                                Path parameters
                                                Copy linkwebhookId string<uuid> Required

                                                ID of the Webhook.

                                                Attributes
                                                • Copy linkurl string Optional

                                                  The HTTPS URL that webhook payloads should be sent to.

                                                • Copy linksecret string Optional

                                                  A cryptographically secure secret, generated and provided by your client. Refer to Generating a secret for details on how to do this.

                                                • Copy linkevents array of string Optional

                                                  The events which will trigger the webhook. Available events: *, user:vehicle:discovered, user:vehicle:updated, user:vehicle:deleted, user:vehicle:smart-charging-status-updated, user:charge-action:updated, user:vendor-action:updated, user:schedule:execution-updated, user:charger:discovered, user:charger:updated, user:charger:deleted, user:hvac:discovered, user:hvac:updated, user:hvac:deleted, user:inverter:discovered, user:inverter:updated, user:inverter:deleted, user:inverter:statistics-updated, user:credentials:invalidated, user:battery:discovered, user:battery:updated, user:battery:deleted, enode:webhook:test, user:meter:discovered, user:meter:updated, user:meter:deleted, flex:session:updated

                                                • Copy linkapiVersion string or null Optional

                                                  If provided, webhook payloads will be generated for this version. If not provided or null, the default API version of the client will be used when generating webhook payloads. Valid versions: 2024-10-01

                                                • Copy linkauthentication object or null Optional

                                                  If provided, the authentication header will be sent with each webhook request.

                                                  Show child attributes
                                                  • Copy linkauthentication.headerName string Required

                                                    Authentication header name.

                                                  • Copy linkauthentication.headerValue string Required

                                                    Authentication header value.

                                                Copy linkResponse 200

                                                Attributes
                                                • Copy linkid string

                                                  Unique identifier for the webhook.

                                                • Copy linkurl string

                                                  The HTTPS URL that webhook payloads should be sent to.

                                                • Copy linkevents array of string

                                                  The events which will trigger the webhook.

                                                  Default value: ["*"]

                                                • Copy linklastSuccess string<date-time>

                                                  Time when a delivery to this webhook was last successful.

                                                • Copy linkisActive boolean

                                                  Indicates whether the webhook is active or not.

                                                • Copy linkcreatedAt string<date-time>

                                                  Time when the webhook was created.

                                                • Copy linkapiVersion string or null

                                                  API version of the payload. If null, the default API version of the client will be used when generating webhook payloads.

                                                • Copy linkauthentication object or null
                                                  Show child attributes

                                                Copy linkResponse 404

                                                Webhook not found or already deleted

                                                Attributes
                                                • Copy linktype string

                                                  A URI reference that identifies the problem type.

                                                • Copy linktitle string

                                                  A short, human-readable summary of the problem type.

                                                • Copy linkdetail string

                                                  A human-readable explanation specific to this occurrence of the problem.

                                                • Copy linkissues array of object

                                                  A list of validation issues which occurred while validating some component of the network payload.

                                                  Show child attributes
                                                  Was this section helpful?

                                                  Get webhook

                                                  GET /webhooks/{webhookId}

                                                  Returns webhook with the given ID, if it exists.

                                                  Copy linkRequest

                                                  Path parameters
                                                  Copy linkwebhookId string<uuid> Required

                                                  ID of the Webhook.

                                                  Copy linkResponse 200

                                                  Attributes
                                                  • Copy linkid string

                                                    Unique identifier for the webhook.

                                                  • Copy linkurl string

                                                    The HTTPS URL that webhook payloads should be sent to.

                                                  • Copy linkevents array of string

                                                    The events which will trigger the webhook.

                                                    Default value: ["*"]

                                                  • Copy linklastSuccess string<date-time>

                                                    Time when a delivery to this webhook was last successful.

                                                  • Copy linkisActive boolean

                                                    Indicates whether the webhook is active or not.

                                                  • Copy linkcreatedAt string<date-time>

                                                    Time when the webhook was created.

                                                  • Copy linkapiVersion string or null

                                                    API version of the payload. If null, the default API version of the client will be used when generating webhook payloads.

                                                  • Copy linkauthentication object or null
                                                    Show child attributes

                                                  Copy linkResponse 404

                                                  Webhook not found or already deleted

                                                  Attributes
                                                  • Copy linktype string

                                                    A URI reference that identifies the problem type.

                                                  • Copy linktitle string

                                                    A short, human-readable summary of the problem type.

                                                  • Copy linkdetail string

                                                    A human-readable explanation specific to this occurrence of the problem.

                                                  • Copy linkissues array of object

                                                    A list of validation issues which occurred while validating some component of the network payload.

                                                    Show child attributes
                                                    Was this section helpful?

                                                    Delete webhook

                                                    DELETE /webhooks/{webhookId}

                                                    Deletes webhook with the given ID, if it exists.

                                                    Copy linkRequest

                                                    Path parameters
                                                    Copy linkwebhookId string<uuid> Required

                                                    ID of the Webhook.

                                                    Copy linkResponse 204

                                                    Successfully deleted

                                                    Copy linkResponse 404

                                                    Webhook not found or already deleted

                                                    Attributes
                                                    • Copy linktype string

                                                      A URI reference that identifies the problem type.

                                                    • Copy linktitle string

                                                      A short, human-readable summary of the problem type.

                                                    • Copy linkdetail string

                                                      A human-readable explanation specific to this occurrence of the problem.

                                                    • Copy linkissues array of object

                                                      A list of validation issues which occurred while validating some component of the network payload.

                                                      Show child attributes
                                                      Was this section helpful?

                                                      Test webhook

                                                      POST /webhooks/{webhookId}/test

                                                      Send a enode:webhook:test payload to the webhook. If the webhook is inactive, it'll be reactivated on success.

                                                      Copy linkRequest

                                                      Path parameters
                                                      Copy linkwebhookId string<uuid> Required

                                                      ID of the Webhook.

                                                      Copy linkResponse 200

                                                      Attributes
                                                      • Copy linkstatus string

                                                        Indicates if the test webhook event was delivered successfully to your configured webhook endpoint.

                                                        Possible enum values:

                                                          SUCCESSFAILURE
                                                      • Copy linkdescription string

                                                        Human readable description of the test outcome.

                                                      • Copy linkresponse object or null

                                                        Null if status is FAILED.

                                                        Show child attributes
                                                        • Copy linkresponse.code number

                                                          Status code returned by your configured webhook endpoint

                                                        • Copy linkresponse.body string

                                                          Body returned by your configured webhook endpoint

                                                        • Copy linkresponse.headers array of string or null

                                                          Headers returned by your configured webhook endpoint

                                                      Copy linkResponse 404

                                                      Webhook not found or already deleted

                                                      Attributes
                                                      • Copy linktype string

                                                        A URI reference that identifies the problem type.

                                                      • Copy linktitle string

                                                        A short, human-readable summary of the problem type.

                                                      • Copy linkdetail string

                                                        A human-readable explanation specific to this occurrence of the problem.

                                                      • Copy linkissues array of object

                                                        A list of validation issues which occurred while validating some component of the network payload.

                                                        Show child attributes
                                                        Was this section helpful?

                                                        Webhook events

                                                        user:vehicle:discovered

                                                        Occurs whenever a new vehicle is discovered for a user. Only information properties will be populated. All other properties will be null. Shortly after discovery, you'll receive an :updated event that contains additional data.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:vehicle:discovered
                                                        • Copy linkvehicle object Required
                                                          Show child attributes
                                                          • Copy linkvehicle.id string Required

                                                            Vehicle ID

                                                          • Copy linkvehicle.userId string Required

                                                            The ID of the user that linked this vehicle.

                                                          • Copy linkvehicle.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                                          • Copy linkvehicle.lastSeen string<date-time> Required

                                                            The last time Enode received live data or when the vehicle was initially linked.

                                                          • Copy linkvehicle.isReachable boolean or null Required

                                                            Indicates whether Enode can currently access live data from the vehicle. If the vehicle is not reachable, data updates will be delayed.

                                                          • Copy linkvehicle.information object Required

                                                            Descriptive information about the Vehicle.

                                                            Show child attributes
                                                            • Copy linkvehicle.information.vin string or null Required

                                                              Vehicle VIN

                                                            • Copy linkvehicle.information.brand string or null Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkvehicle.information.model string or null Required

                                                              Vehicle model

                                                            • Copy linkvehicle.information.year number or null Required

                                                              Vehicle production year

                                                            • Copy linkvehicle.information.displayName string or null Required

                                                              User-defined vehicle nickname.

                                                            • Copy linkvehicle.information.imageUrl string or null Required

                                                              URL to an image of the vehicle model. null when not available.

                                                          • Copy linkvehicle.chargeState object Required

                                                            Latest information about the electric or hybrid battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkvehicle.chargeState.batteryLevel number or null Required

                                                              Remaining battery in percent

                                                            • Copy linkvehicle.chargeState.range number or null Required

                                                              Estimated remaining kilometers

                                                            • Copy linkvehicle.chargeState.isPluggedIn boolean or null Required

                                                              Indicates whether the vehicle is connected to a charging box (regardless of whether it is actually charging)

                                                            • Copy linkvehicle.chargeState.isCharging boolean or null Required

                                                              Indicates whether the vehicle is currently receiving power from the charger and actively charging its battery.

                                                            • Copy linkvehicle.chargeState.isFullyCharged boolean or null Required

                                                              Indicates whether the vehicle is fully charged. 'Fully charged' may be a batteryLevel of less than 100 if a chargeLimit has been configured in the vehicle. This will be null when powerDeliveryState is UNKNOWN.

                                                            • Copy linkvehicle.chargeState.batteryCapacity number or null Required

                                                              Vehicle's usable battery capacity in kWh.

                                                            • Copy linkvehicle.chargeState.chargeLimit number or null Required

                                                              Charge limit, as a percent of batteryCapacity.

                                                              When null, the vendor did not report a charge limit when we last received data from them. We recommend assuming the limit is 100%.

                                                            • Copy linkvehicle.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW.

                                                              This property is only available when the vehicle is charging, and is null any other time.

                                                            • Copy linkvehicle.chargeState.chargeTimeRemaining number or null Required

                                                              Estimated time until the current charging intent is completed, in minutes.

                                                              This property is only available when the vehicle is charging, and is null any other time.

                                                            • Copy linkvehicle.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of last received charge state update

                                                            • Copy linkvehicle.chargeState.maxCurrent number or null Required

                                                              The maximum current that the vehicle can draw from the charger, in amps.

                                                            • Copy linkvehicle.chargeState.powerDeliveryState string Required

                                                              The current state of power delivery between the vehicle and charger.

                                                              • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                                              • UNPLUGGED: The vehicle is not connected to the charger.
                                                              • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                                              • PLUGGED_IN:CHARGING: The vehicle is actively receiving power from the charger, causing the battery level to increase.
                                                              • PLUGGED_IN:COMPLETE: The charging process has finished and the vehicle's battery has reached the target charge limit.
                                                              • PLUGGED_IN:STOPPED: The charging process has been intentionally stopped by either the vehicle or the charger. The vehicle is still plugged in and waiting for the charging process to resume.
                                                              • PLUGGED_IN:NO_POWER: The vehicle attempted to initialize charging, however no external power was available. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:DISCHARGING: The vehicle is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                                              Possible enum values:

                                                                UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:COMPLETEPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                                            • Copy linkvehicle.chargeState.pluggedInChargerId string or null Optional

                                                              ID of the charger currently plugged into the 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.
                                                          • Copy linkvehicle.smartChargingPolicy object Required

                                                            Smart Charging configuration properties. Configured via Update Vehicle Smart Charging PolicyAPI.

                                                            Show child attributes
                                                            • Copy linkvehicle.smartChargingPolicy.isEnabled boolean Required

                                                              When enabled, this vehicle's charging status may be controlled by Smart Charging

                                                            • Copy linkvehicle.smartChargingPolicy.deadline string or null Required

                                                              The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                                            • Copy linkvehicle.smartChargingPolicy.minimumChargeLimit number Required

                                                              Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                                          • Copy linkvehicle.odometer object Required

                                                            Vehicle's odometer reading in kilometers with timestamp

                                                            Show child attributes
                                                            • Copy linkvehicle.odometer.distance number or null Required

                                                              Odometer in kilometers

                                                            • Copy linkvehicle.odometer.lastUpdated string<date-time> or null Required

                                                              Time of the last odometer update (ISO 8601 UTC timestamp)

                                                          • Copy linkvehicle.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific vehicle

                                                            Show child attributes
                                                            • Copy linkvehicle.capabilities.information object Required

                                                              Full availability of information data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.information.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.information.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.chargeState object Required

                                                              Full availability of chargeState data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.chargeState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.chargeState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.location object Required

                                                              Full availability of location data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.location.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.location.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.odometer object Required

                                                              Full availability of odometer data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.odometer.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.odometer.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.setMaxCurrent object Required

                                                              Supports setting the maximum charge current.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.setMaxCurrent.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.setMaxCurrent.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.startCharging object Required

                                                              Supports START charging command.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.startCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.startCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.stopCharging object Required

                                                              Supports STOP charging command.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.stopCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.stopCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.smartCharging object Required

                                                              Support for smartCharging. This value is dynamic and may change over time.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.smartCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.smartCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkvehicle.scopes array of string Required

                                                            Scopes that the user has granted for this vehicle.

                                                          • Copy linkvehicle.location object Required

                                                            Vehicle's GPS coordinates with timestamp

                                                            Show child attributes
                                                            • Copy linkvehicle.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkvehicle.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkvehicle.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location

                                                            • Copy linkvehicle.location.id string<uuid> or null Required

                                                              ID of the location the vehicle is currently positioned at (if any).

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:vehicle:updated

                                                        Occurs whenever a vehicle's properties are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:vehicle:updated
                                                        • Copy linkvehicle object Required
                                                          Show child attributes
                                                          • Copy linkvehicle.id string Required

                                                            Vehicle ID

                                                          • Copy linkvehicle.userId string Required

                                                            The ID of the user that linked this vehicle.

                                                          • Copy linkvehicle.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                                          • Copy linkvehicle.lastSeen string<date-time> Required

                                                            The last time Enode received live data or when the vehicle was initially linked.

                                                          • Copy linkvehicle.isReachable boolean or null Required

                                                            Indicates whether Enode can currently access live data from the vehicle. If the vehicle is not reachable, data updates will be delayed.

                                                          • Copy linkvehicle.information object Required

                                                            Descriptive information about the Vehicle.

                                                            Show child attributes
                                                            • Copy linkvehicle.information.vin string or null Required

                                                              Vehicle VIN

                                                            • Copy linkvehicle.information.brand string or null Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkvehicle.information.model string or null Required

                                                              Vehicle model

                                                            • Copy linkvehicle.information.year number or null Required

                                                              Vehicle production year

                                                            • Copy linkvehicle.information.displayName string or null Required

                                                              User-defined vehicle nickname.

                                                            • Copy linkvehicle.information.imageUrl string or null Required

                                                              URL to an image of the vehicle model. null when not available.

                                                          • Copy linkvehicle.chargeState object Required

                                                            Latest information about the electric or hybrid battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkvehicle.chargeState.batteryLevel number or null Required

                                                              Remaining battery in percent

                                                            • Copy linkvehicle.chargeState.range number or null Required

                                                              Estimated remaining kilometers

                                                            • Copy linkvehicle.chargeState.isPluggedIn boolean or null Required

                                                              Indicates whether the vehicle is connected to a charging box (regardless of whether it is actually charging)

                                                            • Copy linkvehicle.chargeState.isCharging boolean or null Required

                                                              Indicates whether the vehicle is currently receiving power from the charger and actively charging its battery.

                                                            • Copy linkvehicle.chargeState.isFullyCharged boolean or null Required

                                                              Indicates whether the vehicle is fully charged. 'Fully charged' may be a batteryLevel of less than 100 if a chargeLimit has been configured in the vehicle. This will be null when powerDeliveryState is UNKNOWN.

                                                            • Copy linkvehicle.chargeState.batteryCapacity number or null Required

                                                              Vehicle's usable battery capacity in kWh.

                                                            • Copy linkvehicle.chargeState.chargeLimit number or null Required

                                                              Charge limit, as a percent of batteryCapacity.

                                                              When null, the vendor did not report a charge limit when we last received data from them. We recommend assuming the limit is 100%.

                                                            • Copy linkvehicle.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW.

                                                              This property is only available when the vehicle is charging, and is null any other time.

                                                            • Copy linkvehicle.chargeState.chargeTimeRemaining number or null Required

                                                              Estimated time until the current charging intent is completed, in minutes.

                                                              This property is only available when the vehicle is charging, and is null any other time.

                                                            • Copy linkvehicle.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of last received charge state update

                                                            • Copy linkvehicle.chargeState.maxCurrent number or null Required

                                                              The maximum current that the vehicle can draw from the charger, in amps.

                                                            • Copy linkvehicle.chargeState.powerDeliveryState string Required

                                                              The current state of power delivery between the vehicle and charger.

                                                              • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                                              • UNPLUGGED: The vehicle is not connected to the charger.
                                                              • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                                              • PLUGGED_IN:CHARGING: The vehicle is actively receiving power from the charger, causing the battery level to increase.
                                                              • PLUGGED_IN:COMPLETE: The charging process has finished and the vehicle's battery has reached the target charge limit.
                                                              • PLUGGED_IN:STOPPED: The charging process has been intentionally stopped by either the vehicle or the charger. The vehicle is still plugged in and waiting for the charging process to resume.
                                                              • PLUGGED_IN:NO_POWER: The vehicle attempted to initialize charging, however no external power was available. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:DISCHARGING: The vehicle is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                                              Possible enum values:

                                                                UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:COMPLETEPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                                            • Copy linkvehicle.chargeState.pluggedInChargerId string or null Optional

                                                              ID of the charger currently plugged into the 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.
                                                          • Copy linkvehicle.smartChargingPolicy object Required

                                                            Smart Charging configuration properties. Configured via Update Vehicle Smart Charging PolicyAPI.

                                                            Show child attributes
                                                            • Copy linkvehicle.smartChargingPolicy.isEnabled boolean Required

                                                              When enabled, this vehicle's charging status may be controlled by Smart Charging

                                                            • Copy linkvehicle.smartChargingPolicy.deadline string or null Required

                                                              The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                                            • Copy linkvehicle.smartChargingPolicy.minimumChargeLimit number Required

                                                              Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                                          • Copy linkvehicle.odometer object Required

                                                            Vehicle's odometer reading in kilometers with timestamp

                                                            Show child attributes
                                                            • Copy linkvehicle.odometer.distance number or null Required

                                                              Odometer in kilometers

                                                            • Copy linkvehicle.odometer.lastUpdated string<date-time> or null Required

                                                              Time of the last odometer update (ISO 8601 UTC timestamp)

                                                          • Copy linkvehicle.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific vehicle

                                                            Show child attributes
                                                            • Copy linkvehicle.capabilities.information object Required

                                                              Full availability of information data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.information.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.information.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.chargeState object Required

                                                              Full availability of chargeState data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.chargeState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.chargeState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.location object Required

                                                              Full availability of location data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.location.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.location.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.odometer object Required

                                                              Full availability of odometer data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.odometer.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.odometer.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.setMaxCurrent object Required

                                                              Supports setting the maximum charge current.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.setMaxCurrent.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.setMaxCurrent.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.startCharging object Required

                                                              Supports START charging command.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.startCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.startCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.stopCharging object Required

                                                              Supports STOP charging command.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.stopCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.stopCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.smartCharging object Required

                                                              Support for smartCharging. This value is dynamic and may change over time.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.smartCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.smartCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkvehicle.scopes array of string Required

                                                            Scopes that the user has granted for this vehicle.

                                                          • Copy linkvehicle.location object Required

                                                            Vehicle's GPS coordinates with timestamp

                                                            Show child attributes
                                                            • Copy linkvehicle.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkvehicle.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkvehicle.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location

                                                            • Copy linkvehicle.location.id string<uuid> or null Required

                                                              ID of the location the vehicle is currently positioned at (if any).

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:vehicle:deleted

                                                        Occurs whenever a vehicle is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:vehicle:deleted
                                                        • Copy linkvehicle object Required
                                                          Show child attributes
                                                          • Copy linkvehicle.id string Required

                                                            Vehicle ID

                                                          • Copy linkvehicle.userId string Required

                                                            The ID of the user that linked this vehicle.

                                                          • Copy linkvehicle.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                                          • Copy linkvehicle.lastSeen string<date-time> Required

                                                            The last time Enode received live data or when the vehicle was initially linked.

                                                          • Copy linkvehicle.isReachable boolean or null Required

                                                            Indicates whether Enode can currently access live data from the vehicle. If the vehicle is not reachable, data updates will be delayed.

                                                          • Copy linkvehicle.information object Required

                                                            Descriptive information about the Vehicle.

                                                            Show child attributes
                                                            • Copy linkvehicle.information.vin string or null Required

                                                              Vehicle VIN

                                                            • Copy linkvehicle.information.brand string or null Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkvehicle.information.model string or null Required

                                                              Vehicle model

                                                            • Copy linkvehicle.information.year number or null Required

                                                              Vehicle production year

                                                            • Copy linkvehicle.information.displayName string or null Required

                                                              User-defined vehicle nickname.

                                                            • Copy linkvehicle.information.imageUrl string or null Required

                                                              URL to an image of the vehicle model. null when not available.

                                                          • Copy linkvehicle.chargeState object Required

                                                            Latest information about the electric or hybrid battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkvehicle.chargeState.batteryLevel number or null Required

                                                              Remaining battery in percent

                                                            • Copy linkvehicle.chargeState.range number or null Required

                                                              Estimated remaining kilometers

                                                            • Copy linkvehicle.chargeState.isPluggedIn boolean or null Required

                                                              Indicates whether the vehicle is connected to a charging box (regardless of whether it is actually charging)

                                                            • Copy linkvehicle.chargeState.isCharging boolean or null Required

                                                              Indicates whether the vehicle is currently receiving power from the charger and actively charging its battery.

                                                            • Copy linkvehicle.chargeState.isFullyCharged boolean or null Required

                                                              Indicates whether the vehicle is fully charged. 'Fully charged' may be a batteryLevel of less than 100 if a chargeLimit has been configured in the vehicle. This will be null when powerDeliveryState is UNKNOWN.

                                                            • Copy linkvehicle.chargeState.batteryCapacity number or null Required

                                                              Vehicle's usable battery capacity in kWh.

                                                            • Copy linkvehicle.chargeState.chargeLimit number or null Required

                                                              Charge limit, as a percent of batteryCapacity.

                                                              When null, the vendor did not report a charge limit when we last received data from them. We recommend assuming the limit is 100%.

                                                            • Copy linkvehicle.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW.

                                                              This property is only available when the vehicle is charging, and is null any other time.

                                                            • Copy linkvehicle.chargeState.chargeTimeRemaining number or null Required

                                                              Estimated time until the current charging intent is completed, in minutes.

                                                              This property is only available when the vehicle is charging, and is null any other time.

                                                            • Copy linkvehicle.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of last received charge state update

                                                            • Copy linkvehicle.chargeState.maxCurrent number or null Required

                                                              The maximum current that the vehicle can draw from the charger, in amps.

                                                            • Copy linkvehicle.chargeState.powerDeliveryState string Required

                                                              The current state of power delivery between the vehicle and charger.

                                                              • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                                              • UNPLUGGED: The vehicle is not connected to the charger.
                                                              • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                                              • PLUGGED_IN:CHARGING: The vehicle is actively receiving power from the charger, causing the battery level to increase.
                                                              • PLUGGED_IN:COMPLETE: The charging process has finished and the vehicle's battery has reached the target charge limit.
                                                              • PLUGGED_IN:STOPPED: The charging process has been intentionally stopped by either the vehicle or the charger. The vehicle is still plugged in and waiting for the charging process to resume.
                                                              • PLUGGED_IN:NO_POWER: The vehicle attempted to initialize charging, however no external power was available. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:DISCHARGING: The vehicle is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                                              Possible enum values:

                                                                UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:COMPLETEPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                                            • Copy linkvehicle.chargeState.pluggedInChargerId string or null Optional

                                                              ID of the charger currently plugged into the 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.
                                                          • Copy linkvehicle.smartChargingPolicy object Required

                                                            Smart Charging configuration properties. Configured via Update Vehicle Smart Charging PolicyAPI.

                                                            Show child attributes
                                                            • Copy linkvehicle.smartChargingPolicy.isEnabled boolean Required

                                                              When enabled, this vehicle's charging status may be controlled by Smart Charging

                                                            • Copy linkvehicle.smartChargingPolicy.deadline string or null Required

                                                              The hour-minute deadline for fully charging the vehicle. Smart charging does not work without setting a deadline. If a timezone is set on the location at which the smart charging occurs, the deadline is interpreted in that timezone, otherwise UTC is used.

                                                            • Copy linkvehicle.smartChargingPolicy.minimumChargeLimit number Required

                                                              Proceed to charge promptly, disregarding energy prices, until the vehicle achieves this preset minimum limit. Please note that this limit cannot exceed the vehicle's maximum charge limit. The default setting is zero. The unit of measure is percentage.

                                                          • Copy linkvehicle.odometer object Required

                                                            Vehicle's odometer reading in kilometers with timestamp

                                                            Show child attributes
                                                            • Copy linkvehicle.odometer.distance number or null Required

                                                              Odometer in kilometers

                                                            • Copy linkvehicle.odometer.lastUpdated string<date-time> or null Required

                                                              Time of the last odometer update (ISO 8601 UTC timestamp)

                                                          • Copy linkvehicle.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific vehicle

                                                            Show child attributes
                                                            • Copy linkvehicle.capabilities.information object Required

                                                              Full availability of information data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.information.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.information.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.chargeState object Required

                                                              Full availability of chargeState data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.chargeState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.chargeState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.location object Required

                                                              Full availability of location data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.location.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.location.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.odometer object Required

                                                              Full availability of odometer data.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.odometer.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.odometer.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.setMaxCurrent object Required

                                                              Supports setting the maximum charge current.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.setMaxCurrent.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.setMaxCurrent.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.startCharging object Required

                                                              Supports START charging command.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.startCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.startCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.stopCharging object Required

                                                              Supports STOP charging command.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.stopCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.stopCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkvehicle.capabilities.smartCharging object Required

                                                              Support for smartCharging. This value is dynamic and may change over time.

                                                              Show child attributes
                                                              • Copy linkvehicle.capabilities.smartCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkvehicle.capabilities.smartCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkvehicle.scopes array of string Required

                                                            Scopes that the user has granted for this vehicle.

                                                          • Copy linkvehicle.location object Required

                                                            Vehicle's GPS coordinates with timestamp

                                                            Show child attributes
                                                            • Copy linkvehicle.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkvehicle.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkvehicle.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location

                                                            • Copy linkvehicle.location.id string<uuid> or null Required

                                                              ID of the location the vehicle is currently positioned at (if any).

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:vehicle:smart-charging-status-updated

                                                        Occurs whenever a vehicle's SmartChargingStatus is updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:vehicle:smart-charging-status-updated
                                                        • Copy linksmartChargingStatus object Required
                                                          Show child attributes
                                                          • Copy linksmartChargingStatus.updatedAt string<date-time> Required

                                                            Time when the Smart Charging Status was recalculated, irrespective of whether or not any values changed

                                                          • Copy linksmartChargingStatus.vehicleId string Required

                                                            ID of the vehicle to which this Smart Charging Status represents

                                                          • Copy linksmartChargingStatus.userId string Required

                                                            ID of the user that owns this vehicle

                                                          • Copy linksmartChargingStatus.vendor string Required

                                                            Vendor of the Vehicle

                                                            Possible enum values:

                                                              ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                                          • Copy linksmartChargingStatus.state string Required

                                                            An enum value that describes the current Smart Charging state of the vehicle. Every vehicle is in exactly one state, at all times. If the returned state is UNKNOWN, this might indicate that the vehicle is no longer capable of smart charging. In this case we recommend that you check the capabilities of the vehicle to determine what should be communicated to users. If we don't have pricing data or tariffs for the location of the vehicle, the state will also be UNKNOWN. In this case, we recommend that you contact Enode staff.

                                                            Possible enum values:

                                                              DISABLEDCONSIDERINGUNKNOWNPLAN:EXECUTING:STOPPINGPLAN:EXECUTING:STOP_FAILEDPLAN:EXECUTING:STOPPEDPLAN:EXECUTING:STOPPED:AWAITING_PRICESPLAN:EXECUTING:STARTINGPLAN:EXECUTING:START_FAILEDPLAN:EXECUTING:STARTEDPLAN:EXECUTING:CHARGE_INTERRUPTEDPLAN:EXECUTING:OVERRIDDENPLAN:ENDED:FINISHEDPLAN:ENDED:UNPLUGGEDPLAN:ENDED:FAILEDPLAN:ENDED:DISABLEDPLAN:ENDED:DEADLINE_CHANGEDFULLY_CHARGED
                                                          • Copy linksmartChargingStatus.stateChangedAt string<date-time> Required

                                                            Time when the state property transitioned to its current value

                                                          • Copy linksmartChargingStatus.consideration object or null Required
                                                            Show child attributes
                                                            • Copy linksmartChargingStatus.consideration.isPluggedIn boolean Required

                                                              The vehicle is plugged in

                                                            • Copy linksmartChargingStatus.consideration.isCharging boolean Required

                                                              The vehicle is charging

                                                            • Copy linksmartChargingStatus.consideration.atChargingLocation boolean Required

                                                              The vehicle is located at a configured Charging Location

                                                            • Copy linksmartChargingStatus.consideration.hasTimeEstimate boolean Required

                                                              A good estimate is available of how much time it will take to charge.

                                                          • Copy linksmartChargingStatus.plan object or null Required

                                                            null by default, but during all of the PLAN:* states, the value is populated with a description of the active plan

                                                            Show child attributes
                                                            • Copy linksmartChargingStatus.plan.id string Required

                                                              ID of the Smart Charging Plan

                                                            • Copy linksmartChargingStatus.plan.vehicleId string Required

                                                              ID of the Vehicle to which the Smart Charging Plan belongs

                                                            • Copy linksmartChargingStatus.plan.userId string Required

                                                              ID of the User to which the Smart Charging Plan belongs

                                                            • Copy linksmartChargingStatus.plan.locationId string<uuid> or null Required

                                                              ID of the location at which the Smart Charging Plan is being executed. Null for Smart Charging Plans started before March 2022.

                                                            • Copy linksmartChargingStatus.plan.vendor string Required

                                                              Vendor of the Vehicle to which the Smart Charging Plan belongs

                                                              Possible enum values:

                                                                ACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODATESLAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINE
                                                            • Copy linksmartChargingStatus.plan.currency string Required

                                                              Currency in which monetary amounts are denominated (ISO 4217 3-character Alpha code)

                                                            • Copy linksmartChargingStatus.plan.nonSmartCost number Required

                                                              Estimated cost of charging, if smart charging were not on for the vehicle

                                                            • Copy linksmartChargingStatus.plan.smartCost number or null Required

                                                              Estimated cost of charging, achieved by this Smart Charging Plan

                                                            • Copy linksmartChargingStatus.plan.stopAt string<date-time> Required

                                                              Time at which the current Smart Charging Plan will stop the vehicle's charging. The charging will be resumed when prices are optimal.

                                                            • Copy linksmartChargingStatus.plan.startAt string<date-time> or null Required

                                                              Time at which the current Smart Charging Plan will resume the vehicle's charging, when prices are optimal.

                                                            • Copy linksmartChargingStatus.plan.estimatedFinishAt string<date-time> Required

                                                              Time at which charging is estimated to be complete, due to the current Smart Charging Plan

                                                            • Copy linksmartChargingStatus.plan.stopConfirmedAt string<date-time> or null Required

                                                              During a Smart Charging Plan, the first time at which the vehicle's charging was confirmed as stopped. If a vehicle stops charging outside of smart charging's control (e.g., via a 3rd party app), this will be populated with that timestamp.

                                                            • Copy linksmartChargingStatus.plan.startConfirmedAt string<date-time> or null Required

                                                              During a Smart Charging Plan, the first time at which the vehicle's charging was confirmed as started. If a vehicle starts charging outside of smart charging's control (e.g., via a 3rd party app), this will be populated with that timestamp.

                                                            • Copy linksmartChargingStatus.plan.endedAt string<date-time> or null Required

                                                              The time at which the Smart Charging Plan ended

                                                            • Copy linksmartChargingStatus.plan.finalState string or null Required

                                                              The final state of the Smart Charging Plan when it ended

                                                              Possible enum values:

                                                                PLAN:ENDED:FINISHEDPLAN:ENDED:UNPLUGGEDPLAN:ENDED:FAILEDPLAN:ENDED:DISABLEDPLAN:ENDED:DEADLINE_CHANGED
                                                            • Copy linksmartChargingStatus.plan.failureCondition string or null Required

                                                              If the finalState was PLAN:ENDED:FAILED, failureCondition is populated with the condition in which the Smart Charging Plan failed. If the finalState was PLAN:ENDED:FINISHED, failureCondition is populated with FINISHED_LATE if the plan was more than 15% late.

                                                              Possible enum values:

                                                                STOP_FAILEDSTART_FAILEDFINISHED_LATEUNKNOWNCHARGE_INTERRUPTED
                                                          • Copy linksmartChargingStatus.smartOverride object or null Required

                                                            This field populates after using Vehicle Create Smart OverrideAPI or Charger Create Smart OverrideAPI. Once populated, the target enters an overridden state, stopping Enode from sending Smart Charging actions. The Smart Override persists until the target ceases charging for any reason or is manually ended via Vehicle End Smart OverrideAPI or Charger End Smart OverrideAPI.

                                                            Show child attributes
                                                            • Copy linksmartChargingStatus.smartOverride.createdAt string<date-time> Required

                                                              Time at which the smart override was created.

                                                            • Copy linksmartChargingStatus.smartOverride.endedAt string<date-time> or null Required

                                                              Time at which the smart override was ended. If null, the smart override is still active.

                                                            • Copy linksmartChargingStatus.smartOverride.targetType string Required

                                                              Possible enum values:

                                                                vehiclecharger
                                                            • Copy linksmartChargingStatus.smartOverride.targetId string Required

                                                              ID of the target which this smart override is affecting.

                                                            • Copy linksmartChargingStatus.smartOverride.vendorActionId string<uuid> or null Required

                                                              The ID of the Action responsible for starting charging on the target. Use the Get Vehicle ActionAPI or the Get Charger ActionAPI endpoints to monitor action results.

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:charger:discovered

                                                        Occurs whenever a new charger is discovered for a user.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:charger:discovered
                                                        • Copy linkcharger object Required
                                                          Show child attributes
                                                          • Copy linkcharger.id string Required

                                                            Charger ID

                                                          • Copy linkcharger.userId string Required

                                                            The ID of the user that linked this charger.

                                                          • Copy linkcharger.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                                                          • Copy linkcharger.lastSeen string<date-time> Required

                                                            The last time Enode communicated with the charger.

                                                          • Copy linkcharger.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

                                                          • Copy linkcharger.chargeState object Required

                                                            Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkcharger.chargeState.isPluggedIn boolean or null Required

                                                              Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

                                                            • Copy linkcharger.chargeState.isCharging boolean or null Required

                                                              Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

                                                            • Copy linkcharger.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW.

                                                              This property is only available when the charger is actively charging a vehicle, and is null any other time.

                                                            • Copy linkcharger.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of latest charge state update

                                                            • Copy linkcharger.chargeState.maxCurrent number or null Required

                                                              Desired max current in amperes, if set

                                                            • Copy linkcharger.chargeState.powerDeliveryState string Required

                                                              The current state of power delivery between the vehicle and charger.

                                                              • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                                              • UNPLUGGED: The vehicle is not connected to the charger.
                                                              • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                                              • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
                                                              • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
                                                              • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                                              Possible enum values:

                                                                UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                                            • Copy linkcharger.chargeState.pluggedInVehicleId string or null Optional

                                                              ID of the vehicle currently plugged into the charger. 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.
                                                            • Copy linkcharger.chargeState.chargeRateLimit number or null Optional

                                                              The current charge rate limit in kW. Returns null when unavailable from the vendor.

                                                              Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

                                                          • Copy linkcharger.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific charger

                                                            Show child attributes
                                                            • Copy linkcharger.capabilities.information object Required

                                                              Full availability of information data.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.information.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.information.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.chargeState object Required

                                                              Full availability of chargeState data.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.chargeState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.chargeState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.startCharging object Required

                                                              Supports START charging command.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.startCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.startCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.stopCharging object Required

                                                              Supports STOP charging command.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.stopCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.stopCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.setMaxCurrent object Required

                                                              Ability to set the max charge rate.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.setMaxCurrent.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.setMaxCurrent.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.setChargeRateLimit object Optional

                                                              Ability to set the charge rate limit in kW.

                                                              Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.setChargeRateLimit.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.setChargeRateLimit.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                              • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange object Required

                                                                Allowed charge rate limits for the charger.

                                                                Show child attributes
                                                                • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange.min number or null Optional

                                                                  The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

                                                                • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange.max number or null Optional

                                                                  The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

                                                          • Copy linkcharger.scopes array of string Required

                                                            Scopes that the user has granted for this charger.

                                                          • Copy linkcharger.information object Required

                                                            Descriptive information about the Charger

                                                            Show child attributes
                                                            • Copy linkcharger.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkcharger.information.model string Required

                                                              Charger model

                                                            • Copy linkcharger.information.year number or null Required

                                                              Charger production year

                                                            • Copy linkcharger.information.serialNumber string Required

                                                              Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

                                                            • Copy linkcharger.information.imageUrl string or null Required

                                                              URL to an image of the charger model. null when not available.

                                                          • Copy linkcharger.location object Required
                                                            Show child attributes
                                                            • Copy linkcharger.location.id string<uuid> or null Required

                                                              ID of the location the charger is currently positioned at (if any).

                                                            • Copy linkcharger.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:charger:updated

                                                        Occurs whenever a charger is updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:charger:updated
                                                        • Copy linkcharger object Required
                                                          Show child attributes
                                                          • Copy linkcharger.id string Required

                                                            Charger ID

                                                          • Copy linkcharger.userId string Required

                                                            The ID of the user that linked this charger.

                                                          • Copy linkcharger.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                                                          • Copy linkcharger.lastSeen string<date-time> Required

                                                            The last time Enode communicated with the charger.

                                                          • Copy linkcharger.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

                                                          • Copy linkcharger.chargeState object Required

                                                            Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkcharger.chargeState.isPluggedIn boolean or null Required

                                                              Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

                                                            • Copy linkcharger.chargeState.isCharging boolean or null Required

                                                              Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

                                                            • Copy linkcharger.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW.

                                                              This property is only available when the charger is actively charging a vehicle, and is null any other time.

                                                            • Copy linkcharger.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of latest charge state update

                                                            • Copy linkcharger.chargeState.maxCurrent number or null Required

                                                              Desired max current in amperes, if set

                                                            • Copy linkcharger.chargeState.powerDeliveryState string Required

                                                              The current state of power delivery between the vehicle and charger.

                                                              • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                                              • UNPLUGGED: The vehicle is not connected to the charger.
                                                              • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                                              • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
                                                              • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
                                                              • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                                              Possible enum values:

                                                                UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                                            • Copy linkcharger.chargeState.pluggedInVehicleId string or null Optional

                                                              ID of the vehicle currently plugged into the charger. 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.
                                                            • Copy linkcharger.chargeState.chargeRateLimit number or null Optional

                                                              The current charge rate limit in kW. Returns null when unavailable from the vendor.

                                                              Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

                                                          • Copy linkcharger.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific charger

                                                            Show child attributes
                                                            • Copy linkcharger.capabilities.information object Required

                                                              Full availability of information data.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.information.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.information.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.chargeState object Required

                                                              Full availability of chargeState data.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.chargeState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.chargeState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.startCharging object Required

                                                              Supports START charging command.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.startCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.startCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.stopCharging object Required

                                                              Supports STOP charging command.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.stopCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.stopCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.setMaxCurrent object Required

                                                              Ability to set the max charge rate.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.setMaxCurrent.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.setMaxCurrent.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.setChargeRateLimit object Optional

                                                              Ability to set the charge rate limit in kW.

                                                              Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.setChargeRateLimit.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.setChargeRateLimit.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                              • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange object Required

                                                                Allowed charge rate limits for the charger.

                                                                Show child attributes
                                                                • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange.min number or null Optional

                                                                  The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

                                                                • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange.max number or null Optional

                                                                  The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

                                                          • Copy linkcharger.scopes array of string Required

                                                            Scopes that the user has granted for this charger.

                                                          • Copy linkcharger.information object Required

                                                            Descriptive information about the Charger

                                                            Show child attributes
                                                            • Copy linkcharger.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkcharger.information.model string Required

                                                              Charger model

                                                            • Copy linkcharger.information.year number or null Required

                                                              Charger production year

                                                            • Copy linkcharger.information.serialNumber string Required

                                                              Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

                                                            • Copy linkcharger.information.imageUrl string or null Required

                                                              URL to an image of the charger model. null when not available.

                                                          • Copy linkcharger.location object Required
                                                            Show child attributes
                                                            • Copy linkcharger.location.id string<uuid> or null Required

                                                              ID of the location the charger is currently positioned at (if any).

                                                            • Copy linkcharger.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:charger:deleted

                                                        Occurs whenever a charger is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:charger:deleted
                                                        • Copy linkcharger object Required
                                                          Show child attributes
                                                          • Copy linkcharger.id string Required

                                                            Charger ID

                                                          • Copy linkcharger.userId string Required

                                                            The ID of the user that linked this charger.

                                                          • Copy linkcharger.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXTESLAOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI
                                                          • Copy linkcharger.lastSeen string<date-time> Required

                                                            The last time Enode communicated with the charger.

                                                          • Copy linkcharger.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the charger. If the charger is not reachable, data updates will be delayed.

                                                          • Copy linkcharger.chargeState object Required

                                                            Latest information about the charger. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkcharger.chargeState.isPluggedIn boolean or null Required

                                                              Indicates whether the charger has a vehicle plugged into it (regardless of whether that vehicle is actually charging)

                                                            • Copy linkcharger.chargeState.isCharging boolean or null Required

                                                              Indicates whether the charger is currently delivering power to the vehicle and actively charging its battery.

                                                            • Copy linkcharger.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW.

                                                              This property is only available when the charger is actively charging a vehicle, and is null any other time.

                                                            • Copy linkcharger.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of latest charge state update

                                                            • Copy linkcharger.chargeState.maxCurrent number or null Required

                                                              Desired max current in amperes, if set

                                                            • Copy linkcharger.chargeState.powerDeliveryState string Required

                                                              The current state of power delivery between the vehicle and charger.

                                                              • UNKNOWN: The state of power delivery is currently unknown or chargeState.lastUpdated is more than 7 days ago.
                                                              • UNPLUGGED: The vehicle is not connected to the charger.
                                                              • PLUGGED_IN:INITIALIZING: The charging station is preparing to deliver power to the vehicle. It is expected for this state to shortly transition into PLUGGED_IN:CHARGING.
                                                              • PLUGGED_IN:CHARGING: The charger is actively delivering power to the vehicle, causing the battery level to increase.
                                                              • PLUGGED_IN:STOPPED: The vehicle is plugged in, but the charger has been stopped. It is possible to transition into a charging state by sending a start command.
                                                              • PLUGGED_IN:NO_POWER: The charger attempted to initialize charging, however no external power was accepted by the vehicle. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:FAULT: A malfunction in the charging process is preventing power from being delivered. Possible causes include a charging cable not being properly locked, extreme temperatures, or malfunctions in either the charging station or the vehicle's internal system. It is not possible to transition into a charging state with a remote command until there is some user intervention to resolve the issue.
                                                              • PLUGGED_IN:DISCHARGING: The charger is actively discharging by giving power to the home/grid, causing the battery level to decrease.

                                                              Possible enum values:

                                                                UNKNOWNUNPLUGGEDPLUGGED_IN:INITIALIZINGPLUGGED_IN:CHARGINGPLUGGED_IN:STOPPEDPLUGGED_IN:NO_POWERPLUGGED_IN:FAULTPLUGGED_IN:DISCHARGING
                                                            • Copy linkcharger.chargeState.pluggedInVehicleId string or null Optional

                                                              ID of the vehicle currently plugged into the charger. 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.
                                                            • Copy linkcharger.chargeState.chargeRateLimit number or null Optional

                                                              The current charge rate limit in kW. Returns null when unavailable from the vendor.

                                                              Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI.

                                                          • Copy linkcharger.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific charger

                                                            Show child attributes
                                                            • Copy linkcharger.capabilities.information object Required

                                                              Full availability of information data.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.information.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.information.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.chargeState object Required

                                                              Full availability of chargeState data.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.chargeState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.chargeState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.startCharging object Required

                                                              Supports START charging command.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.startCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.startCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.stopCharging object Required

                                                              Supports STOP charging command.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.stopCharging.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.stopCharging.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.setMaxCurrent object Required

                                                              Ability to set the max charge rate.

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.setMaxCurrent.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.setMaxCurrent.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkcharger.capabilities.setChargeRateLimit object Optional

                                                              Ability to set the charge rate limit in kW.

                                                              Early Adopter: This property is only available for early adopters of Set Charge Rate LimitAPI

                                                              Show child attributes
                                                              • Copy linkcharger.capabilities.setChargeRateLimit.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkcharger.capabilities.setChargeRateLimit.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                              • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange object Required

                                                                Allowed charge rate limits for the charger.

                                                                Show child attributes
                                                                • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange.min number or null Optional

                                                                  The minimum charge rate limit in kW. Returns null when unavailable from the vendor.

                                                                • Copy linkcharger.capabilities.setChargeRateLimit.allowedRange.max number or null Optional

                                                                  The maximum charge rate limit in kW. Returns null when unavailable from the vendor.

                                                          • Copy linkcharger.scopes array of string Required

                                                            Scopes that the user has granted for this charger.

                                                          • Copy linkcharger.information object Required

                                                            Descriptive information about the Charger

                                                            Show child attributes
                                                            • Copy linkcharger.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkcharger.information.model string Required

                                                              Charger model

                                                            • Copy linkcharger.information.year number or null Required

                                                              Charger production year

                                                            • Copy linkcharger.information.serialNumber string Required

                                                              Charger serial number. Most chargers have this, but some do not expose it. When missing we default to a vendor provided ID, which may be visible to the end user in their app.

                                                            • Copy linkcharger.information.imageUrl string or null Required

                                                              URL to an image of the charger model. null when not available.

                                                          • Copy linkcharger.location object Required
                                                            Show child attributes
                                                            • Copy linkcharger.location.id string<uuid> or null Required

                                                              ID of the location the charger is currently positioned at (if any).

                                                            • Copy linkcharger.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:hvac:discovered

                                                        Occurs whenever a new HVAC is discovered for a user. Only information properties will be populated. All other properties will be null. Shortly after discovery, you'll receive an :updated event that contains additional data.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:hvac:discovered
                                                        • Copy linkhvac object Required
                                                          Show child attributes
                                                          • Copy linkhvac.id string Required

                                                            HVAC unit ID

                                                          • Copy linkhvac.userId string Required

                                                            The ID of the user that linked this hvac.

                                                          • Copy linkhvac.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
                                                          • Copy linkhvac.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

                                                          • Copy linkhvac.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

                                                          • Copy linkhvac.consumptionRate number or null Required

                                                            The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

                                                          • Copy linkhvac.information object Required

                                                            Descriptive information about the HVAC unit

                                                            Show child attributes
                                                            • Copy linkhvac.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkhvac.information.model string or null Required

                                                              Device model name

                                                            • Copy linkhvac.information.displayName string Required

                                                              Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkhvac.information.groupName string or null Required

                                                              Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

                                                            • Copy linkhvac.information.category string Required

                                                              Classification of the connected HVAC device.

                                                              • HEATING: A direct heating device, such as an electric panel heater

                                                              • COOLING: A direct cooling device, such as an air conditioner

                                                              • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                                                              • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                                                              Possible enum values:

                                                                HEATINGCOOLINGHEAT_PUMPAGGREGATOR
                                                          • Copy linkhvac.temperatureState object Required

                                                            Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkhvac.temperatureState.currentTemperature number or null Required

                                                              Current air temperature reported by device in degrees Celsius.

                                                            • Copy linkhvac.temperatureState.isActive boolean Required

                                                              Whether the HVAC unit is actively heating or cooling.

                                                            • Copy linkhvac.temperatureState.lastUpdated string<date-time> or null Required

                                                              Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

                                                          • Copy linkhvac.thermostatState object Required

                                                            Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkhvac.thermostatState.mode string Required

                                                              The current state of the HVAC unit.

                                                              • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                                                              • OFF: The HVAC unit is turned off.
                                                              • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                                                              • COOL: The HVAC unit will only cool to the given setpoint.
                                                              • HEAT: The HVAC unit will only heat to the given setpoint

                                                              Possible enum values:

                                                                UNKNOWNOFFAUTOCOOLHEAT
                                                            • Copy linkhvac.thermostatState.heatSetpoint number or null Required

                                                              If mode allows, heat when currentTemperature falls below this point.

                                                            • Copy linkhvac.thermostatState.coolSetpoint number or null Required

                                                              If mode allows, cool when currentTemperature rises above this point.

                                                            • Copy linkhvac.thermostatState.holdType string or null Required

                                                              The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                                                              Possible enum values:

                                                                PERMANENTSCHEDULED
                                                            • Copy linkhvac.thermostatState.lastUpdated string<date-time> or null Required

                                                              Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

                                                          • Copy linkhvac.scopes array of string Required

                                                            Scopes that the user has granted for this HVAC unit.

                                                          • Copy linkhvac.capabilities object Required

                                                            An object describing valid states for this HVAC unit.

                                                            Show child attributes
                                                            • Copy linkhvac.capabilities.capableModes array of string or null Required

                                                              A list of valid modes for this HVAC unit.

                                                            • Copy linkhvac.capabilities.coolSetpointRange object or null Required

                                                              The range of allowable values for coolSetpoint.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.coolSetpointRange.min number or null Required

                                                                The minimum allowable temperature, inclusive.

                                                              • Copy linkhvac.capabilities.coolSetpointRange.max number or null Required

                                                                The maximum allowable temperature, inclusive.

                                                            • Copy linkhvac.capabilities.heatSetpointRange object or null Required

                                                              The range of allowable values for heatSetpoint.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.heatSetpointRange.min number or null Required

                                                                The minimum allowable temperature, inclusive.

                                                              • Copy linkhvac.capabilities.heatSetpointRange.max number or null Required

                                                                The maximum allowable temperature, inclusive.

                                                            • Copy linkhvac.capabilities.setpointDifferenceRange object or null Required

                                                              A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setpointDifferenceRange.min number or null Required

                                                                The minimum allowable difference, inclusive.

                                                              • Copy linkhvac.capabilities.setpointDifferenceRange.max number or null Required

                                                                The maximum allowable difference, inclusive.

                                                            • Copy linkhvac.capabilities.setFollowSchedule object Required

                                                              Supports following a schedule set on the device.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setFollowSchedule.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkhvac.capabilities.setFollowSchedule.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkhvac.capabilities.setPermanentHold object Required

                                                              Supports setting a permanent hold.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setPermanentHold.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkhvac.capabilities.setPermanentHold.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkhvac.location object Required
                                                            Show child attributes
                                                            • Copy linkhvac.location.id string<uuid> or null Required

                                                              ID of the charging location the HVAC unit is housed at (if any)

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:hvac:updated

                                                        Occurs whenever an HVAC's properties are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:hvac:updated
                                                        • Copy linkhvac object Required
                                                          Show child attributes
                                                          • Copy linkhvac.id string Required

                                                            HVAC unit ID

                                                          • Copy linkhvac.userId string Required

                                                            The ID of the user that linked this hvac.

                                                          • Copy linkhvac.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
                                                          • Copy linkhvac.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

                                                          • Copy linkhvac.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

                                                          • Copy linkhvac.consumptionRate number or null Required

                                                            The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

                                                          • Copy linkhvac.information object Required

                                                            Descriptive information about the HVAC unit

                                                            Show child attributes
                                                            • Copy linkhvac.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkhvac.information.model string or null Required

                                                              Device model name

                                                            • Copy linkhvac.information.displayName string Required

                                                              Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkhvac.information.groupName string or null Required

                                                              Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

                                                            • Copy linkhvac.information.category string Required

                                                              Classification of the connected HVAC device.

                                                              • HEATING: A direct heating device, such as an electric panel heater

                                                              • COOLING: A direct cooling device, such as an air conditioner

                                                              • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                                                              • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                                                              Possible enum values:

                                                                HEATINGCOOLINGHEAT_PUMPAGGREGATOR
                                                          • Copy linkhvac.temperatureState object Required

                                                            Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkhvac.temperatureState.currentTemperature number or null Required

                                                              Current air temperature reported by device in degrees Celsius.

                                                            • Copy linkhvac.temperatureState.isActive boolean Required

                                                              Whether the HVAC unit is actively heating or cooling.

                                                            • Copy linkhvac.temperatureState.lastUpdated string<date-time> or null Required

                                                              Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

                                                          • Copy linkhvac.thermostatState object Required

                                                            Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkhvac.thermostatState.mode string Required

                                                              The current state of the HVAC unit.

                                                              • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                                                              • OFF: The HVAC unit is turned off.
                                                              • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                                                              • COOL: The HVAC unit will only cool to the given setpoint.
                                                              • HEAT: The HVAC unit will only heat to the given setpoint

                                                              Possible enum values:

                                                                UNKNOWNOFFAUTOCOOLHEAT
                                                            • Copy linkhvac.thermostatState.heatSetpoint number or null Required

                                                              If mode allows, heat when currentTemperature falls below this point.

                                                            • Copy linkhvac.thermostatState.coolSetpoint number or null Required

                                                              If mode allows, cool when currentTemperature rises above this point.

                                                            • Copy linkhvac.thermostatState.holdType string or null Required

                                                              The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                                                              Possible enum values:

                                                                PERMANENTSCHEDULED
                                                            • Copy linkhvac.thermostatState.lastUpdated string<date-time> or null Required

                                                              Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

                                                          • Copy linkhvac.scopes array of string Required

                                                            Scopes that the user has granted for this HVAC unit.

                                                          • Copy linkhvac.capabilities object Required

                                                            An object describing valid states for this HVAC unit.

                                                            Show child attributes
                                                            • Copy linkhvac.capabilities.capableModes array of string or null Required

                                                              A list of valid modes for this HVAC unit.

                                                            • Copy linkhvac.capabilities.coolSetpointRange object or null Required

                                                              The range of allowable values for coolSetpoint.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.coolSetpointRange.min number or null Required

                                                                The minimum allowable temperature, inclusive.

                                                              • Copy linkhvac.capabilities.coolSetpointRange.max number or null Required

                                                                The maximum allowable temperature, inclusive.

                                                            • Copy linkhvac.capabilities.heatSetpointRange object or null Required

                                                              The range of allowable values for heatSetpoint.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.heatSetpointRange.min number or null Required

                                                                The minimum allowable temperature, inclusive.

                                                              • Copy linkhvac.capabilities.heatSetpointRange.max number or null Required

                                                                The maximum allowable temperature, inclusive.

                                                            • Copy linkhvac.capabilities.setpointDifferenceRange object or null Required

                                                              A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setpointDifferenceRange.min number or null Required

                                                                The minimum allowable difference, inclusive.

                                                              • Copy linkhvac.capabilities.setpointDifferenceRange.max number or null Required

                                                                The maximum allowable difference, inclusive.

                                                            • Copy linkhvac.capabilities.setFollowSchedule object Required

                                                              Supports following a schedule set on the device.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setFollowSchedule.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkhvac.capabilities.setFollowSchedule.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkhvac.capabilities.setPermanentHold object Required

                                                              Supports setting a permanent hold.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setPermanentHold.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkhvac.capabilities.setPermanentHold.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkhvac.location object Required
                                                            Show child attributes
                                                            • Copy linkhvac.location.id string<uuid> or null Required

                                                              ID of the charging location the HVAC unit is housed at (if any)

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:hvac:deleted

                                                        Occurs whenever an HVAC is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:hvac:deleted
                                                        • Copy linkhvac object Required
                                                          Show child attributes
                                                          • Copy linkhvac.id string Required

                                                            HVAC unit ID

                                                          • Copy linkhvac.userId string Required

                                                            The ID of the user that linked this hvac.

                                                          • Copy linkhvac.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              TADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMO
                                                          • Copy linkhvac.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the HVAC unit was initially linked.

                                                          • Copy linkhvac.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the HVAC. If the HVAC is not reachable, data updates will be delayed.

                                                          • Copy linkhvac.consumptionRate number or null Required

                                                            The current rate of energy consumption in kW. An inactive HVAC will have a consumption rate of 0. HVACs not supporting consumption rate will report null. This value is currently only supported by a small number of devices.

                                                          • Copy linkhvac.information object Required

                                                            Descriptive information about the HVAC unit

                                                            Show child attributes
                                                            • Copy linkhvac.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkhvac.information.model string or null Required

                                                              Device model name

                                                            • Copy linkhvac.information.displayName string Required

                                                              Name of the device, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkhvac.information.groupName string or null Required

                                                              Name of the group the device belongs to, as set by the user on the device/vendor. Groups are typically presented as "rooms" or "zones".

                                                            • Copy linkhvac.information.category string Required

                                                              Classification of the connected HVAC device.

                                                              • HEATING: A direct heating device, such as an electric panel heater

                                                              • COOLING: A direct cooling device, such as an air conditioner

                                                              • HEAT_PUMP: An air-to-air heat pump capable of both heating and cooling

                                                              • AGGREGATOR: A device that is capable of controlling various HVAC systems behind it, such as a smart thermostat

                                                              Possible enum values:

                                                                HEATINGCOOLINGHEAT_PUMPAGGREGATOR
                                                          • Copy linkhvac.temperatureState object Required

                                                            Latest information about temperature. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkhvac.temperatureState.currentTemperature number or null Required

                                                              Current air temperature reported by device in degrees Celsius.

                                                            • Copy linkhvac.temperatureState.isActive boolean Required

                                                              Whether the HVAC unit is actively heating or cooling.

                                                            • Copy linkhvac.temperatureState.lastUpdated string<date-time> or null Required

                                                              Time of last temperature state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer

                                                          • Copy linkhvac.thermostatState object Required

                                                            Latest information about the thermostat state. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkhvac.thermostatState.mode string Required

                                                              The current state of the HVAC unit.

                                                              • UNKNOWN: The mode of the HVAC unit is currently not available from the vendor or not supported by enode.
                                                              • OFF: The HVAC unit is turned off.
                                                              • AUTO: The HVAC unit will try to maintain the given setpoint by alternating between cooling and heating based on the ambient temperature
                                                              • COOL: The HVAC unit will only cool to the given setpoint.
                                                              • HEAT: The HVAC unit will only heat to the given setpoint

                                                              Possible enum values:

                                                                UNKNOWNOFFAUTOCOOLHEAT
                                                            • Copy linkhvac.thermostatState.heatSetpoint number or null Required

                                                              If mode allows, heat when currentTemperature falls below this point.

                                                            • Copy linkhvac.thermostatState.coolSetpoint number or null Required

                                                              If mode allows, cool when currentTemperature rises above this point.

                                                            • Copy linkhvac.thermostatState.holdType string or null Required

                                                              The duration the setpoints and mode are expected to be held. If SCHEDULED, the device is being controlled by an OEM schedule configured on the device.

                                                              Possible enum values:

                                                                PERMANENTSCHEDULED
                                                            • Copy linkhvac.thermostatState.lastUpdated string<date-time> or null Required

                                                              Time of last thermostat state update. Reflects when the OEM reported a change or Enode recorded a change in any field, whichever is newer.

                                                          • Copy linkhvac.scopes array of string Required

                                                            Scopes that the user has granted for this HVAC unit.

                                                          • Copy linkhvac.capabilities object Required

                                                            An object describing valid states for this HVAC unit.

                                                            Show child attributes
                                                            • Copy linkhvac.capabilities.capableModes array of string or null Required

                                                              A list of valid modes for this HVAC unit.

                                                            • Copy linkhvac.capabilities.coolSetpointRange object or null Required

                                                              The range of allowable values for coolSetpoint.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.coolSetpointRange.min number or null Required

                                                                The minimum allowable temperature, inclusive.

                                                              • Copy linkhvac.capabilities.coolSetpointRange.max number or null Required

                                                                The maximum allowable temperature, inclusive.

                                                            • Copy linkhvac.capabilities.heatSetpointRange object or null Required

                                                              The range of allowable values for heatSetpoint.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.heatSetpointRange.min number or null Required

                                                                The minimum allowable temperature, inclusive.

                                                              • Copy linkhvac.capabilities.heatSetpointRange.max number or null Required

                                                                The maximum allowable temperature, inclusive.

                                                            • Copy linkhvac.capabilities.setpointDifferenceRange object or null Required

                                                              A constraint specifying the minimum and maximum allowable difference between heatSetpoint and coolSetpoint. Only applicable in AUTO mode.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setpointDifferenceRange.min number or null Required

                                                                The minimum allowable difference, inclusive.

                                                              • Copy linkhvac.capabilities.setpointDifferenceRange.max number or null Required

                                                                The maximum allowable difference, inclusive.

                                                            • Copy linkhvac.capabilities.setFollowSchedule object Required

                                                              Supports following a schedule set on the device.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setFollowSchedule.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkhvac.capabilities.setFollowSchedule.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkhvac.capabilities.setPermanentHold object Required

                                                              Supports setting a permanent hold.

                                                              Show child attributes
                                                              • Copy linkhvac.capabilities.setPermanentHold.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkhvac.capabilities.setPermanentHold.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkhvac.location object Required
                                                            Show child attributes
                                                            • Copy linkhvac.location.id string<uuid> or null Required

                                                              ID of the charging location the HVAC unit is housed at (if any)

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:inverter:discovered

                                                        Occurs whenever a new inverter is discovered for a user. Only information properties will be populated. All other properties will be null. Shortly after discovery, you'll receive an :updated event that contains additional data.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:inverter:discovered
                                                        • Copy linkinverter object Required

                                                          Solar inverter object

                                                          Show child attributes
                                                          • Copy linkinverter.id string<uuid> Required

                                                            Solar Inverter ID

                                                          • Copy linkinverter.userId string Required

                                                            The ID of the user that linked this inverter.

                                                          • Copy linkinverter.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                                                          • Copy linkinverter.lastSeen string<date-time> Required

                                                            The last time Enode received live data or when the solar inverter was initially linked.

                                                          • Copy linkinverter.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the inverter. If the inverter is not reachable, data updates will be delayed.

                                                          • Copy linkinverter.productionState object Required

                                                            Latest information about solar production. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkinverter.productionState.productionRate number or null Required

                                                              The current production rate in kW.

                                                            • Copy linkinverter.productionState.isProducing boolean or null Required

                                                              Whether the solar inverter is actively producing energy or not.

                                                            • Copy linkinverter.productionState.totalLifetimeProduction number or null Required

                                                              The total lifetime production in kWh.

                                                            • Copy linkinverter.productionState.lastUpdated string<date-time> or null Required

                                                              Time of last received production state update

                                                          • Copy linkinverter.timezone string or null Required

                                                            IANA TZ database timezone name representing the location of this inverter.

                                                          • Copy linkinverter.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific inverter.

                                                            Note: Sample-based statisticsAPI collected by Enode rely on the productionState capability and are not affected by this capability.

                                                            Show child attributes
                                                            • Copy linkinverter.capabilities.productionState object Required

                                                              Full availability of productionState data.

                                                              Show child attributes
                                                              • Copy linkinverter.capabilities.productionState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkinverter.capabilities.productionState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkinverter.capabilities.productionStatistics object Required

                                                              Availability of production statistics directly from the vendor.

                                                              Show child attributes
                                                              • Copy linkinverter.capabilities.productionStatistics.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkinverter.capabilities.productionStatistics.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkinverter.scopes array of string Required

                                                            Scopes that the user has granted for this inverter.

                                                          • Copy linkinverter.information object Required

                                                            Descriptive information about the solar inverter

                                                            Show child attributes
                                                            • Copy linkinverter.information.id string Required

                                                              Solar inverter vendor ID

                                                            • Copy linkinverter.information.sn string or null Required

                                                              Solar inverter serial number

                                                            • Copy linkinverter.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkinverter.information.model string Required

                                                              Solar inverter model

                                                            • Copy linkinverter.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkinverter.information.installationDate string<date-time> Required

                                                              Solar inverter installation date

                                                          • Copy linkinverter.location object Required

                                                            Solar inverter's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkinverter.location.id string<uuid> or null Required

                                                              ID of the location the solar inverter is currently positioned at (if any).

                                                            • Copy linkinverter.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkinverter.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkinverter.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkinverter.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:inverter:updated

                                                        Occurs whenever an inverter's properties are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:inverter:updated
                                                        • Copy linkinverter object Required

                                                          Solar inverter object

                                                          Show child attributes
                                                          • Copy linkinverter.id string<uuid> Required

                                                            Solar Inverter ID

                                                          • Copy linkinverter.userId string Required

                                                            The ID of the user that linked this inverter.

                                                          • Copy linkinverter.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                                                          • Copy linkinverter.lastSeen string<date-time> Required

                                                            The last time Enode received live data or when the solar inverter was initially linked.

                                                          • Copy linkinverter.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the inverter. If the inverter is not reachable, data updates will be delayed.

                                                          • Copy linkinverter.productionState object Required

                                                            Latest information about solar production. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkinverter.productionState.productionRate number or null Required

                                                              The current production rate in kW.

                                                            • Copy linkinverter.productionState.isProducing boolean or null Required

                                                              Whether the solar inverter is actively producing energy or not.

                                                            • Copy linkinverter.productionState.totalLifetimeProduction number or null Required

                                                              The total lifetime production in kWh.

                                                            • Copy linkinverter.productionState.lastUpdated string<date-time> or null Required

                                                              Time of last received production state update

                                                          • Copy linkinverter.timezone string or null Required

                                                            IANA TZ database timezone name representing the location of this inverter.

                                                          • Copy linkinverter.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific inverter.

                                                            Note: Sample-based statisticsAPI collected by Enode rely on the productionState capability and are not affected by this capability.

                                                            Show child attributes
                                                            • Copy linkinverter.capabilities.productionState object Required

                                                              Full availability of productionState data.

                                                              Show child attributes
                                                              • Copy linkinverter.capabilities.productionState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkinverter.capabilities.productionState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkinverter.capabilities.productionStatistics object Required

                                                              Availability of production statistics directly from the vendor.

                                                              Show child attributes
                                                              • Copy linkinverter.capabilities.productionStatistics.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkinverter.capabilities.productionStatistics.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkinverter.scopes array of string Required

                                                            Scopes that the user has granted for this inverter.

                                                          • Copy linkinverter.information object Required

                                                            Descriptive information about the solar inverter

                                                            Show child attributes
                                                            • Copy linkinverter.information.id string Required

                                                              Solar inverter vendor ID

                                                            • Copy linkinverter.information.sn string or null Required

                                                              Solar inverter serial number

                                                            • Copy linkinverter.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkinverter.information.model string Required

                                                              Solar inverter model

                                                            • Copy linkinverter.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkinverter.information.installationDate string<date-time> Required

                                                              Solar inverter installation date

                                                          • Copy linkinverter.location object Required

                                                            Solar inverter's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkinverter.location.id string<uuid> or null Required

                                                              ID of the location the solar inverter is currently positioned at (if any).

                                                            • Copy linkinverter.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkinverter.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkinverter.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkinverter.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:inverter:deleted

                                                        Occurs whenever an inverter is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:inverter:deleted
                                                        • Copy linkinverter object Required

                                                          Solar inverter object

                                                          Show child attributes
                                                          • Copy linkinverter.id string<uuid> Required

                                                            Solar Inverter ID

                                                          • Copy linkinverter.userId string Required

                                                            The ID of the user that linked this inverter.

                                                          • Copy linkinverter.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUN
                                                          • Copy linkinverter.lastSeen string<date-time> Required

                                                            The last time Enode received live data or when the solar inverter was initially linked.

                                                          • Copy linkinverter.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the inverter. If the inverter is not reachable, data updates will be delayed.

                                                          • Copy linkinverter.productionState object Required

                                                            Latest information about solar production. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkinverter.productionState.productionRate number or null Required

                                                              The current production rate in kW.

                                                            • Copy linkinverter.productionState.isProducing boolean or null Required

                                                              Whether the solar inverter is actively producing energy or not.

                                                            • Copy linkinverter.productionState.totalLifetimeProduction number or null Required

                                                              The total lifetime production in kWh.

                                                            • Copy linkinverter.productionState.lastUpdated string<date-time> or null Required

                                                              Time of last received production state update

                                                          • Copy linkinverter.timezone string or null Required

                                                            IANA TZ database timezone name representing the location of this inverter.

                                                          • Copy linkinverter.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific inverter.

                                                            Note: Sample-based statisticsAPI collected by Enode rely on the productionState capability and are not affected by this capability.

                                                            Show child attributes
                                                            • Copy linkinverter.capabilities.productionState object Required

                                                              Full availability of productionState data.

                                                              Show child attributes
                                                              • Copy linkinverter.capabilities.productionState.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkinverter.capabilities.productionState.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkinverter.capabilities.productionStatistics object Required

                                                              Availability of production statistics directly from the vendor.

                                                              Show child attributes
                                                              • Copy linkinverter.capabilities.productionStatistics.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkinverter.capabilities.productionStatistics.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkinverter.scopes array of string Required

                                                            Scopes that the user has granted for this inverter.

                                                          • Copy linkinverter.information object Required

                                                            Descriptive information about the solar inverter

                                                            Show child attributes
                                                            • Copy linkinverter.information.id string Required

                                                              Solar inverter vendor ID

                                                            • Copy linkinverter.information.sn string or null Required

                                                              Solar inverter serial number

                                                            • Copy linkinverter.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkinverter.information.model string Required

                                                              Solar inverter model

                                                            • Copy linkinverter.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkinverter.information.installationDate string<date-time> Required

                                                              Solar inverter installation date

                                                          • Copy linkinverter.location object Required

                                                            Solar inverter's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkinverter.location.id string<uuid> or null Required

                                                              ID of the location the solar inverter is currently positioned at (if any).

                                                            • Copy linkinverter.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkinverter.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkinverter.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkinverter.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:inverter:statistics-updated

                                                        Occurs whenever inverter statistics are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:inverter:statistics-updated
                                                        • Copy linkstatistics object Required
                                                          Show child attributes
                                                          • Copy linkstatistics.timezone string Required

                                                            The timezone of the inverter.

                                                          • Copy linkstatistics.resolutions object Required
                                                            Show child attributes
                                                            • Copy linkstatistics.resolutions.QUARTER_HOUR object Optional
                                                              Show child attributes
                                                              • Copy linkstatistics.resolutions.QUARTER_HOUR.unit string Required

                                                                The unit of measurement for power production data. Always kWh.

                                                                Possible enum values:

                                                                  kWh
                                                              • Copy linkstatistics.resolutions.QUARTER_HOUR.data array of object or null Required

                                                                An array of data points representing the power production statistics.

                                                                Show child attributes
                                                                • Copy linkstatistics.resolutions.QUARTER_HOUR.data[].date string<date-time> Required

                                                                  Time bucket start as a RFC3339 timestamp. Offset may be Z or ±hh:mm. In the unlikely event that an inverter changes timezone, the offset from when the data was retrieved is used, not the inverter's current timezone.

                                                                • Copy linkstatistics.resolutions.QUARTER_HOUR.data[].value number or null Required

                                                                  The energy produced (kWh) in the specified interval. Null if no data is available.

                                                            • Copy linkstatistics.resolutions.DAY object Optional
                                                              Show child attributes
                                                              • Copy linkstatistics.resolutions.DAY.unit string Required

                                                                The unit of measurement for power production data. Always kWh.

                                                                Possible enum values:

                                                                  kWh
                                                              • Copy linkstatistics.resolutions.DAY.data array of object or null Required

                                                                An array of data points representing the power production statistics.

                                                                Show child attributes
                                                                • Copy linkstatistics.resolutions.DAY.data[].date string<date-time> Required

                                                                  Time bucket start as a RFC3339 timestamp. Offset may be Z or ±hh:mm. In the unlikely event that an inverter changes timezone, the offset from when the data was retrieved is used, not the inverter's current timezone.

                                                                • Copy linkstatistics.resolutions.DAY.data[].value number or null Required

                                                                  The energy produced (kWh) in the specified interval. Null if no data is available.

                                                          • Copy linkstatistics.inverterId string Required
                                                          • Copy linkstatistics.day number or null Required
                                                          • Copy linkstatistics.month number or null Required
                                                          • Copy linkstatistics.year number Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:battery:discovered

                                                        Occurs whenever a new battery is discovered for a user. Only information properties will be populated. All other properties will be null. Shortly after discovery, you'll receive an :updated event that contains additional data.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:battery:discovered
                                                        • Copy linkbattery object Required

                                                          Battery object

                                                          Show child attributes
                                                          • Copy linkbattery.id string<uuid> Required

                                                            Unique identifier for the battery object

                                                          • Copy linkbattery.userId string Required

                                                            The ID of the user that linked this battery.

                                                          • Copy linkbattery.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
                                                          • Copy linkbattery.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the battery was initially linked.

                                                          • Copy linkbattery.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the battery. If the battery is not reachable, data updates will be delayed.

                                                          • Copy linkbattery.chargeState object Required

                                                            Latest information about the battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkbattery.chargeState.status string or null Required

                                                              The power delivery state of the battery.

                                                              Possible enum values:

                                                                CHARGINGDISCHARGINGIDLEFAULTUNKNOWN
                                                            • Copy linkbattery.chargeState.batteryCapacity number or null Required

                                                              Battery capacity in kWh.

                                                            • Copy linkbattery.chargeState.batteryLevel number or null Required

                                                              Remaining battery charge level in percent.

                                                            • Copy linkbattery.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW. A positive value indicates that the battery is charging.

                                                            • Copy linkbattery.chargeState.dischargeLimit number or null Required

                                                              Minimum charge level for a battery, expressed as a percentage. Batteries will not discharge below this user-set reserve level except in emergency power situations.

                                                            • Copy linkbattery.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of last received charge state update

                                                          • Copy linkbattery.config object Required
                                                            Show child attributes
                                                            • Copy linkbattery.config.operationMode string or null Required

                                                              The current operation mode of the battery.

                                                              • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
                                                              • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
                                                              • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
                                                              • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
                                                              • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.
                                                              • UNKNOWN: The mode of the battery is currently unknown. It might be possible to switch out of this mode and into one of the known modes. Actively returning to this mode is not possible.

                                                              Possible enum values:

                                                                IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLEUNKNOWN
                                                            • Copy linkbattery.config.lastUpdated string<date-time> or null Required

                                                              Time of last received configuration update

                                                          • Copy linkbattery.information object Required

                                                            Descriptive information about the battery

                                                            Show child attributes
                                                            • Copy linkbattery.information.id string Required

                                                              Battery vendor ID

                                                            • Copy linkbattery.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkbattery.information.model string Required

                                                              Battery model

                                                            • Copy linkbattery.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkbattery.information.installationDate string<date-time> Required

                                                              Battery installation date

                                                          • Copy linkbattery.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific battery

                                                            Show child attributes
                                                            • Copy linkbattery.capabilities.exportFocus object Required

                                                              Supports EXPORT_FOCUS operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.exportFocus.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.exportFocus.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.importFocus object Required

                                                              Supports IMPORT_FOCUS operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.importFocus.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.importFocus.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.timeOfUse object Required

                                                              Supports TIME_OF_USE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.timeOfUse.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.timeOfUse.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.selfReliance object Required

                                                              Supports SELF_RELIANCE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.selfReliance.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.selfReliance.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.idle object Required

                                                              Supports IDLE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.idle.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.idle.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkbattery.scopes array of string Required

                                                            Scopes that the user has granted for this battery.

                                                          • Copy linkbattery.location object Required

                                                            Battery's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkbattery.location.id string<uuid> or null Required

                                                              ID of the location the battery is currently positioned at (if any).

                                                            • Copy linkbattery.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkbattery.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkbattery.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkbattery.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:battery:updated

                                                        Occurs whenever a battery's properties are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:battery:updated
                                                        • Copy linkbattery object Required

                                                          Battery object

                                                          Show child attributes
                                                          • Copy linkbattery.id string<uuid> Required

                                                            Unique identifier for the battery object

                                                          • Copy linkbattery.userId string Required

                                                            The ID of the user that linked this battery.

                                                          • Copy linkbattery.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
                                                          • Copy linkbattery.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the battery was initially linked.

                                                          • Copy linkbattery.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the battery. If the battery is not reachable, data updates will be delayed.

                                                          • Copy linkbattery.chargeState object Required

                                                            Latest information about the battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkbattery.chargeState.status string or null Required

                                                              The power delivery state of the battery.

                                                              Possible enum values:

                                                                CHARGINGDISCHARGINGIDLEFAULTUNKNOWN
                                                            • Copy linkbattery.chargeState.batteryCapacity number or null Required

                                                              Battery capacity in kWh.

                                                            • Copy linkbattery.chargeState.batteryLevel number or null Required

                                                              Remaining battery charge level in percent.

                                                            • Copy linkbattery.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW. A positive value indicates that the battery is charging.

                                                            • Copy linkbattery.chargeState.dischargeLimit number or null Required

                                                              Minimum charge level for a battery, expressed as a percentage. Batteries will not discharge below this user-set reserve level except in emergency power situations.

                                                            • Copy linkbattery.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of last received charge state update

                                                          • Copy linkbattery.config object Required
                                                            Show child attributes
                                                            • Copy linkbattery.config.operationMode string or null Required

                                                              The current operation mode of the battery.

                                                              • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
                                                              • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
                                                              • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
                                                              • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
                                                              • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.
                                                              • UNKNOWN: The mode of the battery is currently unknown. It might be possible to switch out of this mode and into one of the known modes. Actively returning to this mode is not possible.

                                                              Possible enum values:

                                                                IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLEUNKNOWN
                                                            • Copy linkbattery.config.lastUpdated string<date-time> or null Required

                                                              Time of last received configuration update

                                                          • Copy linkbattery.information object Required

                                                            Descriptive information about the battery

                                                            Show child attributes
                                                            • Copy linkbattery.information.id string Required

                                                              Battery vendor ID

                                                            • Copy linkbattery.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkbattery.information.model string Required

                                                              Battery model

                                                            • Copy linkbattery.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkbattery.information.installationDate string<date-time> Required

                                                              Battery installation date

                                                          • Copy linkbattery.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific battery

                                                            Show child attributes
                                                            • Copy linkbattery.capabilities.exportFocus object Required

                                                              Supports EXPORT_FOCUS operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.exportFocus.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.exportFocus.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.importFocus object Required

                                                              Supports IMPORT_FOCUS operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.importFocus.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.importFocus.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.timeOfUse object Required

                                                              Supports TIME_OF_USE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.timeOfUse.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.timeOfUse.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.selfReliance object Required

                                                              Supports SELF_RELIANCE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.selfReliance.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.selfReliance.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.idle object Required

                                                              Supports IDLE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.idle.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.idle.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkbattery.scopes array of string Required

                                                            Scopes that the user has granted for this battery.

                                                          • Copy linkbattery.location object Required

                                                            Battery's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkbattery.location.id string<uuid> or null Required

                                                              ID of the location the battery is currently positioned at (if any).

                                                            • Copy linkbattery.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkbattery.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkbattery.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkbattery.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:battery:deleted

                                                        Occurs whenever a battery is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:battery:deleted
                                                        • Copy linkbattery object Required

                                                          Battery object

                                                          Show child attributes
                                                          • Copy linkbattery.id string<uuid> Required

                                                            Unique identifier for the battery object

                                                          • Copy linkbattery.userId string Required

                                                            The ID of the user that linked this battery.

                                                          • Copy linkbattery.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              TESLAENPHASEGIVENERGYHUAWEISOLAREDGESMAFOXESSSOLAXSOLISSUNGROW
                                                          • Copy linkbattery.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the battery was initially linked.

                                                          • Copy linkbattery.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the battery. If the battery is not reachable, data updates will be delayed.

                                                          • Copy linkbattery.chargeState object Required

                                                            Latest information about the battery. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkbattery.chargeState.status string or null Required

                                                              The power delivery state of the battery.

                                                              Possible enum values:

                                                                CHARGINGDISCHARGINGIDLEFAULTUNKNOWN
                                                            • Copy linkbattery.chargeState.batteryCapacity number or null Required

                                                              Battery capacity in kWh.

                                                            • Copy linkbattery.chargeState.batteryLevel number or null Required

                                                              Remaining battery charge level in percent.

                                                            • Copy linkbattery.chargeState.chargeRate number or null Required

                                                              The current charge rate in kW. A positive value indicates that the battery is charging.

                                                            • Copy linkbattery.chargeState.dischargeLimit number or null Required

                                                              Minimum charge level for a battery, expressed as a percentage. Batteries will not discharge below this user-set reserve level except in emergency power situations.

                                                            • Copy linkbattery.chargeState.lastUpdated string<date-time> or null Required

                                                              Time of last received charge state update

                                                          • Copy linkbattery.config object Required
                                                            Show child attributes
                                                            • Copy linkbattery.config.operationMode string or null Required

                                                              The current operation mode of the battery.

                                                              • SELF_RELIANCE: Minimizes household reliance on the grid. Prioritizes using own energy from solar or battery for household consumption before importing from grid. Energy may be exported to the grid from solar, depending on excess solar and your user's settings in the OEM app.
                                                              • TIME_OF_USE: Maximizes energy cost savings in accordance with a user-defined schedule matching a utility rate plan. Energy may be consumed from solar, battery, or grid sources, depending on the current prices and your user's settings in the OEM app. Energy may be exported to the grid from solar or battery sources, depending on current prices and your user's settings in the OEM app.
                                                              • IMPORT_FOCUS: Prioritizes charging the battery. Uses excess solar energy for charging and will charge from grid if possible. Leveraged energy sources depend on the configuration of the battery. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
                                                              • EXPORT_FOCUS: Prioritizes discharging energy stored in the battery back to the household and any excess to the grid. Grid exports often depend on local regulation and might require agreements with grid providers to be supported. Note: Focus modes target a certain battery behavior but are ultimately internal to the battery. Actual behavior might differ from the focus mode.
                                                              • IDLE: Prevents the battery from charging or discharging. The battery remains inactive and maintains its current state of charge, even if there is available solar generation or energy demand from household consumption.
                                                              • UNKNOWN: The mode of the battery is currently unknown. It might be possible to switch out of this mode and into one of the known modes. Actively returning to this mode is not possible.

                                                              Possible enum values:

                                                                IMPORT_FOCUSEXPORT_FOCUSTIME_OF_USESELF_RELIANCEIDLEUNKNOWN
                                                            • Copy linkbattery.config.lastUpdated string<date-time> or null Required

                                                              Time of last received configuration update

                                                          • Copy linkbattery.information object Required

                                                            Descriptive information about the battery

                                                            Show child attributes
                                                            • Copy linkbattery.information.id string Required

                                                              Battery vendor ID

                                                            • Copy linkbattery.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkbattery.information.model string Required

                                                              Battery model

                                                            • Copy linkbattery.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkbattery.information.installationDate string<date-time> Required

                                                              Battery installation date

                                                          • Copy linkbattery.capabilities object Required

                                                            A collection of descriptors that describe the capabilities of this specific battery

                                                            Show child attributes
                                                            • Copy linkbattery.capabilities.exportFocus object Required

                                                              Supports EXPORT_FOCUS operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.exportFocus.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.exportFocus.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.importFocus object Required

                                                              Supports IMPORT_FOCUS operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.importFocus.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.importFocus.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.timeOfUse object Required

                                                              Supports TIME_OF_USE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.timeOfUse.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.timeOfUse.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.selfReliance object Required

                                                              Supports SELF_RELIANCE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.selfReliance.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.selfReliance.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkbattery.capabilities.idle object Required

                                                              Supports IDLE operation mode.

                                                              Show child attributes
                                                              • Copy linkbattery.capabilities.idle.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkbattery.capabilities.idle.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkbattery.scopes array of string Required

                                                            Scopes that the user has granted for this battery.

                                                          • Copy linkbattery.location object Required

                                                            Battery's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkbattery.location.id string<uuid> or null Required

                                                              ID of the location the battery is currently positioned at (if any).

                                                            • Copy linkbattery.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkbattery.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkbattery.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkbattery.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:meter:discovered

                                                        Occurs whenever a new meter is discovered for a user. Only information properties will be populated. All other properties will be null. Shortly after discovery, you'll receive an :updated event that contains additional data.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:meter:discovered
                                                        • Copy linkmeter object Required
                                                          Show child attributes
                                                          • Copy linkmeter.id string<uuid> Required

                                                            Unique identifier for the meter object

                                                          • Copy linkmeter.userId string Required

                                                            The ID of the user that linked this meter.

                                                          • Copy linkmeter.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                                                          • Copy linkmeter.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the meter was initially linked.

                                                          • Copy linkmeter.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the meter. If the meter is not reachable, data updates will be delayed.

                                                          • Copy linkmeter.information object Required

                                                            Descriptive information about the meter

                                                            Show child attributes
                                                            • Copy linkmeter.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkmeter.information.model string Required

                                                              Meter model

                                                            • Copy linkmeter.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkmeter.information.installationDate string<date-time> Required

                                                              Meter installation date

                                                          • Copy linkmeter.energyState object Required

                                                            Latest information about meter load. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkmeter.energyState.power number or null Required

                                                              The current power measured by the meter in kW.

                                                              • Positive value: Power is imported from the grid to the site, indicating consumption.
                                                              • Negative value: Power is exported to the grid, typically when the site generates excess electricity (e.g. from solar panels, or battery discharge).
                                                            • Copy linkmeter.energyState.lastUpdated string<date-time> or null Required

                                                              Time of last received energy state update.

                                                          • Copy linkmeter.location object Required

                                                            Meter's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkmeter.location.id string<uuid> or null Required

                                                              ID of the location the meter is currently positioned at (if any).

                                                            • Copy linkmeter.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkmeter.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkmeter.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkmeter.capabilities object Required

                                                            The specific meter's capabilities for recording energy consumption and production data.

                                                            Show child attributes
                                                            • Copy linkmeter.capabilities.measuresConsumption object Required

                                                              Indicates if the meter can measure consumed energy.

                                                              Show child attributes
                                                              • Copy linkmeter.capabilities.measuresConsumption.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkmeter.capabilities.measuresConsumption.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkmeter.capabilities.measuresProduction object Required

                                                              Indicates if the meter can measure energy produced or generated.

                                                              Show child attributes
                                                              • Copy linkmeter.capabilities.measuresProduction.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkmeter.capabilities.measuresProduction.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkmeter.scopes array of string Required

                                                            Scopes that the user has granted for this meter.

                                                          • Copy linkmeter.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:meter:updated

                                                        Occurs whenever a meter's properties are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:meter:updated
                                                        • Copy linkmeter object Required
                                                          Show child attributes
                                                          • Copy linkmeter.id string<uuid> Required

                                                            Unique identifier for the meter object

                                                          • Copy linkmeter.userId string Required

                                                            The ID of the user that linked this meter.

                                                          • Copy linkmeter.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                                                          • Copy linkmeter.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the meter was initially linked.

                                                          • Copy linkmeter.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the meter. If the meter is not reachable, data updates will be delayed.

                                                          • Copy linkmeter.information object Required

                                                            Descriptive information about the meter

                                                            Show child attributes
                                                            • Copy linkmeter.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkmeter.information.model string Required

                                                              Meter model

                                                            • Copy linkmeter.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkmeter.information.installationDate string<date-time> Required

                                                              Meter installation date

                                                          • Copy linkmeter.energyState object Required

                                                            Latest information about meter load. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkmeter.energyState.power number or null Required

                                                              The current power measured by the meter in kW.

                                                              • Positive value: Power is imported from the grid to the site, indicating consumption.
                                                              • Negative value: Power is exported to the grid, typically when the site generates excess electricity (e.g. from solar panels, or battery discharge).
                                                            • Copy linkmeter.energyState.lastUpdated string<date-time> or null Required

                                                              Time of last received energy state update.

                                                          • Copy linkmeter.location object Required

                                                            Meter's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkmeter.location.id string<uuid> or null Required

                                                              ID of the location the meter is currently positioned at (if any).

                                                            • Copy linkmeter.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkmeter.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkmeter.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkmeter.capabilities object Required

                                                            The specific meter's capabilities for recording energy consumption and production data.

                                                            Show child attributes
                                                            • Copy linkmeter.capabilities.measuresConsumption object Required

                                                              Indicates if the meter can measure consumed energy.

                                                              Show child attributes
                                                              • Copy linkmeter.capabilities.measuresConsumption.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkmeter.capabilities.measuresConsumption.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkmeter.capabilities.measuresProduction object Required

                                                              Indicates if the meter can measure energy produced or generated.

                                                              Show child attributes
                                                              • Copy linkmeter.capabilities.measuresProduction.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkmeter.capabilities.measuresProduction.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkmeter.scopes array of string Required

                                                            Scopes that the user has granted for this meter.

                                                          • Copy linkmeter.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:meter:deleted

                                                        Occurs whenever a meter is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:meter:deleted
                                                        • Copy linkmeter object Required
                                                          Show child attributes
                                                          • Copy linkmeter.id string<uuid> Required

                                                            Unique identifier for the meter object

                                                          • Copy linkmeter.userId string Required

                                                            The ID of the user that linked this meter.

                                                          • Copy linkmeter.vendor string Required

                                                            Machine-friendly name of the vendor. Use this in API requests.

                                                            Possible enum values:

                                                              ENPHASEGIVENERGYHUAWEITESLASMASOLAREDGEFOXESSSOLAXSOLIS
                                                          • Copy linkmeter.lastSeen string<date-time> Required

                                                            The last time Enode successfully communicated with the vendor or when the meter was initially linked.

                                                          • Copy linkmeter.isReachable boolean Required

                                                            Indicates whether Enode can currently access live data from the meter. If the meter is not reachable, data updates will be delayed.

                                                          • Copy linkmeter.information object Required

                                                            Descriptive information about the meter

                                                            Show child attributes
                                                            • Copy linkmeter.information.brand string Required

                                                              A formatted and properly cased OEM brand name, suitable for reading by humans. May contain special characters.

                                                            • Copy linkmeter.information.model string Required

                                                              Meter model

                                                            • Copy linkmeter.information.siteName string Required

                                                              Name of the site, as set by the user on the device/vendor. If no user-specified name is available, we construct a fallback name using the vendor/device/model names.

                                                            • Copy linkmeter.information.installationDate string<date-time> Required

                                                              Meter installation date

                                                          • Copy linkmeter.energyState object Required

                                                            Latest information about meter load. null values indicate we are unable to determine a value for the field based on the information coming from the vendor.

                                                            Show child attributes
                                                            • Copy linkmeter.energyState.power number or null Required

                                                              The current power measured by the meter in kW.

                                                              • Positive value: Power is imported from the grid to the site, indicating consumption.
                                                              • Negative value: Power is exported to the grid, typically when the site generates excess electricity (e.g. from solar panels, or battery discharge).
                                                            • Copy linkmeter.energyState.lastUpdated string<date-time> or null Required

                                                              Time of last received energy state update.

                                                          • Copy linkmeter.location object Required

                                                            Meter's GPS coordinates

                                                            Show child attributes
                                                            • Copy linkmeter.location.id string<uuid> or null Required

                                                              ID of the location the meter is currently positioned at (if any).

                                                            • Copy linkmeter.location.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkmeter.location.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkmeter.location.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkmeter.capabilities object Required

                                                            The specific meter's capabilities for recording energy consumption and production data.

                                                            Show child attributes
                                                            • Copy linkmeter.capabilities.measuresConsumption object Required

                                                              Indicates if the meter can measure consumed energy.

                                                              Show child attributes
                                                              • Copy linkmeter.capabilities.measuresConsumption.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkmeter.capabilities.measuresConsumption.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                            • Copy linkmeter.capabilities.measuresProduction object Required

                                                              Indicates if the meter can measure energy produced or generated.

                                                              Show child attributes
                                                              • Copy linkmeter.capabilities.measuresProduction.isCapable boolean Required

                                                                The entity is fully capable of providing this data or functionality. If false, support is partial or missing.

                                                              • Copy linkmeter.capabilities.measuresProduction.interventionIds array of string Required

                                                                IDs of interventions the user can make to alter the availability of this capability. Please refer to the interventions guide for more information.

                                                          • Copy linkmeter.scopes array of string Required

                                                            Scopes that the user has granted for this meter.

                                                          • Copy linkmeter.hemSystemId string<uuid> or null Required

                                                            ID of the HEM system the asset is associated with. This field is present when the HEM System feature is enabled and the asset is linked to a HEM system.

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:credentials:invalidated

                                                        Occurs whenever the connection needs to be relinked.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:credentials:invalidated
                                                        • Copy linkvendor string Required

                                                          Machine-friendly name of the vendor. Use this in API requests.

                                                          Possible enum values:

                                                            AFOREAPSYSTEMSCSISolarDeyeENPHASEFOXESSFRONIUSGIVENERGYGOODWEGROWATTHoymilesHUAWEIINVTSMASOFARSOLAREDGESOLARKSOLAXSOLISSOLPLANETSUNGROWSUNSYNKTESLATSUNACURAAUDIBMWHONDAHYUNDAIJAGUARLANDROVERKIAMERCEDESMININISSANPEUGEOTPORSCHERENAULTSEATSKODAVOLKSWAGENVOLVOFORDOPELDSTOYOTALEXUSCITROENCUPRAVAUXHALLFIATRIVIANNIOCHEVROLETGMCCADILLACXPENGPOLESTARSUBARUJEEPMAZDAMGCHRYSLERDODGERAMALFAROMEOLANCIALUCIDBYDDACIAALPINETADOMILLADAXECOBEESENSIBOHONEYWELLRESIDEOMITSUBISHIMICROMATICNIBEPANASONICTOSHIBADAIKINNESTFUJITSUBOSCHNETATMOZAPTECEASEEWALLBOXEOCHARGEAMPSGOECHARGEPOINTENELXOHMEGAROSCHNEIDERPODPOINTKEBAHYPERVOLTMYENERGIHEIDELBERGALFENELLI

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:vendor-action:updated

                                                        Occurs whenever an action changes state.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:vendor-action:updated
                                                        • Copy linkvendorAction Required
                                                          Show child attributes
                                                          • Copy linkvendorAction.id string<uuid> Required

                                                            The ID of the action.

                                                          • Copy linkvendorAction.userId string Required

                                                            The ID of the user that owns the target of this action.

                                                          • Copy linkvendorAction.createdAt string<date-time> Required

                                                            Time when this action was created

                                                          • Copy linkvendorAction.updatedAt string<date-time> Required

                                                            Time when this action was last updated

                                                          • Copy linkvendorAction.completedAt string<date-time> or null Required

                                                            Time when the action transitioned to a non-pending state.

                                                          • Copy linkvendorAction.state string Required

                                                            The real-time status of an action executed on a target.

                                                            • PENDING: The initial state. Enode is actively sending commands and monitoring the target for changes.
                                                            • CONFIRMED: Successful transition of the target to the desired state.
                                                            • FAILED: The target did not respond to the action before timing out. Enode has ceased sending additional commands.
                                                            • CANCELLED: A required precondition was not met during the action's timeout window or another action has been sent to the target, overriding this one.

                                                            Possible enum values:

                                                              PENDINGCONFIRMEDFAILEDCANCELLED
                                                          • Copy linkvendorAction.targetId string Required

                                                            ID of the entity asset (HVAC) which this action is controlling.

                                                          • Copy linkvendorAction.targetType string Required

                                                            Possible enum values:

                                                              hvac
                                                          • Copy linkvendorAction.target Required
                                                            Show child attributes
                                                            • Copy linkvendorAction.target.coolSetpoint number Required
                                                            • Copy linkvendorAction.target.mode string Required

                                                              Possible enum values:

                                                                COOL
                                                            • Copy linkvendorAction.target.holdType string Required

                                                              Possible enum values:

                                                                PERMANENT
                                                          • Copy linkvendorAction.failureReason object or null Required

                                                            Information about why was this action not executed successfully.

                                                            Show child attributes
                                                            • Copy linkvendorAction.failureReason.type string Required

                                                              A machine-readable high level error category.

                                                              • NO_RESPONSE: The device did not react to our commands within the action's timeout window.
                                                              • FAILED_PRECONDITION: The device did not meet all required preconditions for this action to be executed during the action's timeout window.
                                                              • UNNECESSARY: The action was not carried out given that the device was already in the desired state.
                                                              • CONFLICT: A newer action for this device has been created. This action is now abandoned.
                                                              • REQUESTED_CANCELLATION: This action was cancelled by request of the controlling owner. The controlling owner may refer to another Enode entity which initiated the command, such as a schedule or smart override.
                                                              • NOT_FOUND: The device was deleted while the action was PENDING.

                                                              Possible enum values:

                                                                NO_RESPONSEFAILED_PRECONDITIONCONFLICTNOT_FOUNDUNNECESSARYREQUESTED_CANCELLATION
                                                            • Copy linkvendorAction.failureReason.detail string Required

                                                              A human-readable explanation of why the action was unsuccessful.

                                                        • Copy linkupdatedFields Required
                                                          Show child attributes

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:schedule:execution-updated

                                                        Occurs whenever a schedule's status is updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:schedule:execution-updated
                                                        • Copy linkstatus Required
                                                          Show child attributes
                                                          • Copy linkstatus.scheduleId string<uuid> Required

                                                            ID of the schedule.

                                                          • Copy linkstatus.scheduleType string Required

                                                            Possible enum values:

                                                              CHARGE
                                                          • Copy linkstatus.changedAt string<date-time> Required

                                                            Time at which any value of the status last changed

                                                          • Copy linkstatus.state string Required

                                                            An enum value that describes the current state of the Schedule

                                                            Possible enum values:

                                                              ALIGNEDMISALIGNEDPENDINGINACTIVE:OVERRIDDENINACTIVE:DISABLEDINACTIVE:AWAYINACTIVE:INCAPABLE
                                                          • Copy linkstatus.isCharging boolean Required

                                                            Whether the target is currently actually charging

                                                          • Copy linkstatus.isChargingExpected boolean Required

                                                            Whether the target is currently expected to be charging

                                                          • Copy linkstatus.isChargingExpectedParts object Required

                                                            Collection of booleans that - when combined via AND operator - forms the isChargingExpected value

                                                            Show child attributes
                                                            • Copy linkstatus.isChargingExpectedParts.needsCharge boolean Required
                                                            • Copy linkstatus.isChargingExpectedParts.isPluggedIn boolean Required
                                                            • Copy linkstatus.isChargingExpectedParts.shouldCharge boolean Required
                                                          • Copy linkstatus.upcomingTransitions array of object Required

                                                            List of upcoming transitions of the shouldCharge or targetTemperature value. A maximum of 2 items are returned.

                                                            Show child attributes
                                                            • Copy linkstatus.upcomingTransitions[].at string<date-time> Required

                                                              ISO8601 UTC timestamp

                                                            • Copy linkstatus.upcomingTransitions[].shouldCharge boolean Required
                                                          • Copy linkstatus.smartOverride object or null Required

                                                            This field populates after using Vehicle Create Smart OverrideAPI or Charger Create Smart OverrideAPI. Once populated, the target enters an overridden state, stopping Enode from sending Smart Charging actions. The Smart Override persists until the target ceases charging for any reason or is manually ended via Vehicle End Smart OverrideAPI or Charger End Smart OverrideAPI.

                                                            Show child attributes
                                                            • Copy linkstatus.smartOverride.createdAt string<date-time> Required

                                                              Time at which the smart override was created.

                                                            • Copy linkstatus.smartOverride.endedAt string<date-time> or null Required

                                                              Time at which the smart override was ended. If null, the smart override is still active.

                                                            • Copy linkstatus.smartOverride.targetType string Required

                                                              Possible enum values:

                                                                vehiclecharger
                                                            • Copy linkstatus.smartOverride.targetId string Required

                                                              ID of the target which this smart override is affecting.

                                                            • Copy linkstatus.smartOverride.vendorActionId string<uuid> or null Required

                                                              The ID of the Action responsible for starting charging on the target. Use the Get Vehicle ActionAPI or the Get Charger ActionAPI endpoints to monitor action results.

                                                        • Copy linkschedule Required
                                                          Show child attributes
                                                          • Copy linkschedule.targetId string Required

                                                            ID of the asset (Vehicle/Charger) to which this schedule applies

                                                          • Copy linkschedule.locationId string<uuid> or null Required

                                                            ID of the Location to which this schedule applies. The behavior of a null value differs based on the targetType. For chargers, a null value is essentially ignored and the schedule is applied even if the charger isn't at a location. This is designed to prevent schedules from controlling vehicles at public chargers where the user doesn't pay for electricity.

                                                          • Copy linkschedule.targetType string Required

                                                            Possible enum values:

                                                              vehiclecharger
                                                          • Copy linkschedule.isEnabled boolean Required

                                                            Whether this Schedule should be attempting to control the target's charge state.

                                                          • Copy linkschedule.defaultShouldCharge boolean Required

                                                            When no rule is active, the default charge state for the target.

                                                          • Copy linkschedule.rules array of object Required

                                                            Each rule sets a value for shouldCharge, either true or false. All other properties of the rule are optional filters that limit the times to which this rule applies.

                                                            Show child attributes
                                                            • Copy linkschedule.rules[].hourMinute object Optional

                                                              An interval composed of two clock times during which this rule applies each day. to always resolves to a timestamp after from, and thus may span across midnight and fall on the next day.

                                                              Show child attributes
                                                              • Copy linkschedule.rules[].hourMinute.from string Required

                                                                Clock time from which this rule should apply each day.

                                                              • Copy linkschedule.rules[].hourMinute.to string Required

                                                                Clock time until which this rule should apply each day.

                                                            • Copy linkschedule.rules[].fromTimestamp string<date-time> Optional

                                                              UTC timestamp from which this rule should apply.

                                                            • Copy linkschedule.rules[].toTimestamp string<date-time> Optional

                                                              UTC timestamp until which this rule should apply.

                                                            • Copy linkschedule.rules[].weekdays array of integer Optional

                                                              An array of weekdays to which this rule should apply. A weekday starts with 0 for Monday and ends with 6 for Sunday.

                                                            • Copy linkschedule.rules[].shouldCharge boolean Required

                                                              Whether a chargeable asset should want to charge while this rule is active.

                                                          • Copy linkschedule.id string Required
                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        system:heartbeat

                                                        Occurs whenever a system heartbeat event is triggered.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            system:heartbeat
                                                        • Copy linkpendingEvents number Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        enode:webhook:test

                                                        Occurs whenever a webhook test event is triggered.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            enode:webhook:test

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:hem-system:discovered

                                                        Occurs whenever a new HEM System is discovered for a user. Only information properties will be populated. All other properties will be null. Shortly after discovery, you'll receive an :updated event that contains additional data.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:hem-system:discovered
                                                        • Copy linkhemSystem object Required

                                                          Home Energy Management System (HEMS) that describes the solar installation or site or plant

                                                          Show child attributes
                                                          • Copy linkhemSystem.id string<uuid> Required

                                                            Unique identifier for the HEM System

                                                          • Copy linkhemSystem.userId string Required

                                                            The ID of the user that linked devices of the solar installation

                                                          • Copy linkhemSystem.locationId string<uuid> or null Required

                                                            ID of the location the HEM System is associated with

                                                          • Copy linkhemSystem.information object Required
                                                            Show child attributes
                                                            • Copy linkhemSystem.information.vendor string Required

                                                              Machine-friendly name of the vendor. Use this in API requests.

                                                              Possible enum values:

                                                                SOLAREDGEFOXESSSMATESLAGIVENERGYSOLAXSOLISHUAWEIENPHASE
                                                            • Copy linkhemSystem.information.name string Required

                                                              Name of the HEM System, as set by the user on the device/vendor.

                                                            • Copy linkhemSystem.information.installationDate string<date-time> Required

                                                              HEM System installation date

                                                            • Copy linkhemSystem.information.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkhemSystem.information.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkhemSystem.information.address string or null Required

                                                              Address of the HEM System

                                                            • Copy linkhemSystem.information.timezone string or null Required
                                                            • Copy linkhemSystem.information.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkhemSystem.status object Required

                                                            Status of the HEM System

                                                            Show child attributes
                                                            • Copy linkhemSystem.status.lastSeen string<date-time> or null Required

                                                              The last time Enode successfully communicated with the HEM system.

                                                            • Copy linkhemSystem.status.energy object Required

                                                              Energy metrics for the HEM System

                                                              Show child attributes
                                                              • Copy linkhemSystem.status.energy.today object Required

                                                                Energy metrics for the current day (from midnight to last update seen by Enode)

                                                                Show child attributes
                                                                • Copy linkhemSystem.status.energy.today.generation number or null Required

                                                                  Solar generation in kWh

                                                                • Copy linkhemSystem.status.energy.today.consumption number or null Required

                                                                  Household consumption in kWh

                                                                • Copy linkhemSystem.status.energy.today.charge number or null Required

                                                                  Battery charge in kWh

                                                                • Copy linkhemSystem.status.energy.today.discharge number or null Required

                                                                  Battery discharge in kWh

                                                                • Copy linkhemSystem.status.energy.today.import number or null Required

                                                                  Grid import in kWh

                                                                • Copy linkhemSystem.status.energy.today.export number or null Required

                                                                  Grid export in kWh

                                                                • Copy linkhemSystem.status.energy.today.unit string Required

                                                                  Unit of the metrics

                                                                • Copy linkhemSystem.status.energy.today.lastUpdated string<date-time> or null Required

                                                                  Time of last received metrics update

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:hem-system:updated

                                                        Occurs whenever a HEM System's properties are updated.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:hem-system:updated
                                                        • Copy linkhemSystem object Required

                                                          Home Energy Management System (HEMS) that describes the solar installation or site or plant

                                                          Show child attributes
                                                          • Copy linkhemSystem.id string<uuid> Required

                                                            Unique identifier for the HEM System

                                                          • Copy linkhemSystem.userId string Required

                                                            The ID of the user that linked devices of the solar installation

                                                          • Copy linkhemSystem.locationId string<uuid> or null Required

                                                            ID of the location the HEM System is associated with

                                                          • Copy linkhemSystem.information object Required
                                                            Show child attributes
                                                            • Copy linkhemSystem.information.vendor string Required

                                                              Machine-friendly name of the vendor. Use this in API requests.

                                                              Possible enum values:

                                                                SOLAREDGEFOXESSSMATESLAGIVENERGYSOLAXSOLISHUAWEIENPHASE
                                                            • Copy linkhemSystem.information.name string Required

                                                              Name of the HEM System, as set by the user on the device/vendor.

                                                            • Copy linkhemSystem.information.installationDate string<date-time> Required

                                                              HEM System installation date

                                                            • Copy linkhemSystem.information.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkhemSystem.information.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkhemSystem.information.address string or null Required

                                                              Address of the HEM System

                                                            • Copy linkhemSystem.information.timezone string or null Required
                                                            • Copy linkhemSystem.information.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkhemSystem.status object Required

                                                            Status of the HEM System

                                                            Show child attributes
                                                            • Copy linkhemSystem.status.lastSeen string<date-time> or null Required

                                                              The last time Enode successfully communicated with the HEM system.

                                                            • Copy linkhemSystem.status.energy object Required

                                                              Energy metrics for the HEM System

                                                              Show child attributes
                                                              • Copy linkhemSystem.status.energy.today object Required

                                                                Energy metrics for the current day (from midnight to last update seen by Enode)

                                                                Show child attributes
                                                                • Copy linkhemSystem.status.energy.today.generation number or null Required

                                                                  Solar generation in kWh

                                                                • Copy linkhemSystem.status.energy.today.consumption number or null Required

                                                                  Household consumption in kWh

                                                                • Copy linkhemSystem.status.energy.today.charge number or null Required

                                                                  Battery charge in kWh

                                                                • Copy linkhemSystem.status.energy.today.discharge number or null Required

                                                                  Battery discharge in kWh

                                                                • Copy linkhemSystem.status.energy.today.import number or null Required

                                                                  Grid import in kWh

                                                                • Copy linkhemSystem.status.energy.today.export number or null Required

                                                                  Grid export in kWh

                                                                • Copy linkhemSystem.status.energy.today.unit string Required

                                                                  Unit of the metrics

                                                                • Copy linkhemSystem.status.energy.today.lastUpdated string<date-time> or null Required

                                                                  Time of last received metrics update

                                                        • Copy linkupdatedFields array of string Required

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?

                                                        user:hem-system:deleted

                                                        Occurs whenever a HEM System is deleted. The payload reflects the last known state of the asset before deletion.

                                                        Copy linkRequest

                                                        Attributes
                                                        • Copy linkcreatedAt string<date-time> Required

                                                          ISO8601 UTC timestamp

                                                        • Copy linkversion string Required

                                                          API version of the payload

                                                        • Copy linkuser object Required
                                                          Show child attributes
                                                        • Copy linkevent string Required

                                                          Possible enum values:

                                                            user:hem-system:deleted
                                                        • Copy linkhemSystem object Required

                                                          Home Energy Management System (HEMS) that describes the solar installation or site or plant

                                                          Show child attributes
                                                          • Copy linkhemSystem.id string<uuid> Required

                                                            Unique identifier for the HEM System

                                                          • Copy linkhemSystem.userId string Required

                                                            The ID of the user that linked devices of the solar installation

                                                          • Copy linkhemSystem.locationId string<uuid> or null Required

                                                            ID of the location the HEM System is associated with

                                                          • Copy linkhemSystem.information object Required
                                                            Show child attributes
                                                            • Copy linkhemSystem.information.vendor string Required

                                                              Machine-friendly name of the vendor. Use this in API requests.

                                                              Possible enum values:

                                                                SOLAREDGEFOXESSSMATESLAGIVENERGYSOLAXSOLISHUAWEIENPHASE
                                                            • Copy linkhemSystem.information.name string Required

                                                              Name of the HEM System, as set by the user on the device/vendor.

                                                            • Copy linkhemSystem.information.installationDate string<date-time> Required

                                                              HEM System installation date

                                                            • Copy linkhemSystem.information.latitude number or null Required

                                                              Latitude in degrees

                                                            • Copy linkhemSystem.information.longitude number or null Required

                                                              Longitude in degrees

                                                            • Copy linkhemSystem.information.address string or null Required

                                                              Address of the HEM System

                                                            • Copy linkhemSystem.information.timezone string or null Required
                                                            • Copy linkhemSystem.information.lastUpdated string<date-time> or null Required

                                                              Time of last received location state update

                                                          • Copy linkhemSystem.status object Required

                                                            Status of the HEM System

                                                            Show child attributes
                                                            • Copy linkhemSystem.status.lastSeen string<date-time> or null Required

                                                              The last time Enode successfully communicated with the HEM system.

                                                            • Copy linkhemSystem.status.energy object Required

                                                              Energy metrics for the HEM System

                                                              Show child attributes
                                                              • Copy linkhemSystem.status.energy.today object Required

                                                                Energy metrics for the current day (from midnight to last update seen by Enode)

                                                                Show child attributes
                                                                • Copy linkhemSystem.status.energy.today.generation number or null Required

                                                                  Solar generation in kWh

                                                                • Copy linkhemSystem.status.energy.today.consumption number or null Required

                                                                  Household consumption in kWh

                                                                • Copy linkhemSystem.status.energy.today.charge number or null Required

                                                                  Battery charge in kWh

                                                                • Copy linkhemSystem.status.energy.today.discharge number or null Required

                                                                  Battery discharge in kWh

                                                                • Copy linkhemSystem.status.energy.today.import number or null Required

                                                                  Grid import in kWh

                                                                • Copy linkhemSystem.status.energy.today.export number or null Required

                                                                  Grid export in kWh

                                                                • Copy linkhemSystem.status.energy.today.unit string Required

                                                                  Unit of the metrics

                                                                • Copy linkhemSystem.status.energy.today.lastUpdated string<date-time> or null Required

                                                                  Time of last received metrics update

                                                        Copy linkResponse 200

                                                        The subscriber should return 200 OK to acknowledge the webhook has been received

                                                        Was this section helpful?