Get the tariffs that apply at the EVSE, with their prices calculated the same way a session on the EVSE calculates them. Use it to show the price a driver pays, also when a tariff's price is based on another tariff (discount and internal-roaming markup tariffs) or on an electricity rate (energy time-of-use tariffs). The configuration-only fields of a tariff are read from the tariffs resource.
The answer is valid at the moment of the request: tariff start and end dates, subscription status and scheduled pricing changes due at that moment are taken into account, also when a due change has not been applied yet. The group's base tariff is never left out because of its start and end dates, the same as when a session selects it. Answering a request never creates or changes anything.
Tariff group. The tariff group is the one a session for these drivers at the EVSE uses: the EVSE's own group for drivers of the EVSE's operator, the group the drivers' operator assigned to the EVSE for internal roaming, and the EVSE's own group when the drivers' operator lets its drivers charge there as ad-hoc users.
Session assumptions. The tariff is the one a session would select when the driver starts it from the mobile app, so tariffs restricted to app starts apply and tariffs restricted to RFID or other authorization methods do not. Free starts from the admin panel are not considered.
- The answer assumes personal payment. A start that leaves the payment method out is billed to the charge point owner's corporate account when the driver holds one, and can then get a different tariff.
- Home charging tariffs for the owner or shared users of a personal charge point apply only with
audience=user.
Tariffs with audience=all. Only tariffs a driver starting from the mobile app can get at the moment of the request are listed:
- A tariff is listed when any of its restrictions can apply to such a driver. Home charging tariffs are listed with their restriction.
- Tariffs outside their start and end dates (except the base tariff), discount tariffs while discount tariffs are disabled, and tariffs whose only restriction is RFID or another authorization method other than the mobile app are left out.
- The list stops after the first tariff, from the highest priority down, without restrictions: no tariff below it can be selected.
A tariff of type charging_not_allowed that applies to the drivers is returned as a tariff, not as an empty list.
Scope of the price. The response describes the tariff, not the final session cost. The following are applied when the session is settled and are not reflected in the response:
- corporate billing discount and the split of cost between partner and driver
- included kWh from subscription plans and energy coupons
- idle and duration fee caps
- how the minimum price is applied
Access. The caller needs view access to EVSEs and to tariffs; audience=user also needs view access to users. A missing permission returns 403. A caller with an operator can ask about its own operator's EVSEs, and about another operator's EVSEs where its operator's drivers can charge through internal roaming or as ad-hoc users; any other EVSE of another operator returns 403. Callers without an operator can ask about every EVSE. An EVSE that does not exist returns 404. EVSEs received through OCPI or Hubject roaming are not supported yet and return an empty list with emptyReason roaming_evse_not_supported.
Prices are calculated also from source tariffs the caller cannot see, for example another operator's tariff for internal roaming; only their IDs are left out.
Caching. The response carries Cache-Control: private with a max-age that runs to the earliest of: the end of the current hour, the next scheduled pricing change, and the next tariff start or end date that affects the answer. When the response contains energyPricePeriods, it is also bounded by the next local-hour rollover of those periods. max-age is an upper bound: an admin change can alter prices sooner, so integrations that need the latest price do not reuse the response. When that moment has already been reached, the response is sent with Cache-Control: no-cache.
⚠️ Experimental endpoint — not yet a stable contract. This resource ships as experimental / beta. While experimental, its schema and behaviour may change without a version bump — including breaking changes within v2.1 itself. Anyone consuming it does so for evaluation only, or by coordinating adoption with their account manager so changes can be sequenced with them. It graduates to a stable, version-locked contract (where the normal breaking-change rules apply) only when this experimental notice is removed.
This notice applies only to GET evses/v2.1/{evse}/effective-tariffs; other EVSEs v2.1 operations remain version-locked.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
