Skip to main content
This webhook is in development and not currently exposed by our API. The schema below may change before release.
During a grid event, Axle sends an HTTP POST to the webhook URL you provide. Each request carries a single dispatch instruction: one event, with a target power for every affected asset over a fixed window. You apply that target power to each asset between start_time and end_time. You register your webhook URL when you set up your integration — get in touch to configure it.

Request body

{
  "event_id": "eab8c867-7c4d-4116-a587-02c9d1f13a16",
  "issued_timestamp": "2026-06-29T17:02:37.448917+00:00",
  "start_time": "2026-06-30T20:30:00+00:00",
  "end_time": "2026-06-30T21:30:00+00:00",
  "assets": [
    { "asset_id": "3c361164-5187-4b4b-8e8a-7b3f67c4d5a8", "power_kw": -6.915 },
    { "asset_id": "1a161164-5187-4b4b-8e8a-7b3f67c4d5a8", "power_kw": -4.915 }
  ]
}
FieldTypeDescription
event_idstring (UUID)Unique identifier for this dispatch event.
issued_timestampstring (ISO 8601)When Axle issued the instruction.
start_timestring (ISO 8601)Start of the dispatch window.
end_timestring (ISO 8601)End of the dispatch window.
assetsarrayOne entry per affected asset.
assets[].asset_idstring (UUID)The Axle asset identifier returned at onboarding.
assets[].power_kwnumberTarget power for the asset across the window. Positive = charge (import into the battery), negative = discharge (export).

Responding

Return a 2xx status to acknowledge receipt.
Acknowledgement and delivery-feedback semantics are still being finalised. Get in touch for the latest detail on how your webhook should respond.