Skip to main content
POST
/
entities
/
site
/
onboard
Onboard
curl --request POST \
  --url https://api-sandbox.axle.energy/entities/site/onboard \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "site": {
    "mpan": "1234567890123",
    "postcode": "SW1A 1AA",
    "street_address": "10 Downing Street",
    "email": "resident@example.com",
    "gave_boundary_meter_consent_at": "2026-01-15T10:30:00Z"
  },
  "assets": [
    {
      "external_id": "<string>",
      "type": "charger",
      "properties": {
        "power_kw": 7.4
      },
      "asset_model": "<string>",
      "installation_date": "2023-12-25"
    }
  ],
  "override_withdrawal": false
}
'
{
  "site": {
    "site_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "site_created": true,
    "fields_updated": [],
    "warnings": []
  },
  "assets": [
    {
      "asset_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
      "external_id": "charger-001",
      "asset_created": true,
      "fields_updated": [],
      "warnings": []
    }
  ],
  "enrolment": {
    "site_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": "enrolled"
  }
}

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.

Supplying site.email

A user email is required to process payments through our provider, Stripe. We also send payment-failure notifications and, if enabled, two-factor authentication codes to this address. See the Payments overview for details.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json

Request model for the onboard endpoint.

site
Site · object
required

Site information

Example:
{
"mpan": "1234567890123",
"postcode": "SW1A 1AA",
"street_address": "10 Downing Street",
"email": "resident@example.com",
"gave_boundary_meter_consent_at": "2026-01-15T10:30:00Z"
}
assets
OnboardingAssetRequest · object[]
required

One or more assets to register at the site

Example:
[
{
"external_id": "charger-001",
"type": "charger",
"asset_model": "zappi",
"installation_date": "2025-06-15",
"properties": { "power_kw": 7.4 }
}
]
proposition
enum<string>
required

Proposition to enrol the site in

Available options:
limited_pause,
full_asset_schedule_control
override_withdrawal
boolean
default:false

Set to true to re-enrol regardless of previous withdrawals.

Example:

false

Response

Site and assets persisted, site enrolled in proposition

Response model for the onboard endpoint.

site
Site · object
required

Site result metadata

assets
InitialiseAssetResult · object[]
required

Per-asset result metadata

enrolment
Enrolment · object
required

Enrolment result