Charges
Retrieve a list of charges
Required scope: charge-transactions:read
Organization authorization: supported
Pagination Limit: A maximum of 20,000 charges can be retrieved. To retrieve more data, use more specific filters, like date range filters such as fromDate, toDate, fromUpdatedDate, fromCompletedDate, or toCompletedDate.
Concurrency Limit: Only a small number of charge list requests may be in flight per consumer at a time. Further requests are rejected with 429 and errorCode CONCURRENCY_LIMIT_EXCEEDED; wait for a page to complete before requesting the next one.
query Parameters
pagepage number to retrieve (starts with 0)
perPagenumber of items per page (between 1 and 100, default 10)
teamIdFilter to retrieve charges with specified teamId
Note: Depending on the operatorRole the teamId will filter differently:
operatorRole = owner: will filter charges from charge points that are owned by the team
operatorRole = payer: will filter charges paid by team
operatorIdFilter to retrieve charges with specified operatorId
*Note:*The operatorId must be in the consumer’s operatorIds or, if empty, belong to the organization’s sub-operators.
Note: When not provided and operatorRole = payer the default operator will be used for the given consumer, if the default operator cannot be assigned the request will be rejected
chargePointIdFilter to retrieve charges with specified chargePointId
siteIdFilter to retrieve charges with specified siteId
stateFilter to retrieve charges by state
fromDateFilter to retrieve charges where createdAt >= fromDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
toDateFilter to retrieve charges where createdAt <= toDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
fromUpdatedDateFilter to retrieve charges where updatedAt >= fromUpdatedDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
fromCompletedDateFilter to retrieve charges where completedAt >= fromCompletedDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
toCompletedDateFilter to retrieve charges where completedAt <= toCompletedDate (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
chargeAuthTypeFilter to retrieve charges by the charge authentication type, must be combined with chargeAuthId
chargeAuthIdFilter to retrieve charges by the charge authentication id, must be combined with chargeAuthType
Note: for type vehicleId chargeAuthId must not include the VID: prefix
partnerExternalIdFilter charges by partnerExternalId, to filter only resources without partnerExternalId use partnerExternalId=""
operatorRoleFilter to indicate the desired role to list charges
e.g owner will always deliver charges from the operator charge points
payer will deliver charges paid by the operator
Retrieve a list of charges › Responses
List of charges that match the criteria
Start a charge
Required scope: control-charging:write and/or control-public-charging:write
Organization authorization: supported
Start a charge › Request Body
payingTeamIdThe id of the team that will be paying for the charge.
chargePointIdId of the charge point used for this charge
reserveChargeCode
kwhLimitThe charge kWh limit, meaning the charge will stop once the limit kWh is reached.
Note: kwhLimit can be set in parallel with socLimit, in this case the first limit to hit will stop the charge
socLimitThe charge SoC limit, meaning the charge will stop once the limit SoC % is reached.
Note: socLimit can be set in parallel with kwhLimit, in this case the first limit to hit will stop the charge
priceLimitThe charge price limit, meaning the charge will stop once the price limit is reached.
Note: priceLimit will be in the currency of the charge point.
priceGroupIdAllows you to enforce a specific price group for this charge.
Note: The price group must be of type team or charge-point.
For Partners who want to start charging from payment terminals, kiosks etc. Used to link charge transaction against your billing and to allow users retrieving receipts via receipt.monta.com by using date and genericPaymentSession.externalIdor genericPaymentSession.cardLast4.
partnerExternalIdExternal Id of this entity, managed by you.
Note: How this field is used is up to the partner, but we highly recommend using a unique partnerExternalId for each charge.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.
Start a charge › Responses
Charge successfully started
humanReadableIdThe human readable id for this charge
User that performed the charge
typeType of the charge
The public information about the charge point related to this charge
createdAtCreation date
updatedAtUpdate date
stateState of the charge. This is a normalized enum value for consistent processing across different charge point types
rawStateThe original charge state value from the charge point before any mapping. While state provides normalized values for consistency, rawState preserves the exact state reported by the charge point. Use this when you need fine-grained state information or want to distinguish between similar states. This field may contain values not present in the 'state' enum as new charge point states are introduced.
List of consumed kWh split by hour (1 hour buckets)
List of consumed kWh split by maximum available resolution (ie. 15min buckets)
emaidProviderIdThe first 5 characters of an EMAID, which is the provider id.
The protocol data for this charge, e.g. OICP or OCPI related data.
idId of the charge
Team that performed the charge, if part of the charge points' team
chargePointIdId of the charge point related to this charge
sponsoredChargePointIdId of the sponsored charge point related to this charge
priceGroupIdId of the price group related to this charge. Note: The underlying price/costGroup models can change and you have to use other fields to get the historic data (costBreakdown, priceBreakdown, price)
costPriceGroupIdId of the cost price group related to this charge
memberCostPriceGroupIdId of the member cost price group related to this charge
siteIdId of the site in which the charge point that performed this charge is
promotionCodeIdId of the promotion code related to this charge
What the charge's promotion code covered, resolved when the charge completed. Null when no promotion code covered any part of this charge.
cablePluggedInAtDate when cable was plugged in
startedAtDate when charge started
stoppedAtDate when charge stopped
fullyChargedAtWhen the EV stopped drawing energy (last transition to suspended-by-EV). Cleared if charging resumes; kept on completed charges.
releasedAtDate indicating when the cable was released.
Note: This value is meaningful only if the charge point properly supports Release Detection.
failedAtDate when charge failed
timeoutAtDate when charge timed out
completedAtDate when charge was considered completed
startSourceIndicates the starting source for this charge, e.g app-ios, app-android
Note: This is an ever-growing list, new values might be added. Please make sure to implement appropriate fallbacks
consumedKwhConsumed Kwh
kwhLimitConfigured Kwh limit for this charge
startMeterKwhKwh of the meter before charging started
endMeterKwhKwh of the meter after charging stopped
pricePrice for this charge
priceLimitConfigured price limit for this charge
costCost incurred for this charge
averagePricePerKwhAverage price per Kwh
averageCo2PerKwhAverage CO2 consumption per Kwh. Null when it cannot be determined
averageRenewablePerKwhAverage percentage of renewable energy per Kwh
failureReasonFailure reason for this charge
stopReasonReason why this charge stopped
paymentMethodPayment method for this charge
noteA note taken for this charge
Currency used for payment.
Team who paid for this charge
Team who sponsored this charge
Operator this of this charge
The object used to authenticate a charge
Information about the state of charge if available
socStartState of charge at the start of the session, if available
socLimitConfigured SoC limit for this charge
Generic payment session for this charge. If provided, the charge was paid with this payment session.
partnerExternalIdExternal Id of this entity, managed by you. We recommend to fill this always with a unique identifier from your side,since it allows you to find a started charge later, even if this requests'response was not captured by you or something went wrong.
smartChargeIdThe smart charge id for this charge, if applicable. Note: If not null, this indicates the charge was a smart charge.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
chargePointKwThe charge point KW recorded during the charge.
The signed data of the charge.
vehicleIdThe vehicle id for this charge, vehicle details can be fetched from the vehicle API
vidThe VID recorded for this charge, if reported by the charge point.
Estimated CO2 impact of this charge. Null until the charge has drawn energy.
Detailed breakdown of the costs by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Detailed breakdown of the prices by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Retrieve a single charge
Required scope: charge-transactions:read
Organization authorization: supported
path Parameters
chargeIdRetrieve a single charge › Responses
Charge with provided id
humanReadableIdThe human readable id for this charge
User that performed the charge
typeType of the charge
The public information about the charge point related to this charge
createdAtCreation date
updatedAtUpdate date
stateState of the charge. This is a normalized enum value for consistent processing across different charge point types
rawStateThe original charge state value from the charge point before any mapping. While state provides normalized values for consistency, rawState preserves the exact state reported by the charge point. Use this when you need fine-grained state information or want to distinguish between similar states. This field may contain values not present in the 'state' enum as new charge point states are introduced.
List of consumed kWh split by hour (1 hour buckets)
List of consumed kWh split by maximum available resolution (ie. 15min buckets)
emaidProviderIdThe first 5 characters of an EMAID, which is the provider id.
The protocol data for this charge, e.g. OICP or OCPI related data.
idId of the charge
Team that performed the charge, if part of the charge points' team
chargePointIdId of the charge point related to this charge
sponsoredChargePointIdId of the sponsored charge point related to this charge
priceGroupIdId of the price group related to this charge. Note: The underlying price/costGroup models can change and you have to use other fields to get the historic data (costBreakdown, priceBreakdown, price)
costPriceGroupIdId of the cost price group related to this charge
memberCostPriceGroupIdId of the member cost price group related to this charge
siteIdId of the site in which the charge point that performed this charge is
promotionCodeIdId of the promotion code related to this charge
What the charge's promotion code covered, resolved when the charge completed. Null when no promotion code covered any part of this charge.
cablePluggedInAtDate when cable was plugged in
startedAtDate when charge started
stoppedAtDate when charge stopped
fullyChargedAtWhen the EV stopped drawing energy (last transition to suspended-by-EV). Cleared if charging resumes; kept on completed charges.
releasedAtDate indicating when the cable was released.
Note: This value is meaningful only if the charge point properly supports Release Detection.
failedAtDate when charge failed
timeoutAtDate when charge timed out
completedAtDate when charge was considered completed
startSourceIndicates the starting source for this charge, e.g app-ios, app-android
Note: This is an ever-growing list, new values might be added. Please make sure to implement appropriate fallbacks
consumedKwhConsumed Kwh
kwhLimitConfigured Kwh limit for this charge
startMeterKwhKwh of the meter before charging started
endMeterKwhKwh of the meter after charging stopped
pricePrice for this charge
priceLimitConfigured price limit for this charge
costCost incurred for this charge
averagePricePerKwhAverage price per Kwh
averageCo2PerKwhAverage CO2 consumption per Kwh. Null when it cannot be determined
averageRenewablePerKwhAverage percentage of renewable energy per Kwh
failureReasonFailure reason for this charge
stopReasonReason why this charge stopped
paymentMethodPayment method for this charge
noteA note taken for this charge
Currency used for payment.
Team who paid for this charge
Team who sponsored this charge
Operator this of this charge
The object used to authenticate a charge
Information about the state of charge if available
socStartState of charge at the start of the session, if available
socLimitConfigured SoC limit for this charge
Generic payment session for this charge. If provided, the charge was paid with this payment session.
partnerExternalIdExternal Id of this entity, managed by you. We recommend to fill this always with a unique identifier from your side,since it allows you to find a started charge later, even if this requests'response was not captured by you or something went wrong.
smartChargeIdThe smart charge id for this charge, if applicable. Note: If not null, this indicates the charge was a smart charge.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
chargePointKwThe charge point KW recorded during the charge.
The signed data of the charge.
vehicleIdThe vehicle id for this charge, vehicle details can be fetched from the vehicle API
vidThe VID recorded for this charge, if reported by the charge point.
Estimated CO2 impact of this charge. Null until the charge has drawn energy.
Detailed breakdown of the costs by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Detailed breakdown of the prices by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Patch an existing charge
Required scope: charges:write
Organization authorization: supported
path Parameters
chargeIdPatch an existing charge › Request Body
For Partners who want to start charging from payment terminals, kiosks etc. Used to link charge transaction against your billing and to allow users retrieving receipts via receipt.monta.com by using date and genericPaymentSession.externalIdor genericPaymentSession.cardLast4.
Note: This field is optional, but if provided, you need to provide the full data, since it will be overwritten with values from this object.
partnerExternalIdExternal Id of this entity, managed by you.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys. The payload is limited to 1000 characters.
Patch an existing charge › Responses
Charge updated
humanReadableIdThe human readable id for this charge
User that performed the charge
typeType of the charge
The public information about the charge point related to this charge
createdAtCreation date
updatedAtUpdate date
stateState of the charge. This is a normalized enum value for consistent processing across different charge point types
rawStateThe original charge state value from the charge point before any mapping. While state provides normalized values for consistency, rawState preserves the exact state reported by the charge point. Use this when you need fine-grained state information or want to distinguish between similar states. This field may contain values not present in the 'state' enum as new charge point states are introduced.
List of consumed kWh split by hour (1 hour buckets)
List of consumed kWh split by maximum available resolution (ie. 15min buckets)
emaidProviderIdThe first 5 characters of an EMAID, which is the provider id.
The protocol data for this charge, e.g. OICP or OCPI related data.
idId of the charge
Team that performed the charge, if part of the charge points' team
chargePointIdId of the charge point related to this charge
sponsoredChargePointIdId of the sponsored charge point related to this charge
priceGroupIdId of the price group related to this charge. Note: The underlying price/costGroup models can change and you have to use other fields to get the historic data (costBreakdown, priceBreakdown, price)
costPriceGroupIdId of the cost price group related to this charge
memberCostPriceGroupIdId of the member cost price group related to this charge
siteIdId of the site in which the charge point that performed this charge is
promotionCodeIdId of the promotion code related to this charge
What the charge's promotion code covered, resolved when the charge completed. Null when no promotion code covered any part of this charge.
cablePluggedInAtDate when cable was plugged in
startedAtDate when charge started
stoppedAtDate when charge stopped
fullyChargedAtWhen the EV stopped drawing energy (last transition to suspended-by-EV). Cleared if charging resumes; kept on completed charges.
releasedAtDate indicating when the cable was released.
Note: This value is meaningful only if the charge point properly supports Release Detection.
failedAtDate when charge failed
timeoutAtDate when charge timed out
completedAtDate when charge was considered completed
startSourceIndicates the starting source for this charge, e.g app-ios, app-android
Note: This is an ever-growing list, new values might be added. Please make sure to implement appropriate fallbacks
consumedKwhConsumed Kwh
kwhLimitConfigured Kwh limit for this charge
startMeterKwhKwh of the meter before charging started
endMeterKwhKwh of the meter after charging stopped
pricePrice for this charge
priceLimitConfigured price limit for this charge
costCost incurred for this charge
averagePricePerKwhAverage price per Kwh
averageCo2PerKwhAverage CO2 consumption per Kwh. Null when it cannot be determined
averageRenewablePerKwhAverage percentage of renewable energy per Kwh
failureReasonFailure reason for this charge
stopReasonReason why this charge stopped
paymentMethodPayment method for this charge
noteA note taken for this charge
Currency used for payment.
Team who paid for this charge
Team who sponsored this charge
Operator this of this charge
The object used to authenticate a charge
Information about the state of charge if available
socStartState of charge at the start of the session, if available
socLimitConfigured SoC limit for this charge
Generic payment session for this charge. If provided, the charge was paid with this payment session.
partnerExternalIdExternal Id of this entity, managed by you. We recommend to fill this always with a unique identifier from your side,since it allows you to find a started charge later, even if this requests'response was not captured by you or something went wrong.
smartChargeIdThe smart charge id for this charge, if applicable. Note: If not null, this indicates the charge was a smart charge.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
chargePointKwThe charge point KW recorded during the charge.
The signed data of the charge.
vehicleIdThe vehicle id for this charge, vehicle details can be fetched from the vehicle API
vidThe VID recorded for this charge, if reported by the charge point.
Estimated CO2 impact of this charge. Null until the charge has drawn energy.
Detailed breakdown of the costs by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Detailed breakdown of the prices by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Retrieve a charge price and cost breakdown
Required scope: charges:readNote: Please be aware that this endpoint is currently in the BETA phase,calculations may return slightly varying results, and the payload can change.
path Parameters
chargeIdRetrieve a charge price and cost breakdown › Responses
Charge Breakdown for the given id
chargeIdThe charge id associated with this charge breakdown
The price breakdown, Includes information necessary to understand the composition of the final charge price
The cost breakdown is similar to the price breakdown but focuses on the costs incurred for the given charge
Retrieve a charge kwh consumption breakdown
Required scope: charges:read. Note: Only available for charges performed on a Monta-connected (via OCPP) charge point.
path Parameters
chargeIdquery Parameters
consumptionPeriodSizeInSecondsFilter to retrieve kwh consumption by a given consumptionPeriodSize interval in seconds
Retrieve a charge kwh consumption breakdown › Responses
Charge kwh consumption breakdown for the given id
chargeIdId of the charge
consumptionPeriodSizeInSecondsSpecifies the time interval, in seconds
Detailed breakdown of the kwh consumption in time interval of 5, 10, 15, 30 and 60 minutes
Note: Representation is in seconds, 3600 by default
Retrieve every odometer reading recorded for a charge
Required scope: charge-odometer:read
Organization authorization: supported
Readings are returned oldest first. This endpoint is not paginated: a charge holds a handful of readings at most, so the full set is always returned and no page or perPage parameter is accepted.
path Parameters
chargeIdRetrieve every odometer reading recorded for a charge › Responses
Odometer readings for the given charge, oldest first
idId of the odometer reading
chargeIdId of the charge the reading belongs to
odometerKmOdometer reading in whole kilometres
readingAtWhen the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
sourceWhere the reading came from
sourceLabelHuman-readable label for source
capturePhasePoint in the charge lifecycle the reading was captured at. Readings you push are always manual.
confidenceHow trustworthy the value is: verified for a Monta vehicle integration, declared for anything a human or a partner reported
confidenceLabelHuman-readable label for confidence
editableTrue only for readings you pushed yourself. Readings from a vehicle integration, the driver app or the operator hub are another party's evidence and cannot be patched or deleted.
vehicleIdId of the vehicle the reading was taken from. Null when the charge has no vehicle assigned.
sourceRefYour own identifier for this reading, echoed back as you sent it
createdAtWhen the reading was recorded (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
Record an odometer reading for a charge
Required scope: charge-odometer:write
Organization authorization: supported
The reading is stored with source set to partner_api — provenance cannot be chosen by the caller. Readings are append-only evidence: implausible jumps and decreases are never rejected at write time, they are surfaced asynchronously as verification results. To correct history, record a new reading.
path Parameters
chargeIdRecord an odometer reading for a charge › Request Body
odometerKmOdometer reading in whole kilometres. Values outside 0-4000000 are rejected with 422.
readingAtWhen the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ). Defaults to the time of the request.
sourceRefYour own identifier for this reading, echoed back on reads. Maximum 128 characters.
Record an odometer reading for a charge › Responses
Odometer reading recorded
idId of the odometer reading
chargeIdId of the charge the reading belongs to
odometerKmOdometer reading in whole kilometres
readingAtWhen the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
sourceWhere the reading came from
sourceLabelHuman-readable label for source
capturePhasePoint in the charge lifecycle the reading was captured at. Readings you push are always manual.
confidenceHow trustworthy the value is: verified for a Monta vehicle integration, declared for anything a human or a partner reported
confidenceLabelHuman-readable label for confidence
editableTrue only for readings you pushed yourself. Readings from a vehicle integration, the driver app or the operator hub are another party's evidence and cannot be patched or deleted.
vehicleIdId of the vehicle the reading was taken from. Null when the charge has no vehicle assigned.
sourceRefYour own identifier for this reading, echoed back as you sent it
createdAtWhen the reading was recorded (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
Retrieve a single odometer reading
Required scope: charge-odometer:read
Organization authorization: supported
path Parameters
chargeIdreadingIdRetrieve a single odometer reading › Responses
The odometer reading
idId of the odometer reading
chargeIdId of the charge the reading belongs to
odometerKmOdometer reading in whole kilometres
readingAtWhen the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
sourceWhere the reading came from
sourceLabelHuman-readable label for source
capturePhasePoint in the charge lifecycle the reading was captured at. Readings you push are always manual.
confidenceHow trustworthy the value is: verified for a Monta vehicle integration, declared for anything a human or a partner reported
confidenceLabelHuman-readable label for confidence
editableTrue only for readings you pushed yourself. Readings from a vehicle integration, the driver app or the operator hub are another party's evidence and cannot be patched or deleted.
vehicleIdId of the vehicle the reading was taken from. Null when the charge has no vehicle assigned.
sourceRefYour own identifier for this reading, echoed back as you sent it
createdAtWhen the reading was recorded (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
Correct an odometer reading you recorded
Required scope: charge-odometer:write
Organization authorization: supported
Only readings with source partner_api can be corrected; readings from a vehicle integration, the driver app or the operator hub are another party's evidence and are rejected with 403. Omitted fields are left untouched, so sourceRef can be overwritten but not cleared — record a new reading instead.
path Parameters
chargeIdreadingIdCorrect an odometer reading you recorded › Request Body
odometerKmCorrected odometer reading in whole kilometres. Values outside 0-4000000 are rejected with 422.
readingAtCorrected time of the reading (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
sourceRefCorrected identifier for this reading. Maximum 128 characters. Omitted fields are left untouched, so an existing sourceRef can be overwritten but not cleared.
Correct an odometer reading you recorded › Responses
Odometer reading corrected
idId of the odometer reading
chargeIdId of the charge the reading belongs to
odometerKmOdometer reading in whole kilometres
readingAtWhen the reading was taken (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
sourceWhere the reading came from
sourceLabelHuman-readable label for source
capturePhasePoint in the charge lifecycle the reading was captured at. Readings you push are always manual.
confidenceHow trustworthy the value is: verified for a Monta vehicle integration, declared for anything a human or a partner reported
confidenceLabelHuman-readable label for confidence
editableTrue only for readings you pushed yourself. Readings from a vehicle integration, the driver app or the operator hub are another party's evidence and cannot be patched or deleted.
vehicleIdId of the vehicle the reading was taken from. Null when the charge has no vehicle assigned.
sourceRefYour own identifier for this reading, echoed back as you sent it
createdAtWhen the reading was recorded (ISO8601: yyyy-MM-ddTHH:mm:ssZ)
Withdraw an odometer reading you recorded
Required scope: charge-odometer:delete
Organization authorization: supported
Only readings with source partner_api can be withdrawn; every other source is rejected with 403.
path Parameters
chargeIdreadingIdWithdraw an odometer reading you recorded › Responses
Odometer reading withdrawn
Restart or start a reserved charge
Required scope: control-charging:write
Organization authorization: supported
path Parameters
chargeIdRestart or start a reserved charge › Responses
Successfully restarted charge/started reserved charge
humanReadableIdThe human readable id for this charge
User that performed the charge
typeType of the charge
The public information about the charge point related to this charge
createdAtCreation date
updatedAtUpdate date
stateState of the charge. This is a normalized enum value for consistent processing across different charge point types
rawStateThe original charge state value from the charge point before any mapping. While state provides normalized values for consistency, rawState preserves the exact state reported by the charge point. Use this when you need fine-grained state information or want to distinguish between similar states. This field may contain values not present in the 'state' enum as new charge point states are introduced.
List of consumed kWh split by hour (1 hour buckets)
List of consumed kWh split by maximum available resolution (ie. 15min buckets)
emaidProviderIdThe first 5 characters of an EMAID, which is the provider id.
The protocol data for this charge, e.g. OICP or OCPI related data.
idId of the charge
Team that performed the charge, if part of the charge points' team
chargePointIdId of the charge point related to this charge
sponsoredChargePointIdId of the sponsored charge point related to this charge
priceGroupIdId of the price group related to this charge. Note: The underlying price/costGroup models can change and you have to use other fields to get the historic data (costBreakdown, priceBreakdown, price)
costPriceGroupIdId of the cost price group related to this charge
memberCostPriceGroupIdId of the member cost price group related to this charge
siteIdId of the site in which the charge point that performed this charge is
promotionCodeIdId of the promotion code related to this charge
What the charge's promotion code covered, resolved when the charge completed. Null when no promotion code covered any part of this charge.
cablePluggedInAtDate when cable was plugged in
startedAtDate when charge started
stoppedAtDate when charge stopped
fullyChargedAtWhen the EV stopped drawing energy (last transition to suspended-by-EV). Cleared if charging resumes; kept on completed charges.
releasedAtDate indicating when the cable was released.
Note: This value is meaningful only if the charge point properly supports Release Detection.
failedAtDate when charge failed
timeoutAtDate when charge timed out
completedAtDate when charge was considered completed
startSourceIndicates the starting source for this charge, e.g app-ios, app-android
Note: This is an ever-growing list, new values might be added. Please make sure to implement appropriate fallbacks
consumedKwhConsumed Kwh
kwhLimitConfigured Kwh limit for this charge
startMeterKwhKwh of the meter before charging started
endMeterKwhKwh of the meter after charging stopped
pricePrice for this charge
priceLimitConfigured price limit for this charge
costCost incurred for this charge
averagePricePerKwhAverage price per Kwh
averageCo2PerKwhAverage CO2 consumption per Kwh. Null when it cannot be determined
averageRenewablePerKwhAverage percentage of renewable energy per Kwh
failureReasonFailure reason for this charge
stopReasonReason why this charge stopped
paymentMethodPayment method for this charge
noteA note taken for this charge
Currency used for payment.
Team who paid for this charge
Team who sponsored this charge
Operator this of this charge
The object used to authenticate a charge
Information about the state of charge if available
socStartState of charge at the start of the session, if available
socLimitConfigured SoC limit for this charge
Generic payment session for this charge. If provided, the charge was paid with this payment session.
partnerExternalIdExternal Id of this entity, managed by you. We recommend to fill this always with a unique identifier from your side,since it allows you to find a started charge later, even if this requests'response was not captured by you or something went wrong.
smartChargeIdThe smart charge id for this charge, if applicable. Note: If not null, this indicates the charge was a smart charge.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
chargePointKwThe charge point KW recorded during the charge.
The signed data of the charge.
vehicleIdThe vehicle id for this charge, vehicle details can be fetched from the vehicle API
vidThe VID recorded for this charge, if reported by the charge point.
Estimated CO2 impact of this charge. Null until the charge has drawn energy.
Detailed breakdown of the costs by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Detailed breakdown of the prices by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Stop a charge
Required scope: control-charging:write and/or control-public-charging:write
Organization authorization: supported
path Parameters
chargeIdStop a charge › Responses
Successfully stopped a charge
humanReadableIdThe human readable id for this charge
User that performed the charge
typeType of the charge
The public information about the charge point related to this charge
createdAtCreation date
updatedAtUpdate date
stateState of the charge. This is a normalized enum value for consistent processing across different charge point types
rawStateThe original charge state value from the charge point before any mapping. While state provides normalized values for consistency, rawState preserves the exact state reported by the charge point. Use this when you need fine-grained state information or want to distinguish between similar states. This field may contain values not present in the 'state' enum as new charge point states are introduced.
List of consumed kWh split by hour (1 hour buckets)
List of consumed kWh split by maximum available resolution (ie. 15min buckets)
emaidProviderIdThe first 5 characters of an EMAID, which is the provider id.
The protocol data for this charge, e.g. OICP or OCPI related data.
idId of the charge
Team that performed the charge, if part of the charge points' team
chargePointIdId of the charge point related to this charge
sponsoredChargePointIdId of the sponsored charge point related to this charge
priceGroupIdId of the price group related to this charge. Note: The underlying price/costGroup models can change and you have to use other fields to get the historic data (costBreakdown, priceBreakdown, price)
costPriceGroupIdId of the cost price group related to this charge
memberCostPriceGroupIdId of the member cost price group related to this charge
siteIdId of the site in which the charge point that performed this charge is
promotionCodeIdId of the promotion code related to this charge
What the charge's promotion code covered, resolved when the charge completed. Null when no promotion code covered any part of this charge.
cablePluggedInAtDate when cable was plugged in
startedAtDate when charge started
stoppedAtDate when charge stopped
fullyChargedAtWhen the EV stopped drawing energy (last transition to suspended-by-EV). Cleared if charging resumes; kept on completed charges.
releasedAtDate indicating when the cable was released.
Note: This value is meaningful only if the charge point properly supports Release Detection.
failedAtDate when charge failed
timeoutAtDate when charge timed out
completedAtDate when charge was considered completed
startSourceIndicates the starting source for this charge, e.g app-ios, app-android
Note: This is an ever-growing list, new values might be added. Please make sure to implement appropriate fallbacks
consumedKwhConsumed Kwh
kwhLimitConfigured Kwh limit for this charge
startMeterKwhKwh of the meter before charging started
endMeterKwhKwh of the meter after charging stopped
pricePrice for this charge
priceLimitConfigured price limit for this charge
costCost incurred for this charge
averagePricePerKwhAverage price per Kwh
averageCo2PerKwhAverage CO2 consumption per Kwh. Null when it cannot be determined
averageRenewablePerKwhAverage percentage of renewable energy per Kwh
failureReasonFailure reason for this charge
stopReasonReason why this charge stopped
paymentMethodPayment method for this charge
noteA note taken for this charge
Currency used for payment.
Team who paid for this charge
Team who sponsored this charge
Operator this of this charge
The object used to authenticate a charge
Information about the state of charge if available
socStartState of charge at the start of the session, if available
socLimitConfigured SoC limit for this charge
Generic payment session for this charge. If provided, the charge was paid with this payment session.
partnerExternalIdExternal Id of this entity, managed by you. We recommend to fill this always with a unique identifier from your side,since it allows you to find a started charge later, even if this requests'response was not captured by you or something went wrong.
smartChargeIdThe smart charge id for this charge, if applicable. Note: If not null, this indicates the charge was a smart charge.
Custom JSON payload for this entity, managed by you.
Note: the expected shape is a flat JSON object with named keys.
chargePointKwThe charge point KW recorded during the charge.
The signed data of the charge.
vehicleIdThe vehicle id for this charge, vehicle details can be fetched from the vehicle API
vidThe VID recorded for this charge, if reported by the charge point.
Estimated CO2 impact of this charge. Null until the charge has drawn energy.
Detailed breakdown of the costs by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Detailed breakdown of the prices by hour
Note: Deprecated, this field will be be removed by 01.04.2024, Use the charges/:chargeId/breakdown endpoint instead
Retrieve the verification outcome and detector results for a charge
Required scope: charge-verification:read
Organization authorization: supported
not_run does not mean the charge is clean. Detectors run asynchronously after the charge completes, so a charge that has just finished legitimately reports outcome: "not_run" with zero counts and empty result arrays simply because nothing has been evaluated yet. The same value is returned when verification is disabled for the operator, or when every check turned out not to apply to the charge. Treating it as a pass will approve unverified home-charging reimbursements. Only verified means a check actually ran and passed; poll again later, or wait for the charge to settle, before acting on the verdict.
The roll-up ranks by how much attention is needed: flagged > inconclusive > noted > verified. noted carries findings the operator asked to record but does not have to answer.
path Parameters
chargeIdRetrieve the verification outcome and detector results for a charge › Responses
Verification roll-up and every detector result, grouped by type
outcomeWhole-charge verdict. not_run means no detector has reported yet — it is not a pass.
flagsNumber of results that flagged something, resolved ones included
unresolvedFlagsNumber of flags no operator has resolved yet
inconclusiveNumber of checks that could not reach a conclusion, typically for missing data
confirmationsNumber of checks that passed
notApplicableNumber of checks that did not apply to this charge. These demand no attention and are ignored when deriving outcome.
Every detector result, grouped by the bucket it counts towards
highestSeverityHighest severity across every result. Null when there are no results.