Transactions (v1)

Download OpenAPI specification:Download

The Transactions API offers an interface to access detailed information on charging sessions, referred to as "transactions". It provides a comprehensive view of transaction data across individual or all charging stations, for both ongoing and completed charging sessions.

A "transaction" in this context encapsulates the entire process of an electric vehicle charging session. It initially begins when a user plugs the charging cable into their vehicle, or by the user identifying themselves (e.g. RFID) or performing payment some other means. It ends upon disconnection of the cable from the vehicle.

The transaction object contains all details happening during that process, including that of plugging in the cable, user authentication, payment authorization (if applicable), the handshake between the vehicle and charger, the actual energy transfer, and payment processing, and disconnecting the cable.

Transactions are uniquely identified by their id, the txId field. Each transaction is attached to a charging station, identified by stationId.

Card payment data for e-receipts can be found under the paymentDetails object.

List Transactions for a Charging Station

get/chargingStations/{stationId}/transactions

Returns an array of latest transactions occuring across all charging stations, with optional filtering. Each object in the response contains transaction details including the ID, status, associated timestamps, charged energy amounts, and other such information.

SecuritybearerAuth
Request
path Parameters
stationId
required
string
query Parameters
endDate
string

Filter for transactions with (startTime) before the provided endDate, TZ in UTC. Date/datetime in ISO 8601 format. Either the date (2023-05-12) or the date and time (2023-05-12T15:37:00.000Z)

Example: endDate=2023-05-12T15:37:00.000Z
exclusiveStartKey
string

Specifies the starting point for the next set of results when paginating, and it's only needed if lastEvaluatedKey is provided to indicate there were more results to fetch.

filterAuthorization
string

Transactions idToken must contain the substring filterAuthorization

Example: filterAuthorization=B0717C94
filterAuthorizationMethod
string

The auhorization method for the transaction. One of "EMV" | "EVMAC" | "IMPLICIT" | "REMOTE_AUTH" | "RFID_TOKEN"

Example: filterAuthorizationMethod=EMV
filterChargedEnergy
string

chargedEnergyKwh, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterChargedEnergy=30-90

Example: filterChargedEnergy=<50
filterConnector
string

evseId or evseName must contain the substring filterConnector

Example: filterConnector=1234 C
filterDuration
string

totalDuration or duration of the session in SECONDS, Number or RangeFilter can be used such as: >, >=, <, <=.
Example: filterDuration=<8000

Example: filterDuration=>10000
filterEndTime
string

endTime of the transaction, Date or DateRangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterEndTime=<=2024-07-16T00:00:00.000Z

Example: filterEndTime=2024-07-16T15:37:00.000Z
filterEvId
string

Filter for transactions of a specific vehicle by its id

filterEvMac
string

Vehicle's MAC or EvMac address must contain the substring filterEvMac

Example: filterEvMac=04:E7:7E:00:F0:FA
filterEvName
string

identified evName or name given by the user must contain substring filterEvName
Example: filterEvName=Unidentified EV

Example: filterEvName=Taycan
filterLocation
string

LocationName/LocationCode

Example: filterLocation=Stormarked
filterPeakPower
string

maxPowerKw, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterPeakPower=60

Example: filterPeakPower=>=50
filterSocEnd
string

state-of-charge at the end of charging session, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterSocEnd=>50

Example: filterSocEnd=70-90
filterSocStart
string

state-of-charge at the start of charging session, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterSocStart=<=50

Example: filterSocStart=>20
filterStartTime
string

startTime of the transaction, Date or DateRangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterStartTime=>=2024-07-15T00:00:00.000Z

Example: filterStartTime=2024-07-16T15:37:00.000Z
filterStation
string

EVStationName/StationCode

Example: filterStation=K00123456
filterStatus
string

Filter by charging status, can be used with negation operator for e.g. (filterStatus=!Ended), to retrieve transactions that have not ended.
Example: filterStatus=PluggedInIdle

Example: filterStatus=Charging
filterUpdateTime
string

updateTime of the transaction, Date or DateRangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterUpdateTime=2024-07-15T00:00:00.000Z-2024-07-16T00:00:00.000Z

Example: filterUpdateTime=2024-07-16T15:37:00.000Z
limit
number

Limit the number of records

Example: limit=100
returnAll
boolean

Retrieve all transactions for the specified filters, ignoring the limit parameter.

startDate
string

Filter for transactions with (updateTime) after the provided startDate, TZ in UTC. Date/datetime in ISO 8601 format. Either the date (2023-05-12) or the date and time (2023-05-12T15:37:00.000Z)

Example: startDate=2023-05-10
Responses
200

OK

Response Schema: application/json
object
property name*
additional property
any
required
object (TransactionsSummary)
chargedEnergyKwh
required
number
chargingTimeMs
required
number
count
required
number
occupiedTimeMs
required
number
required
Array of objects (Transaction)
Array
activeStartTime
string or null

The time when session became active (authenticated and cable is connected)

string or number
ambientTemp
number

Ambient temperature at the start of the transaction in Celsius

authenticated
boolean

True if user had authenticated at any point (be it in free mode, or auth accepted for rfid/remote)

authorizationMethod
string

Method of authorization

Enum: "EMV" "EVMAC" "IMPLICIT" "REMOTE_AUTH" "RFID_TOKEN"
authorizationReference
string or null

Reference to the authorization given by the eMSP, when given, this reference will be provided in the relevant Session and/or CDR.

Passed in by external party in OCPI command (StartSession).

authorizationStartTime
string

Timestamp (best guess) when authorization was performed

avgPowerKw
number
cableConnected
boolean

True if cable has been connected to EV at any point of this session. May be inaccurate for CHAdeMO.

cableConnectedTime
string

Timestamp (best guess) when cable was connected.

chargedEnergyKwh
required
number

Energy charged into the vehicle

chargingDurationMs
number

how long the vehicle was charged (Updated at the end of the session)

chargingEndAlarms
Array of strings
chargingEndReason
string

why charging ended

chargingEndTime
string or null
object (ChargingForecast)
object (ChargingForecast)
chargingForecastV3Model
string

Name of charge time forecast version 3 model file

chargingStartReason
string

why charging started

chargingStartTime
string or null
contractId
string

Uniquely identifies the EV Driver contract token within the eMSP’s platform (and suboperator platforms). Recommended to follow the specification for eMA ID from "eMI3 standard version V1.0" (http://emi3group.com/documents-links/) "Part 2: business objects."

Passed in by external party in OCPI command (StartSession).

current
number
currentReservation
number

How much current is reserved by the charger in Amperes

eMeterId
string

ID of the energy meter

emvDeviceType
string

Type of the EMV (Europay, MasterCard, Visa) Device. Only set if there is EMV present

Value: "PAYTER"
endReason
string
endReasonDescription
string
endTime
string

Transaction end time.

energyLimitKwh
number
energyMeterStartWh
number

The charging station's cumulative energy meter counter when the transaction started. Relevant only for transactions from OCPP1.6J. This is 0 for OCPP2 and OCPI transactions.

energyMeterStopWh
number

The charging station's cumulative energy meter counter when the transaction stopped. Relevant only for transactions from OCPP1.6J. This equals chargedEnergyKwh for OCPP2 and OCPI transactions.

energyMeterWh
number

Latest value of the charging station's cumulative energy meter counter when the transaction started. Relevant only for transactions from OCPP1.6J. This equals chargedEnergyKwh for OCPP2 and OCPI transactions.

Array of objects (EnergyOfferPeriod)

List of Energy Offer Periods

object (EvClusterDetails_1)
evCommunicationStandard
string

High level communication standard. ISO1 = ISO 15118, DIN = DIN 70121

Enum: "DIN" "ISO1" "ISODIS"
evErrorCode
string

Error code reported by EV

object
evMacAddress
string

mac address of the electronic vehicle

Example: "04:E7:7E:00:F0:FA"
evMaximumCurrent
number

Maximum current EV can take.

evMaximumPower
number

Maximum power EV can take.

evMaximumVoltage
number

Maximum voltage EV can take.

evRunId
string

run id of the electronic vehicle

Example: "04:E7:7E:00:F0:FA:00:00"
evseId
required
string

EVSE number that this transaction belongs to.

evseMaxPowerKw
number

Max output power of the evse

evseMaxPowerKwWithoutDynamicLimit
number

Maximum power in kilowatts that this connector could output if grid limit was not imposed

evseMaxPowerKwWithoutDynamicLimitActual
number

Maximum power in kilowatts that this connector could output if grid limit was not imposed (unrounded figure)

evseMaxPowerkWActual
number

Maximum power in kilowatts that this connector could output (unrounded figure)

evseMaxPowerkWPresent
number

Maximum power in kilowatts, effectively, that this connector can output for new sessions (with regards to the current charger usage with dynamics)

evseMaxPowerkWPresentActual
number

Maximum power in kilowatts, effectively, that this connector can output for new sessions (with regards to the current charger usage with dynamics) (unrounded figure)

evseName
string
evseType
string (EVSEType)
Enum: "AC" "CCS" "CHAdeMO" "Type2" "oppcharge"
object (IdTokenType)
object (LCSystemTransactionData)

Liquid cooling system data for a transaction.

locationId
string
locationUid
string
maxCostCents
number

Session max cost in cents / reserved amount of cents. Cent = one-hundredth of the used main curency, example 1 cent = 1 penny for £ and 1 cent = 1 cenfor €

maxPowerKw
number
ocpiConnectionProfileId
string or null

ocpiConnectionProfileId If found, send session data to party related to this ocpi connection.

parentId
string
paymentCurrency
string

ISO-4217 code of the currency used

Example: "GBP"
object (PaymentDetails)

Information about the payment details related to the transaction.

paymentReference
number

Payment reference number as decided by the Charger.

string or number

Unique ID for this payment session, as generated by the EMV terminal

paymentState
string

State of the payment

  • COMMITTED- The payment was committed
  • CANCELLED- The payment was cancelled
  • VOIDED- The payment was voided
Enum: "CANCELLED" "COMMITTED" "VOIDED"
pin1temp
number

Temperature of negative pin of the EVSE in Celsius

pin2temp
number

Temperature of positive pin of the EVSE in Celsius

power
number

Current power watts

powerKw
number

Power kilowatt present, max, avg

powerLimitation
string (PowerLimitation)

One of:

  • Charger limits - Maximum charging power - Vehicle is charged with the full power of the charger.
  • Vehicle limits - Charging power limited by the vehicle - Your vehicle is accepting charging power below the charger capabilities.
  • Grid limits - Charging power limited by the electrical grid
  • Shared - Charging power is shared with another vehicle(s)
  • Queue - Charging is queued
Enum: "Charger" "Grid" "Queue" "Shared" "Vehicle"
remoteStartId
number
remoteTransactionId
number
object (TxSchedulePlanInfo)

Information about a scheduled charging in relation to this transaction

sequenceNumber
number

Sequence number to help indentify newest transaction update

sessionDurationMs
number

how long the session was in total (Updated at the end of the session)

object (SignedMeterValueType)
simulated
boolean
soc
number

Current SoC

socEnd
number

State of Charge at the end of the transaction

socLimit
number

was the transaction soc limited to something

socStart
number

State of Charge at the beginning of the transaction

sourceConnectionType
string
Enum: "ocpi" "ocpp"
startReason
string
startTime
required
string

Transaction start time.

startTransactionTime
string

Timestamp of StartTransaction or TransactionEvent eventType=Started OCPP message - may be different from ChargEye session startTime

stationId
string
status
required
string (TransactionStatus)
Enum: "Alarm" "AuthorizedNotPluggedIn" "Charging" "Ended" "InsulationTest" "PluggedInIdle" "Unknown"
stopTransactionTime
string

Timestamp of StopTransaction or TransactionEvent eventType=Ended OCPP message - may be different from ChargEye session endTime

targetCurrent
number

Current voltage target.

NOTE: During charging this is not the actual voltage supplied to the battery but the voltage that will eventually be reached once the battery is full.

targetVoltage
number

Maximum voltage EV can take.

technicalFailClassification
string (TechnicalFailClassification)

One of: * OK - normal successful charging * LOW_POWER - charging is normal, but charging power is very low (<= 1kW) for some reason - indications of a charging problem * NOT_IDENTIFIED - cable connected, but not authed * NOT_PLUGGED_IN - authed, but cable not connected * HANDSHAKE_FAIL - cable connected and authed, but charging was not started * HANDSHAKE_CANCELED - charging didn't start - user stopped charging from charger, car or mobile phone during the preparation for charging (user-driven stop) * INVALID_SESSION - cable not connected and not authed * ABRUPTLY_CANCELED - user stopped charging in less than 10 seconds after start * ABRUPT_STOP - charging ended in less than 10 seconds after start without user stopping it * INVALID_USER - remote system stopped charging as unauthorized

Enum: "ABRUPTLY_CANCELED" "ABRUPT_STOP" "HANDSHAKE_CANCELED" "HANDSHAKE_FAIL" "INVALID_SESSION" "INVALID_USER" "LOW_POWER" "NOT_IDENTIFIED" "NOT_PLUGGED_IN" "OK"
timeLimitMs
number

was the transaction time limited to something

timeToBulk
number

How many seconds until battery capacity reaches xx% of the total (xx usually 80), or undefined if not known

timeToFull
number

How many seconds until battery is full, or undefined if not known

totalCostCents
number

Can't be greater than maxCostCents

triggerReason
string
txId
string

Unique transaction id.

updateTime
string

Actual date when changes were made to the transaction

object (Vehicle)
voltage
number
waitingForPaymentReservation
boolean
401

Unauthorized - Authorization: Bearer header is missing, invalid, expired, or user has no permission

Request samples
Response samples
application/json
{
  • "summary": {
    },
  • "transactions": [
    ]
}

List Transactions

get/transactions

Returns an array of latest transactions occuring across all charging stations, with optional filtering. Each object in the response contains transaction details including the ID, status, associated timestamps, charged energy amounts, and other such information.

SecuritybearerAuth
Request
query Parameters
endDate
string

Filter for transactions with (startTime) before the provided endDate, TZ in UTC. Date/datetime in ISO 8601 format. Either the date (2023-05-12) or the date and time (2023-05-12T15:37:00.000Z)

Example: endDate=2023-05-12T15:37:00.000Z
exclusiveStartKey
string

Specifies the starting point for the next set of results when paginating, and it's only needed if lastEvaluatedKey is provided to indicate there were more results to fetch.

filterAuthorization
string

Transactions idToken must contain the substring filterAuthorization

Example: filterAuthorization=B0717C94
filterAuthorizationMethod
string

The auhorization method for the transaction. One of "EMV" | "EVMAC" | "IMPLICIT" | "REMOTE_AUTH" | "RFID_TOKEN"

Example: filterAuthorizationMethod=EMV
filterChargedEnergy
string

chargedEnergyKwh, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterChargedEnergy=30-90

Example: filterChargedEnergy=<50
filterConnector
string

evseId or evseName must contain the substring filterConnector

Example: filterConnector=1234 C
filterDuration
string

totalDuration or duration of the session in SECONDS, Number or RangeFilter can be used such as: >, >=, <, <=.
Example: filterDuration=<8000

Example: filterDuration=>10000
filterEndTime
string

endTime of the transaction, Date or DateRangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterEndTime=<=2024-07-16T00:00:00.000Z

Example: filterEndTime=2024-07-16T15:37:00.000Z
filterEvId
string

Filter for transactions of a specific vehicle by its id

filterEvMac
string

Vehicle's MAC or EvMac address must contain the substring filterEvMac

Example: filterEvMac=04:E7:7E:00:F0:FA
filterEvName
string

identified evName or name given by the user must contain substring filterEvName
Example: filterEvName=Unidentified EV

Example: filterEvName=Taycan
filterLocation
string

LocationName/LocationCode

Example: filterLocation=Stormarked
filterPeakPower
string

maxPowerKw, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterPeakPower=60

Example: filterPeakPower=>=50
filterSocEnd
string

state-of-charge at the end of charging session, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterSocEnd=>50

Example: filterSocEnd=70-90
filterSocStart
string

state-of-charge at the start of charging session, Number or RangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterSocStart=<=50

Example: filterSocStart=>20
filterStartTime
string

startTime of the transaction, Date or DateRangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterStartTime=>=2024-07-15T00:00:00.000Z

Example: filterStartTime=2024-07-16T15:37:00.000Z
filterStation
string

EVStationName/StationCode

Example: filterStation=K00123456
filterStatus
string

Filter by charging status, can be used with negation operator for e.g. (filterStatus=!Ended), to retrieve transactions that have not ended.
Example: filterStatus=PluggedInIdle

Example: filterStatus=Charging
filterUpdateTime
string

updateTime of the transaction, Date or DateRangeFilter can be used such as: >, >=, <, <=, or -.
Example: filterUpdateTime=2024-07-15T00:00:00.000Z-2024-07-16T00:00:00.000Z

Example: filterUpdateTime=2024-07-16T15:37:00.000Z
limit
number

Limit the number of records

Example: limit=100
returnAll
boolean

Retrieve all transactions for the specified filters, ignoring the limit parameter.

startDate
string

Filter for transactions with (updateTime) after the provided startDate, TZ in UTC. Date/datetime in ISO 8601 format. Either the date (2023-05-12) or the date and time (2023-05-12T15:37:00.000Z)

Example: startDate=2023-05-10
Responses
200

OK

Response Schema: application/json
object
property name*
additional property
any
required
object (TransactionsSummary)
chargedEnergyKwh
required
number
chargingTimeMs
required
number
count
required
number
occupiedTimeMs
required
number
required
Array of objects (Transaction)
Array
activeStartTime
string or null

The time when session became active (authenticated and cable is connected)

string or number
ambientTemp
number

Ambient temperature at the start of the transaction in Celsius

authenticated
boolean

True if user had authenticated at any point (be it in free mode, or auth accepted for rfid/remote)

authorizationMethod
string

Method of authorization

Enum: "EMV" "EVMAC" "IMPLICIT" "REMOTE_AUTH" "RFID_TOKEN"
authorizationReference
string or null

Reference to the authorization given by the eMSP, when given, this reference will be provided in the relevant Session and/or CDR.

Passed in by external party in OCPI command (StartSession).

authorizationStartTime
string

Timestamp (best guess) when authorization was performed

avgPowerKw
number
cableConnected
boolean

True if cable has been connected to EV at any point of this session. May be inaccurate for CHAdeMO.

cableConnectedTime
string

Timestamp (best guess) when cable was connected.

chargedEnergyKwh
required
number

Energy charged into the vehicle

chargingDurationMs
number

how long the vehicle was charged (Updated at the end of the session)

chargingEndAlarms
Array of strings
chargingEndReason
string

why charging ended

chargingEndTime
string or null
object (ChargingForecast)
object (ChargingForecast)
chargingForecastV3Model
string

Name of charge time forecast version 3 model file

chargingStartReason
string

why charging started

chargingStartTime
string or null
contractId
string

Uniquely identifies the EV Driver contract token within the eMSP’s platform (and suboperator platforms). Recommended to follow the specification for eMA ID from "eMI3 standard version V1.0" (http://emi3group.com/documents-links/) "Part 2: business objects."

Passed in by external party in OCPI command (StartSession).

current
number
currentReservation
number

How much current is reserved by the charger in Amperes

eMeterId
string

ID of the energy meter

emvDeviceType
string

Type of the EMV (Europay, MasterCard, Visa) Device. Only set if there is EMV present

Value: "PAYTER"
endReason
string
endReasonDescription
string
endTime
string

Transaction end time.

energyLimitKwh
number
energyMeterStartWh
number

The charging station's cumulative energy meter counter when the transaction started. Relevant only for transactions from OCPP1.6J. This is 0 for OCPP2 and OCPI transactions.

energyMeterStopWh
number

The charging station's cumulative energy meter counter when the transaction stopped. Relevant only for transactions from OCPP1.6J. This equals chargedEnergyKwh for OCPP2 and OCPI transactions.

energyMeterWh
number

Latest value of the charging station's cumulative energy meter counter when the transaction started. Relevant only for transactions from OCPP1.6J. This equals chargedEnergyKwh for OCPP2 and OCPI transactions.

Array of objects (EnergyOfferPeriod)

List of Energy Offer Periods

object (EvClusterDetails_1)
evCommunicationStandard
string

High level communication standard. ISO1 = ISO 15118, DIN = DIN 70121

Enum: "DIN" "ISO1" "ISODIS"
evErrorCode
string

Error code reported by EV

object
evMacAddress
string

mac address of the electronic vehicle

Example: "04:E7:7E:00:F0:FA"
evMaximumCurrent
number

Maximum current EV can take.

evMaximumPower
number

Maximum power EV can take.

evMaximumVoltage
number

Maximum voltage EV can take.

evRunId
string

run id of the electronic vehicle

Example: "04:E7:7E:00:F0:FA:00:00"
evseId
required
string

EVSE number that this transaction belongs to.

evseMaxPowerKw
number

Max output power of the evse

evseMaxPowerKwWithoutDynamicLimit
number

Maximum power in kilowatts that this connector could output if grid limit was not imposed

evseMaxPowerKwWithoutDynamicLimitActual
number

Maximum power in kilowatts that this connector could output if grid limit was not imposed (unrounded figure)

evseMaxPowerkWActual
number

Maximum power in kilowatts that this connector could output (unrounded figure)

evseMaxPowerkWPresent
number

Maximum power in kilowatts, effectively, that this connector can output for new sessions (with regards to the current charger usage with dynamics)

evseMaxPowerkWPresentActual
number

Maximum power in kilowatts, effectively, that this connector can output for new sessions (with regards to the current charger usage with dynamics) (unrounded figure)

evseName
string
evseType
string (EVSEType)
Enum: "AC" "CCS" "CHAdeMO" "Type2" "oppcharge"
object (IdTokenType)
object (LCSystemTransactionData)

Liquid cooling system data for a transaction.

locationId
string
locationUid
string
maxCostCents
number

Session max cost in cents / reserved amount of cents. Cent = one-hundredth of the used main curency, example 1 cent = 1 penny for £ and 1 cent = 1 cenfor €

maxPowerKw
number
ocpiConnectionProfileId
string or null

ocpiConnectionProfileId If found, send session data to party related to this ocpi connection.

parentId
string
paymentCurrency
string

ISO-4217 code of the currency used

Example: "GBP"
object (PaymentDetails)

Information about the payment details related to the transaction.

paymentReference
number

Payment reference number as decided by the Charger.

string or number

Unique ID for this payment session, as generated by the EMV terminal

paymentState
string

State of the payment

  • COMMITTED- The payment was committed
  • CANCELLED- The payment was cancelled
  • VOIDED- The payment was voided
Enum: "CANCELLED" "COMMITTED" "VOIDED"
pin1temp
number

Temperature of negative pin of the EVSE in Celsius

pin2temp
number

Temperature of positive pin of the EVSE in Celsius

power
number

Current power watts

powerKw
number

Power kilowatt present, max, avg

powerLimitation
string (PowerLimitation)

One of:

  • Charger limits - Maximum charging power - Vehicle is charged with the full power of the charger.
  • Vehicle limits - Charging power limited by the vehicle - Your vehicle is accepting charging power below the charger capabilities.
  • Grid limits - Charging power limited by the electrical grid
  • Shared - Charging power is shared with another vehicle(s)
  • Queue - Charging is queued
Enum: "Charger" "Grid" "Queue" "Shared" "Vehicle"
remoteStartId
number
remoteTransactionId
number
object (TxSchedulePlanInfo)

Information about a scheduled charging in relation to this transaction

sequenceNumber
number

Sequence number to help indentify newest transaction update

sessionDurationMs
number

how long the session was in total (Updated at the end of the session)

object (SignedMeterValueType)
simulated
boolean
soc
number

Current SoC

socEnd
number

State of Charge at the end of the transaction

socLimit
number

was the transaction soc limited to something

socStart
number

State of Charge at the beginning of the transaction

sourceConnectionType
string
Enum: "ocpi" "ocpp"
startReason
string
startTime
required
string

Transaction start time.

startTransactionTime
string

Timestamp of StartTransaction or TransactionEvent eventType=Started OCPP message - may be different from ChargEye session startTime

stationId
string
status
required
string (TransactionStatus)
Enum: "Alarm" "AuthorizedNotPluggedIn" "Charging" "Ended" "InsulationTest" "PluggedInIdle" "Unknown"
stopTransactionTime
string

Timestamp of StopTransaction or TransactionEvent eventType=Ended OCPP message - may be different from ChargEye session endTime

targetCurrent
number

Current voltage target.

NOTE: During charging this is not the actual voltage supplied to the battery but the voltage that will eventually be reached once the battery is full.

targetVoltage
number

Maximum voltage EV can take.

technicalFailClassification
string (TechnicalFailClassification)

One of: * OK - normal successful charging * LOW_POWER - charging is normal, but charging power is very low (<= 1kW) for some reason - indications of a charging problem * NOT_IDENTIFIED - cable connected, but not authed * NOT_PLUGGED_IN - authed, but cable not connected * HANDSHAKE_FAIL - cable connected and authed, but charging was not started * HANDSHAKE_CANCELED - charging didn't start - user stopped charging from charger, car or mobile phone during the preparation for charging (user-driven stop) * INVALID_SESSION - cable not connected and not authed * ABRUPTLY_CANCELED - user stopped charging in less than 10 seconds after start * ABRUPT_STOP - charging ended in less than 10 seconds after start without user stopping it * INVALID_USER - remote system stopped charging as unauthorized

Enum: "ABRUPTLY_CANCELED" "ABRUPT_STOP" "HANDSHAKE_CANCELED" "HANDSHAKE_FAIL" "INVALID_SESSION" "INVALID_USER" "LOW_POWER" "NOT_IDENTIFIED" "NOT_PLUGGED_IN" "OK"
timeLimitMs
number

was the transaction time limited to something

timeToBulk
number

How many seconds until battery capacity reaches xx% of the total (xx usually 80), or undefined if not known

timeToFull
number

How many seconds until battery is full, or undefined if not known

totalCostCents
number

Can't be greater than maxCostCents

triggerReason
string
txId
string

Unique transaction id.

updateTime
string

Actual date when changes were made to the transaction

object (Vehicle)
voltage
number
waitingForPaymentReservation
boolean
401

Unauthorized - Authorization: Bearer header is missing, invalid, expired, or user has no permission

Request samples
Response samples
application/json
{
  • "summary": {
    },
  • "transactions": [
    ]
}

Get a Transaction

get/transactions/{txId}

Get a single transaction using its id. Transaction contains details including the ID, status, associated timestamps, charged energy amounts, and other such information.

SecuritybearerAuth
Request
path Parameters
txId
required
string
Responses
200

OK

Response Schema: application/json
required
object (Transaction)
activeStartTime
string or null

The time when session became active (authenticated and cable is connected)

string or number
ambientTemp
number

Ambient temperature at the start of the transaction in Celsius

authenticated
boolean

True if user had authenticated at any point (be it in free mode, or auth accepted for rfid/remote)

authorizationMethod
string

Method of authorization

Enum: "EMV" "EVMAC" "IMPLICIT" "REMOTE_AUTH" "RFID_TOKEN"
authorizationReference
string or null

Reference to the authorization given by the eMSP, when given, this reference will be provided in the relevant Session and/or CDR.

Passed in by external party in OCPI command (StartSession).

authorizationStartTime
string

Timestamp (best guess) when authorization was performed

avgPowerKw
number
cableConnected
boolean

True if cable has been connected to EV at any point of this session. May be inaccurate for CHAdeMO.

cableConnectedTime
string

Timestamp (best guess) when cable was connected.

chargedEnergyKwh
required
number

Energy charged into the vehicle

chargingDurationMs
number

how long the vehicle was charged (Updated at the end of the session)

chargingEndAlarms
Array of strings
chargingEndReason
string

why charging ended

chargingEndTime
string or null
object (ChargingForecast)
object (ChargingForecast)
chargingForecastV3Model
string

Name of charge time forecast version 3 model file

chargingStartReason
string

why charging started

chargingStartTime
string or null
contractId
string

Uniquely identifies the EV Driver contract token within the eMSP’s platform (and suboperator platforms). Recommended to follow the specification for eMA ID from "eMI3 standard version V1.0" (http://emi3group.com/documents-links/) "Part 2: business objects."

Passed in by external party in OCPI command (StartSession).

current
number
currentReservation
number

How much current is reserved by the charger in Amperes

eMeterId
string

ID of the energy meter

emvDeviceType
string

Type of the EMV (Europay, MasterCard, Visa) Device. Only set if there is EMV present

Value: "PAYTER"
endReason
string
endReasonDescription
string
endTime
string

Transaction end time.

energyLimitKwh
number
energyMeterStartWh
number

The charging station's cumulative energy meter counter when the transaction started. Relevant only for transactions from OCPP1.6J. This is 0 for OCPP2 and OCPI transactions.

energyMeterStopWh
number

The charging station's cumulative energy meter counter when the transaction stopped. Relevant only for transactions from OCPP1.6J. This equals chargedEnergyKwh for OCPP2 and OCPI transactions.

energyMeterWh
number

Latest value of the charging station's cumulative energy meter counter when the transaction started. Relevant only for transactions from OCPP1.6J. This equals chargedEnergyKwh for OCPP2 and OCPI transactions.

Array of objects (EnergyOfferPeriod)

List of Energy Offer Periods

object (EvClusterDetails_1)
evCommunicationStandard
string

High level communication standard. ISO1 = ISO 15118, DIN = DIN 70121

Enum: "DIN" "ISO1" "ISODIS"
evErrorCode
string

Error code reported by EV

object
evMacAddress
string

mac address of the electronic vehicle

Example: "04:E7:7E:00:F0:FA"
evMaximumCurrent
number

Maximum current EV can take.

evMaximumPower
number

Maximum power EV can take.

evMaximumVoltage
number

Maximum voltage EV can take.

evRunId
string

run id of the electronic vehicle

Example: "04:E7:7E:00:F0:FA:00:00"
evseId
required
string

EVSE number that this transaction belongs to.

evseMaxPowerKw
number

Max output power of the evse

evseMaxPowerKwWithoutDynamicLimit
number

Maximum power in kilowatts that this connector could output if grid limit was not imposed

evseMaxPowerKwWithoutDynamicLimitActual
number

Maximum power in kilowatts that this connector could output if grid limit was not imposed (unrounded figure)

evseMaxPowerkWActual
number

Maximum power in kilowatts that this connector could output (unrounded figure)

evseMaxPowerkWPresent
number

Maximum power in kilowatts, effectively, that this connector can output for new sessions (with regards to the current charger usage with dynamics)

evseMaxPowerkWPresentActual
number

Maximum power in kilowatts, effectively, that this connector can output for new sessions (with regards to the current charger usage with dynamics) (unrounded figure)

evseName
string
evseType
string (EVSEType)
Enum: "AC" "CCS" "CHAdeMO" "Type2" "oppcharge"
object (IdTokenType)
object (LCSystemTransactionData)

Liquid cooling system data for a transaction.

locationId
string
locationUid
string
maxCostCents
number

Session max cost in cents / reserved amount of cents. Cent = one-hundredth of the used main curency, example 1 cent = 1 penny for £ and 1 cent = 1 cenfor €

maxPowerKw
number
ocpiConnectionProfileId
string or null

ocpiConnectionProfileId If found, send session data to party related to this ocpi connection.

parentId
string
paymentCurrency
string

ISO-4217 code of the currency used

Example: "GBP"
object (PaymentDetails)

Information about the payment details related to the transaction.

paymentReference
number

Payment reference number as decided by the Charger.

string or number

Unique ID for this payment session, as generated by the EMV terminal

paymentState
string

State of the payment

  • COMMITTED- The payment was committed
  • CANCELLED- The payment was cancelled
  • VOIDED- The payment was voided
Enum: "CANCELLED" "COMMITTED" "VOIDED"
pin1temp
number

Temperature of negative pin of the EVSE in Celsius

pin2temp
number

Temperature of positive pin of the EVSE in Celsius

power
number

Current power watts

powerKw
number

Power kilowatt present, max, avg

powerLimitation
string (PowerLimitation)

One of:

  • Charger limits - Maximum charging power - Vehicle is charged with the full power of the charger.
  • Vehicle limits - Charging power limited by the vehicle - Your vehicle is accepting charging power below the charger capabilities.
  • Grid limits - Charging power limited by the electrical grid
  • Shared - Charging power is shared with another vehicle(s)
  • Queue - Charging is queued
Enum: "Charger" "Grid" "Queue" "Shared" "Vehicle"
remoteStartId
number
remoteTransactionId
number
object (TxSchedulePlanInfo)

Information about a scheduled charging in relation to this transaction

sequenceNumber
number

Sequence number to help indentify newest transaction update

sessionDurationMs
number

how long the session was in total (Updated at the end of the session)

object (SignedMeterValueType)
simulated
boolean
soc
number

Current SoC

socEnd
number

State of Charge at the end of the transaction

socLimit
number

was the transaction soc limited to something

socStart
number

State of Charge at the beginning of the transaction

sourceConnectionType
string
Enum: "ocpi" "ocpp"
startReason
string
startTime
required
string

Transaction start time.

startTransactionTime
string

Timestamp of StartTransaction or TransactionEvent eventType=Started OCPP message - may be different from ChargEye session startTime

stationId
string
status
required
string (TransactionStatus)
Enum: "Alarm" "AuthorizedNotPluggedIn" "Charging" "Ended" "InsulationTest" "PluggedInIdle" "Unknown"
stopTransactionTime
string

Timestamp of StopTransaction or TransactionEvent eventType=Ended OCPP message - may be different from ChargEye session endTime

targetCurrent
number

Current voltage target.

NOTE: During charging this is not the actual voltage supplied to the battery but the voltage that will eventually be reached once the battery is full.

targetVoltage
number

Maximum voltage EV can take.

technicalFailClassification
string (TechnicalFailClassification)

One of: * OK - normal successful charging * LOW_POWER - charging is normal, but charging power is very low (<= 1kW) for some reason - indications of a charging problem * NOT_IDENTIFIED - cable connected, but not authed * NOT_PLUGGED_IN - authed, but cable not connected * HANDSHAKE_FAIL - cable connected and authed, but charging was not started * HANDSHAKE_CANCELED - charging didn't start - user stopped charging from charger, car or mobile phone during the preparation for charging (user-driven stop) * INVALID_SESSION - cable not connected and not authed * ABRUPTLY_CANCELED - user stopped charging in less than 10 seconds after start * ABRUPT_STOP - charging ended in less than 10 seconds after start without user stopping it * INVALID_USER - remote system stopped charging as unauthorized

Enum: "ABRUPTLY_CANCELED" "ABRUPT_STOP" "HANDSHAKE_CANCELED" "HANDSHAKE_FAIL" "INVALID_SESSION" "INVALID_USER" "LOW_POWER" "NOT_IDENTIFIED" "NOT_PLUGGED_IN" "OK"
timeLimitMs
number

was the transaction time limited to something

timeToBulk
number

How many seconds until battery capacity reaches xx% of the total (xx usually 80), or undefined if not known

timeToFull
number

How many seconds until battery is full, or undefined if not known

totalCostCents
number

Can't be greater than maxCostCents

triggerReason
string
txId
string

Unique transaction id.

updateTime
string

Actual date when changes were made to the transaction

object (Vehicle)
voltage
number
waitingForPaymentReservation
boolean
401

Unauthorized - Authorization: Bearer header is missing, invalid, expired, or user has no permission

Request samples
Response samples
application/json
{
  • "transaction": {
    }
}

Charging Sessions

Get latest transactions for list of charging stations

post/chargingStations/transactions

Get latest transactions for list of charging stations

SecuritybearerAuth
Request
Request Body schema: application/json
required
stationIds
required
Array of strings
Responses
200

OK

Response Schema: application/json
additional property
Array of objects (TxInfo)
Array
authorizationToken
string
chargedEnergyKwh
number
chargingEndReason
string (EndReason)
Enum: "ChargingStateChanged" "DeAuthorized" "EVDisconnected" "EmergencyStop" "GroundFault" "ImmediateReset" "Local" "LocalOutOfCredit" "Other" "OvercurrentFault" "PowerLoss" "Remote" "SOCLimitReached" "StoppedByEV" "TimeLimitReached" "Timeout" "UnlockCommand"
chargingEndTime
string
chargingStartReason
string (StartReason)
Enum: "Authorized" "CablePluggedIn" "ChargingStateChanged" "EVPresenceDetected" "Local" "RemoteStart" "UserStartButtonPressed"
chargingStartTime
string
connectorId
string
connectorName
string
connectorType
string (EVSEType)
Enum: "AC" "CCS" "CHAdeMO" "Type2" "oppcharge"
endReason
string (EndReason)
Enum: "ChargingStateChanged" "DeAuthorized" "EVDisconnected" "EmergencyStop" "GroundFault" "ImmediateReset" "Local" "LocalOutOfCredit" "Other" "OvercurrentFault" "PowerLoss" "Remote" "SOCLimitReached" "StoppedByEV" "TimeLimitReached" "Timeout" "UnlockCommand"
endTime
string
energyLimitKwh
number
string or number
powerKw
number
powerKwAvg
number
powerKwMax
number
soc
number
socInitial
number
socLimit
number
startReason
string (StartReason)
Enum: "Authorized" "CablePluggedIn" "ChargingStateChanged" "EVPresenceDetected" "Local" "RemoteStart" "UserStartButtonPressed"
startTime
string
status
string (TransactionStatus)
Enum: "Alarm" "AuthorizedNotPluggedIn" "Charging" "Ended" "InsulationTest" "PluggedInIdle" "Unknown"
timeLimitMs
number
triggerReason
required
string (TransactionStatusUpdateTriggerReason)
Enum: "Authorized" "CablePluggedIn" "ChargingRateChanged" "ChargingStateChanged" "Deauthorized" "EVCommunicationLost" "EVConnectTimeout" "EVDeparted" "EVDetected" "EnergyLimitReached" "MeterValueClock" "MeterValuePeriodic" "RemoteStart" "RemoteStop" "StopAuthorized" "TimeLimitReached" "Trigger" "UnlockCommand"
txId
string
401

Unauthorized - Authorization: Bearer header is missing, invalid, expired, or user has no permission

Request samples
application/json
{
  • "stationIds": [
    ]
}
Response samples
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}