Read one transaction in detail
get/v1/tenants/{tenant_id}/transactions/{transaction_id}
Requires an API key
Station, EVSE and connector, the masked ID token, start and stop, stop reason, duration, energy in kWh and Wh, and the bill it settles with its totals. transaction_id is the resource ID from the transaction list (id), not the charger's OCPP transactionId. Read-only; requires billing:read.
Path parameters
- tenant_idintegerRequired
- transaction_idintegerRequired
Returns · 200
- idintegerRequiredTransaction resource ID (the core's database ID); use it in /transactions/{transaction_id} routes.
- transaction_idstring | nullRequiredThe charger's OCPP transactionId (OCPP 1.6: an integer as text). The list's external_id filter takes it.
- station_idinteger | nullRequired
- station_namestring | nullRequiredThe station's OCPP connection name.
- testbooleanA test transaction: on the OCPP bench's test station (virtual chargers). Never billed, metered for the usage fee, sent to OCPI partners or counted in the overview's totals.Default
false - evse_numberinteger | nullRequired
- connector_idinteger | nullRequiredConnector resource ID, as returned by the station API.
- connector_numberinteger | nullRequiredOCPP connector number on the station.
- id_tokenstring | nullRequiredThe ID token's last 4 characters behind ****; the full value is never returned.
- id_token_typestring | nullRequired
- activeboolean | nullRequired
- charging_statestring | nullRequiredOCPP 2.x charging state the core last recorded (Charging, EVConnected, SuspendedEV, SuspendedEVSE, Idle); null on OCPP 1.6.
- started_atstring | nullRequired
- ended_atstring | nullRequired
- duration_secondsinteger | nullRequiredSeconds from started_at to ended_at, or until now while active.
- stop_reasonstring | nullRequired
- energy_kwhstring | nullRequiredEnergy delivered in kWh as decimal text (core totalKwh).
- energy_whinteger | nullRequiredThe same energy in integer Wh.
- meter_start_kwhstring | nullRequiredMeter register at start in kWh as the core stores it; raw OCPP 1.6 registers (Wh) are in the timeline's meter_wh.
- meter_start_whinteger | nullRequired
- billingobject | nullRequiredRealized payment the core's revenue view recorded, as in the transaction list.
Child attributes
- captured_minorinteger | nullRequiredMinor units the core's payment revenue view recorded as received.
- currencystring | nullRequired
- captured_atstring | nullRequired
- billobject | nullRequiredThe bill this transaction settles: finalized with it, or open with its charging token. Null when none.
Child attributes
- idstringRequired
- statusenumRequiredOne of
open,final - currencystringRequired
- rate_minorstringRequiredMinor units per kWh the bill snapshot when it was created.
- hold_minorintegerRequired
- total_minorinteger | nullRequiredFinal amount in minor units; null while the bill is open.
- energy_kwhstring | nullRequiredFinalized usage in kWh (decimal text); null while the bill is open.
- energy_whinteger | nullRequiredFinalized usage in integer Wh.
- settlement_ownerenumRequiredOne of
managed,external - finalized_atstring | nullRequired
GET /v1/tenants/{tenant_id}/transactions/{transaction_id}
curl --fail-with-body "https://api.ivoracharge.com/v1/tenants/1042/transactions/1" \
-H "Authorization: Bearer $IVORA_API_KEY"Response · 200
{
"id": 1,
"transaction_id": "transaction_0123456789abcdef",
"station_id": 1,
"station_name": "string",
"test": false,
"evse_number": 1,
"connector_id": 1,
"connector_number": 1,
"id_token": "string",
"id_token_type": "string",
"active": false,
"charging_state": "string",
"started_at": "2026-09-30T17:00:00Z",
"ended_at": "2026-09-30T17:00:00Z",
"duration_seconds": 1,
"stop_reason": "string",
"energy_kwh": "string",
"energy_wh": 7500,
"meter_start_kwh": "string",
"meter_start_wh": 7500,
"billing": {
"captured_minor": 1250,
"currency": "usd",
"captured_at": "2026-09-30T17:00:00Z"
},
"bill": {
"id": "id_0123456789abcdef",
"status": "open",
"currency": "usd",
"rate_minor": "string",
"hold_minor": 1250,
"total_minor": 1250,
"energy_kwh": "string",
"energy_wh": 7500,
"settlement_owner": "managed",
"finalized_at": "2026-09-30T17:00:00Z"
}
}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.