Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.axle.energy/llms.txt

Use this file to discover all available pages before exploring further.

A user owns a site — a physical property — and that site holds the assets (EV chargers, batteries and heat pumps) Axle can monitor and control. Enrolment, consents and payments all belong to the user via their site, so the operations below act on a site, not on individual users. Over their lifetime, sites move between different states depending on whether they exist on the platform and whether they’re enrolled in a proposition — the agreement that lets Axle participate in a market on the user’s behalf. This page describes those states, the API calls that move between them, and how to handle the everyday changes your users will throw at you: adding an asset, swapping a charger, opting out, or moving house.

Managing sites

StateExists on platform?Enrolled in a proposition?What it means
Unseen / DeletedNoNoWe don’t know about this site, or we’ve removed it.
InactiveYesNoThe site and its assets exist — you can look them up, update them, and add or remove assets — but they’re not participating in any proposition.
ActiveYesYesThe site is enrolled and participating. Schedules, dispatches and rewards are all live.

Site transitions

Each arrow in the diagram is a single API call.
EndpointFrom → ToUse it when
onboardUnseen → ActivePreferred — the common path for opting-in. Creates the site and assets and enrols them in one call; reach for it by default.
initialiseUnseen → InactiveYou want to create the site and assets, but do work before committing.
enrolInactive → ActiveThe commitment point after initialise — this begins participation in a proposition (scheduling, readings, rewards).
unenrolActive → InactivePreferred — the common path for opting-out. The user is leaving a proposition but staying on the platform. Easily reversible; payments still accessible.
offboardActive → DeletedThe user is leaving entirely. Removes the site and its assets.

Opting in

Most integrations sign a user up with a single onboard call, which creates the site and its assets and enrols them in one go. Split it into initialise + enrol only when you need to do work between creating the site and committing it to a proposition — see Advanced Onboarding for details.

Opting out

A user can stop participating in two ways: unenrol and offboard In most cases, unenrol is the best way for a user to opt-out, and should be the default for a user-initiated opt-out action. It cleanly stops participation — no more readings, scheduling, or rewards — while leaving the site and its assets in place. Because the user remains on the platform, their payments remain accessible, and you can switch participation back on at any time by re-enrolling the same site.
This is especially relevant when a site is participating in another proposition, like the Capacity Market. Unenrol only stops the proposition you name, so unenrolling Flex Lite leaves their Capacity Market participation untouched.
Offboard is the heavy option, for when the user is gone for good: they’ve moved out, or your support team is removing them. It removes the site and its assets entirely, ends every proposition, and cuts off the user’s access — including the payments portal.
UnenrolOffboard
Participation (scheduling, readings, rewards)StoppedStopped
Other propositions (CM, etc.)UnchangedStopped
Site & assetsAccessibleRemoved
PaymentsAccessibleCut off
Always prompt users to withdraw their outstanding balance before you offboard them — once a site is offboarded, the user can no longer reach the payments portal.

Managing assets within a site

The lifecycle above acts on the site. But a site can gain or lose assets without changing state — a user might add a battery to a property that already has a charger, or replace a charger that’s been swapped out. These are asset-level operations that leave the site enrolled and untouched:

Create asset

Add an asset to an existing site

Delete asset

Remove a single asset from a site

Common scenarios

Use Create asset against the existing site_id. The site stays enrolled, and the new asset starts participating once it’s eligible. There’s no need to re-onboard or re-enrol the site.Save the returned asset_id — you’ll need it to send events for that asset.
Use Delete asset with the asset_id. The rest of the site is unaffected.If the user is removing their only asset and won’t be participating any more, consider whether you want to unenrol the site instead — or offboard it if they’re leaving for good. See opting out for which to reach for.
Treat it as a create followed by a delete: Create the replacement asset first, then Delete the old one. Use a fresh external_id for the new asset so your records line up with ours.The site stays enrolled throughout, so there’s no gap in participation for its other assets.
See Opting out for the full guidance on choosing between unenrolling and offboarding a site, and on handling any outstanding payment balance.
If you unenrolled the site, it’s sitting in the Inactive state — the site and assets still exist. Call enrol with the existing site_id to bring it back to Active. No need to onboard again.If you offboarded instead, the site was deleted, so you’ll need to onboard the user again.
A site is tied to a physical property (and its MPAN), so a move is really two separate users at two properties:
  1. Offboard the old site. The user no longer controls the assets at their previous address, so offboard it.
Always prompt users to withdraw their outstanding balance before you offboard them — once a site is offboarded, the user can no longer reach the payments portal.
  1. Onboard them at the new property as a fresh site, if they’re taking eligible assets with them or the new home already has them.
The previous occupant should have been offboarded when they left. The new occupant is a different user, so onboard them as a new site against the same MPAN. Don’t re-use the old site — its consents and payments belong to the previous user, and it stays linked to their account.

Where next?

Flex Lite

Insert pauses into existing charging schedules with a light integration

Smart Charging

Hand full charge-plan control to Axle for maximum flexibility revenue

Advanced Onboarding

Split onboarding into initialise + enrol

API Reference

Full request and response specs for every endpoint