JouloDocs
Integrations

Enphase

How Joulo connects an Enphase IQ EV Charger: Enlighten OAuth, the API quota and the session denial you cannot fix by reconnecting.

An Enphase IQ EV Charger connects through the Enphase API. You authorise Joulo in Enlighten once. Enphase meters the quota tightly, so Joulo syncs each account twice a day rather than every quarter hour.

At a glance

PropertyValue
RouteCloud API
APIEnphase API v4
AuthenticationOAuth 2.0 through Enlighten
SyncTwice a day per account
MID detectionPer hardware version, from the Joulo charger catalog
BackfillAutomatic, to 1 January 2026

How the connection works

Joulo discovers your Enphase systems first, then the EVSE devices inside each system. Each EVSE becomes one charger.

Enphase bills per API hit above a monthly cap. Polling every 15 minutes would exceed that cap on session polling alone, so each account syncs at most every 12 hours. ERE registration settles per quarter, so this costs no eligible energy.

What Joulo reads

Sessions come from the EV charger session endpoint, paginated at 100 rows per page. The first sync walks every page back to 1 January 2026. Later syncs walk until they meet rows Joulo already stored.

Authorising the connection

The Enphase consent screen accepts an email address and a password, and nothing else. A code login, a passkey or two-factor authentication will not get you through it. The password reset link on that screen does not work either. Reset your password in the Enlighten app first, then authorise.

Known failure: a 401 on sessions

An Enphase account can return 200 on the device list and 401 on the session endpoint for the same charger. That is a refusal on Enphase's side for the session scope, not an expired connection on ours. Reconnecting does not clear it, and Joulo does not count it against your login. Contact Enphase support if you see it.

MID certification

Joulo decides from the charger catalog, per hardware version. Many IQ EV Charger installations meter outside the charger, which is not a valid basis for ERE registration. Check your own charger with the compatibility check on joulo.nl before you plan on it.

Limitations

  • Freshness is measured in hours, not minutes, by design.
  • Session detail follows what the Enphase API exposes, which is coarser than a direct OCPP connection.

Next steps