Introduction

Pair your users' vehicles and chargers to unlock charging control on more vehicles, improve command reliability, and simplify your integration.

Copy linkPrerequisites

  • An Enode API client configured for API version 2024-10-01 or later
  • A working Vehicle API integration
  • Familiarity with LinkUI for device linking
  • A webhook endpoint configured to receive events (see Webhooks)

Copy linkWhy pair EVs with chargers?

  • Many vehicles lack charging control capabilities
  • Even controllable vehicles have unreliable commands. Conflicts with charger schedules, incorrect charger modes, or an offline vehicle can cause failures.
  • Integrating both APIs separately means building your own logic to unify data and route commands

Copy linkWhy not just integrate with the charger?

A charger-only integration gives you control but no visibility into the vehicle. Without State of Charge (SoC) and battery capacity:

  • You can't optimize charging. You don't know how much energy the vehicle needs or when it's full. The vehicle may not reach the target charge by departure time.
  • You can't deliver a good UX. Users expect to set a departure time and target SoC, then let your app handle the rest. Without vehicle data, you can't show battery level or confirm charging will finish on time.

Copy linkHow EV Charger Pairing works

EV Charger Pairing has two stages: established and activated.

Copy linkEstablished

A vehicle and charger become paired when they're linked to the same user. This happens automatically, you don't need to call a separate endpoint or wait for the user to plug in.

Once paired:

  • The vehicle unlocks startCharging, stopCharging, and location capabilities, making it eligible for managed charging.
  • Vehicle interventions blocking these capabilities are suppressed (given the charger can now provide control).

Copy linkActivated

A paired vehicle and charger become activated when plugged into each other. We detect this automatically based on data from both devices.

Once connected:

  • pluggedInChargerId appears on the vehicle (GetAPI, ListAPI, webhooksAPI)
  • pluggedInVehicleId appears on the charger (GetAPI, ListAPI, webhooksAPI)
  • Send charging commands to the vehicle. We route them to the right device.
  • Vehicle responses may include data from the charger (like chargeRate), so values may differ from the vehicle's first-party app
  • The vehicle gains control capabilities (like startCharging) through the charger

When unplugged, pluggedInChargerId returns to null. Capabilities gained through the charger remain available.

Copy linkPairing in practice

Reliability and performance vary across vehicle and charger OEMs. Here are examples of how charger pairing addresses common technical challenges.

ScenarioStandalone Linked Vehicle (Vehicle API)Standalone Linked Charger (Charger API)Vehicle API (augmented by EV Pair)
Start/Stop ChargingNot supportedSupportedSupported
Location DetectionNot supportedSupported (set location at home)Supported (reliable charging location)
Set Max Current (or Power)Not supportedSupportedPlanned for GA
Control ReliabilityLow or variable charging action success rateAlternative path to send commands and dynamically troubleshoot issuesHighest action success rate (orchestration across assets)
Plug-in detectionSlower detectionFaster detectionFastest detection (proactively poll the vehicle to confirm state)
Read next: Integration considerations

Device linking & UX recommendations; rollout considerations and an overview of supported features

Was this article helpful?