Skip to main content
This guide walks you through integrating Flex Lite into your EV charging platform. By the end, you’ll be able to send user charging schedules and receive optimized schedules that enable grid flexibility while maintaining user control.

Prerequisites

  • An Axle API token (see Authentication)
  • Basic site information (MPAN, address, postcode)
  • Ability to detect plug-in events
  • User’s desired charging schedule
  • Confirmed eligibility and user consent

Step 1: Onboard your user and asset

First, you need to register the user’s site and EV charger with Axle. This enables Flex Lite participation. Note that the relevant dispatch consent we need is limited_pause. This tells us that we’re allowed to insert pauses into the user’s charging schedule.

Onboard site and asset

View the OpenAPI spec with interactive request examples and response schemas.

Example request for EV Charger

{
  "site": {
    "mpan": "1234567890123",
    "postcode": "SW1A 1AA",
    "street_address": "10 Downing Street",
    "gave_boundary_meter_consent_at": "2025-01-01T12:00:00Z",
    "email": "user@example.com"
  },
  "asset": {
    "external_id": "charger-001",
    "type": "charger",
    "properties": {
      "power_kw": 7.4
    }
  },
  "dispatch_consent": {
    "dispatch_methods": ["limited_pause"]
  }
}
The API returns both site.id and asset.id values - it can be useful to save both IDs. You’ll need:
  • asset.id for sending charging schedules
  • site.id for querying balance/rewards and offboarding
Otherwise it is still possible to retrieve these ids using the asset’s external_id
Include the user’s email in the site data if you want to enable 2FA for payment withdrawals. This provides additional security for user earnings.

Step 2: Send plug-in event with charging schedule

When a user plugs in their EV, send their desired charging schedule to the plug-in-schedule endpoint. Axle will return a modified schedule optimized for grid flexibility.

Send plug-in schedule

View the API documentation for the plug-in-schedule endpoint.

Example request

{
  "charging_schedule": [
    {
      "start_timestamp": "2025-06-27T22:00:00+00:00",
      "end_timestamp": "2025-06-28T06:00:00+00:00"
    }
  ]
}

Example response with modified schedule

{
  "modified_charging_schedule": [
    {
      "start_timestamp": "2025-06-27T22:00:00+00:00",
      "end_timestamp": "2025-06-28T01:00:00+00:00"
    },
    {
      "start_timestamp": "2025-06-28T02:00:00+00:00",
      "end_timestamp": "2025-06-28T06:00:00+00:00"
    }
  ]
}
The modified schedule includes a 1-hour pause (01:00-02:00) to provide grid flexibility. The user earns rewards for this flexibility while still receiving the charging they need.

Common questions

User actions always take precedence. If a user modifies their schedule or boosts charging after receiving the modified schedule from Axle, apply their requested changes and send Axle a new schedule.
Not every plug-in event will result in a modified schedule. Axle only adjusts schedules when there’s a grid flexibility opportunity that provides value. If no modification is beneficial, you’ll receive the original schedule back unchanged.
Axle’s optimization ensures the user receives sufficient energy based on their needs. The typical modification is a 30 minute pause, which maintains adequate charging for most use cases. If the original schedule is already tight, we may not modify it.

Offboarding

When a user withdraws consent or disconnects their charger, offboard the site and asset:

Offboard site and assets

Remove sites and assets from the Axle platform.
The offboarding endpoint removes the site and all associated assets, ensuring:
  • All dispatch consents are revoked
  • Flex Lite participation is stopped
  • User data is handled according to retention policies

Next Steps

At this point, you have onboarded users who are flexing their charge. Now it’s time to earn money and pay users.

Earning from Flex

Learn how to submit readings and manage user payments