Cancel a session before any start reservation
post/v1/tenants/{tenant_id}/charging-sessions/{session_id}/cancel
Requires an API key
Requires billing:write. Does not release funds. Once start is reserved, a timeout or absent transaction is insufficient evidence to cancel; reconcile the charger and finalize actual usage.
Path parameters
- tenant_idintegerRequired
- session_idstringRequired
Headers
- idempotency-keystringRequired
Returns · 200
- idstringRequired
- tenant_idintegerRequired
- application_referencestringRequired
- processorstringRequired
- merchant_referencestringRequired
- payment_referencestringRequired
- created_bystringRequired
- created_atstringRequired
- settlement_ownerstringDefault
"external" - statusenumRequiredOne of
prepared,starting,charging,stopping,awaiting_bill,completed,canceled,reconciliation_required - billBillRecordRequired
Child attributes
- idstringRequired
- tenant_idintegerRequired
- station_idintegerRequired
- connector_idintegerRequired
- sourceenumRequiredOne of
csms,simulated - tariff_idintegerRequired
- rate_minorstringRequired
- hold_minorintegerRequired
- currencystringRequired
- charging_tokenstringRequired
- statusenumRequiredOne of
open,final - energy_kwhstring | nullRequired
- energy_whinteger | nullInteger Wh of the finalized usage.
- total_minorinteger | nullRequired
- transaction_idinteger | nullRequired
- created_atstringRequired
- finalized_atstring | nullRequired
- settlement_ownerenumOne of
managed,external· Default"managed" - billing_versionstringDefault
"energy-v1" - usageobject | nullSingle bill reads only: live matched usage after start, a final snapshot once final.
Child attributes
- transaction_idinteger | nullRequiredPhysical transaction resource ID; null for simulated bills.
- activebooleanRequired
- energy_kwhstring | nullRequiredDecimal kWh string for display.
- energy_whinteger | nullRequiredInteger Wh for arithmetic.
- estimated_minorinteger | nullRequiredInteger minor units. On final bills this equals total_minor.
- started_atstring | nullRequired
- ended_atstring | nullRequired
- power_winteger | nullLatest reported charging power in watts; 0 once the transaction ended; null when the charger reports none.
- soc_percentinteger | nullLatest reported vehicle state of charge, when the charger reports it.
- metered_atstring | nullTimestamp of the meter sample behind power_w/soc_percent.
- start_operationobject | nullSingle bill reads only: the journaled start dispatch, if any.
Child attributes
- idstringRequired
- tenant_idintegerRequired
- statusenumRequiredOne of
dispatching,succeeded,rejected,unknown - resultobject | nullRequired
- created_atstringRequired
- updated_atstringRequired
- usageobject | nullRequiredLive matched usage while charging; a final snapshot once completed. Null before a transaction is observed and on canceled sessions.
Child attributes
- transaction_idinteger | nullRequiredPhysical transaction resource ID; null for simulated bills.
- activebooleanRequired
- energy_kwhstring | nullRequiredDecimal kWh string for display.
- energy_whinteger | nullRequiredInteger Wh for arithmetic.
- estimated_minorinteger | nullRequiredInteger minor units. On final bills this equals total_minor.
- started_atstring | nullRequired
- ended_atstring | nullRequired
- power_winteger | nullLatest reported charging power in watts; 0 once the transaction ended; null when the charger reports none.
- soc_percentinteger | nullLatest reported vehicle state of charge, when the charger reports it.
- metered_atstring | nullTimestamp of the meter sample behind power_w/soc_percent.
- start_operationobject | nullRequired
Child attributes
- idstringRequired
- tenant_idintegerRequired
- statusenumRequiredOne of
dispatching,succeeded,rejected,unknown - resultobject | nullRequired
- created_atstringRequired
- updated_atstringRequired
- stop_operationobject | nullRequired
Child attributes
- idstringRequired
- tenant_idintegerRequired
- statusenumRequiredOne of
dispatching,succeeded,rejected,unknown - resultobject | nullRequired
- created_atstringRequired
- updated_atstringRequired
- settlementSettlementSummaryRequired
Child attributes
- verificationstringDefault
"application_reported" - captured_minorintegerRequired
- refunded_minorintegerRequired
- net_minorintegerRequired
- uncollected_minorinteger | nullRequired
- statusenumRequiredOne of
unreported,pending,unknown,failed,reported_unpaid,reported_partial,reported_paid,reported_refunded,reported_released
POST /v1/tenants/{tenant_id}/charging-sessions/{session_id}/cancel
curl --fail-with-body -X POST "https://api.ivoracharge.com/v1/tenants/1042/charging-sessions/session_0123456789abcdef/cancel" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Idempotency-Key: order-2026-09-30-0001"Response · 200
{
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"application_reference": "string",
"processor": "string",
"merchant_reference": "string",
"payment_reference": "string",
"created_by": "string",
"created_at": "2026-09-30T17:00:00Z",
"settlement_owner": "external",
"status": "prepared",
"bill": {
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"station_id": 1,
"connector_id": 1,
"source": "csms",
"tariff_id": 42,
"rate_minor": "string",
"hold_minor": 1250,
"currency": "USD",
"charging_token": "string",
"status": "open",
"energy_kwh": "string",
"energy_wh": 7500,
"total_minor": 1250,
"transaction_id": 1,
"created_at": "2026-09-30T17:00:00Z",
"finalized_at": "2026-09-30T17:00:00Z",
"settlement_owner": "managed",
"billing_version": "energy-v1",
"usage": {
"transaction_id": 1,
"active": false,
"energy_kwh": "string",
"energy_wh": 7500,
"estimated_minor": 1250,
"started_at": "2026-09-30T17:00:00Z",
"ended_at": "2026-09-30T17:00:00Z",
"power_w": 1,
"soc_percent": 1,
"metered_at": "2026-09-30T17:00:00Z"
},
"start_operation": {
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"status": "dispatching",
"result": {},
"created_at": "2026-09-30T17:00:00Z",
"updated_at": "2026-09-30T17:00:00Z"
}
},
"usage": {
"transaction_id": 1,
"active": false,
"energy_kwh": "string",
"energy_wh": 7500,
"estimated_minor": 1250,
"started_at": "2026-09-30T17:00:00Z",
"ended_at": "2026-09-30T17:00:00Z",
"power_w": 1,
"soc_percent": 1,
"metered_at": "2026-09-30T17:00:00Z"
},
"start_operation": {
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"status": "dispatching",
"result": {},
"created_at": "2026-09-30T17:00:00Z",
"updated_at": "2026-09-30T17:00:00Z"
},
"stop_operation": {
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"status": "dispatching",
"result": {},
"created_at": "2026-09-30T17:00:00Z",
"updated_at": "2026-09-30T17:00:00Z"
},
"settlement": {
"verification": "application_reported",
"captured_minor": 1250,
"refunded_minor": 1250,
"net_minor": 1250,
"uncollected_minor": 1250,
"status": "unreported"
}
}Try it is not available here yetRequests from this page are off until the production API at
https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.