Decommission a station
Flags a charger the owner dropped for good. Monitoring, alerts, charger events and fleet counts skip it, so its being offline or refused is expected, and station reads report decommissioned true. It takes no new sessions: the start command, bill creation, bill and charging-session starts and checkout answer 409 station_decommissioned; a running session finishes normally and can still be stopped. Its history, sessions and bills stay, and nothing is sent to the charger. It is not a delete (DELETE the station for that). name must be the station's connection name (409 station_name_mismatch, details.name); reason is kept with the flag. Emits station.decommissioned. Needs stations:admin (team owners and admins, Ivora staff, and API keys created with it). Synchronous and idempotent: a repeat changes nothing and answers changed false, and only a change emits a webhook. Audit-logged with the caller. Ivora staff can set and clear the same flag; the station's tenant then receives the same events. Errors: 404 station_not_found, 409 station_name_mismatch. See Errors and statuses.
Path parameters
- tenant_idintegerRequired
- station_idintegerRequired
Request body
- namestringRequiredThe station's OCPP connection name (name in station reads), as a confirmation; refused with 409 station_name_mismatch when it is another one (details.name), so a wrong station ID never decommissions another charger.1–100 characters
- reasonstringRequiredWhy, for the record: kept with the flag, in the audit log and in station.decommissioned.3–500 characters
Returns · 200
- station_idintegerRequired
- namestringRequiredThe station's OCPP connection name.
- decommissionedbooleanRequiredWhether the station is decommissioned after this request.
- reasonstring | nullRequiredThe recorded reason; null once recommissioned.
- decommissioned_bystring | nullRequiredWho decommissioned it (key:<id>, user:<id> or app:<id>); null once recommissioned.
- decommissioned_atstring | nullRequiredWhen; null once recommissioned.
- changedbooleanRequiredfalse when the request changed nothing: the station was already decommissioned (the first record is kept) or, on DELETE, was not. No webhook is sent then.
curl --fail-with-body -X POST "https://api.ivoracharge.com/v1/tenants/1042/stations/1/decommission" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "bay-01",
"reason": "string"
}'{
"station_id": 1,
"name": "bay-01",
"decommissioned": false,
"reason": "string",
"decommissioned_by": "string",
"decommissioned_at": "2026-09-30T17:00:00Z",
"changed": false
}Try itproduction · api.ivoracharge.com
Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.
POST is a write: you confirm the method, path and project before it is sent, with a generated Idempotency-Key.



