Skip to main content
The tariffs API lets you define how drivers are charged for energy. Each tariff is built from one or more pricing components — you can charge per kWh, per minute, add a flat session fee, or combine all three. Once defined, you assign tariffs to specific chargers and optionally apply scheduled pricing that changes rates at different times of day.

Create a tariff

POST /api/v1/billing/tariffs
string
required
Display name for the tariff (e.g. “Standard AC Rate”).
string
required
ISO 4217 currency code (e.g. GBP, EUR, USD).
object[]
required
Array of pricing components that make up this tariff.
number
default:"0"
Tax percentage to apply on top of the tariff components (e.g. 20 for 20% VAT).
string
Unique identifier for the created tariff.
object[]
Pricing components as stored. Null fields use system defaults.

List tariffs

GET /api/v1/billing/tariffs Returns all tariffs defined in your organisation.
string
Filter by currency code.
number
default:"50"
Maximum number of tariffs to return.

Update a tariff

PUT /api/v1/billing/tariffs/{tariff_id} Replaces all fields on a tariff. This does not retroactively change billing on existing sessions — changes apply to new sessions only.
string
required
The unique identifier of the tariff to update.
string
required
Updated display name.
string
required
ISO 4217 currency code.
object[]
required
Full replacement set of pricing components.
number
Updated tax rate.

Delete a tariff

DELETE /api/v1/billing/tariffs/{tariff_id}
You cannot delete a tariff that is currently assigned to one or more chargers. Unassign the tariff from all chargers first.
string
required
The unique identifier of the tariff to delete.
Returns 204 No Content on success.

Get tariff rates

GET /api/v1/tariffs/{tariff_id}/rates Returns the pricing rates associated with a tariff. For time-of-use tariffs, this includes all rate bands.
string
required
The unique identifier of the tariff.

Upload tariff rates

POST /api/v1/tariffs/{tariff_id}/rates Replaces the rate bands for a tariff. Use this to set up time-of-use pricing.
string
required
The tariff to upload rates for.
object[]
required
Array of rate band objects.

Delete tariff rates

DELETE /api/v1/tariffs/{tariff_id}/rates Removes all rate bands from a tariff, reverting it to flat-rate pricing as defined by its components.
string
required
The unique identifier of the tariff.

Create a tariff schedule

PUT /api/v1/tariffs/{tariff_id}/schedule Defines a recurring schedule that automatically switches which rate band is active based on time and day. Schedules are evaluated at session start time.
string
required
The tariff to set a schedule for.
object[]
required
Array of schedule entries, each mapping a time window to a specific rate.

Get tariff schedule

GET /api/v1/tariffs/{tariff_id}/schedule Returns the current schedule for a tariff.
string
required
The unique identifier of the tariff.

Get current rate for a charger

GET /api/v1/tariffs/chargers/{charge_point_id}/current-rate Returns the pricing rate that would apply to a session started on this charger right now.
string
required
The OCPP identity of the charger.

Get charger tariff assignment

GET /api/v1/chargepoints/{charge_point_id}/tariff Returns the tariff currently assigned to a charger.
string
required
The OCPP identity of the charger.

Assign a tariff to a charger

PUT /api/v1/chargepoints/{charge_point_id}/tariff Assigns a tariff to a charger. New sessions on this charger will be billed under the assigned tariff immediately.
string
required
The OCPP identity of the charger.
string
required
The tariff to assign to this charger.