ampr docs

Tariffs

Pricing rules for charging sessions

GET /tariffs List tariffs

Parameters

Name In Type Required Description
page query integer
per_page query integer

Responses

200 Tariff list

PropertyTypeRequiredDescription
dataarray<Tariff>
PropertyTypeRequiredDescription
idstringrequired
namestringnullable
currencystringrequired
elementsarray<TariffElement>required
PropertyTypeRequiredDescription
price_componentsarray<PriceComponent>required
PropertyTypeRequiredDescription
typeenum
  • ENERGY
  • FLAT
  • TIME
  • PARKING_TIME
required
pricenumberformat: doublerequiredPrice per unit (excl. VAT)
step_sizeintegerrequiredMinimum billable unit (e.g., 1000 for per-kWh billing on Wh meter)
restrictionsTariffRestriction
PropertyTypeRequiredDescription
start_timestringHH:MM format
end_timestring
min_kwhnumber
max_kwhnumber
day_of_weekarray<enum>
created_atstringformat: date-timerequired
updated_atstringformat: date-time
paginationPagination
PropertyTypeRequiredDescription
totalintegerrequired
pageintegerrequired
per_pageintegerrequired
has_morebooleanrequired

401 Missing or invalid API key application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

Request example

curl -X GET "https://api.ampr.dev/v1/tariffs" \
  -H "Authorization: Bearer $AMPR_API_KEY"
Note
This endpoint requires an API key. Send it as a Bearer token in the Authorization header.

POST /tariffs Create a tariff

Request body

PropertyTypeRequiredDescription
namestring
currencystringrequired
elementsarray<TariffElement>required
PropertyTypeRequiredDescription
price_componentsarray<PriceComponent>required
PropertyTypeRequiredDescription
typeenum
  • ENERGY
  • FLAT
  • TIME
  • PARKING_TIME
required
pricenumberformat: doublerequiredPrice per unit (excl. VAT)
step_sizeintegerrequiredMinimum billable unit (e.g., 1000 for per-kWh billing on Wh meter)
restrictionsTariffRestriction
PropertyTypeRequiredDescription
start_timestringHH:MM format
end_timestring
min_kwhnumber
max_kwhnumber
day_of_weekarray<enum>

Responses

201 Tariff created

PropertyTypeRequiredDescription
dataTariff
PropertyTypeRequiredDescription
idstringrequired
namestringnullable
currencystringrequired
elementsarray<TariffElement>required
PropertyTypeRequiredDescription
price_componentsarray<PriceComponent>required
PropertyTypeRequiredDescription
typeenum
  • ENERGY
  • FLAT
  • TIME
  • PARKING_TIME
required
pricenumberformat: doublerequiredPrice per unit (excl. VAT)
step_sizeintegerrequiredMinimum billable unit (e.g., 1000 for per-kWh billing on Wh meter)
restrictionsTariffRestriction
PropertyTypeRequiredDescription
start_timestringHH:MM format
end_timestring
min_kwhnumber
max_kwhnumber
day_of_weekarray<enum>
created_atstringformat: date-timerequired
updated_atstringformat: date-time

401 Missing or invalid API key application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

Request example

curl -X POST "https://api.ampr.dev/v1/tariffs" \
  -H "Authorization: Bearer $AMPR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "currency": "string",
    "elements": [
      {}
    ]
  }'
Note
This endpoint requires an API key. Send it as a Bearer token in the Authorization header.

GET /tariffs/{tariff_id} Get tariff detail

Parameters

Name In Type Required Description
tariff_id path string required

Responses

200 Tariff detail

PropertyTypeRequiredDescription
dataTariff
PropertyTypeRequiredDescription
idstringrequired
namestringnullable
currencystringrequired
elementsarray<TariffElement>required
PropertyTypeRequiredDescription
price_componentsarray<PriceComponent>required
PropertyTypeRequiredDescription
typeenum
  • ENERGY
  • FLAT
  • TIME
  • PARKING_TIME
required
pricenumberformat: doublerequiredPrice per unit (excl. VAT)
step_sizeintegerrequiredMinimum billable unit (e.g., 1000 for per-kWh billing on Wh meter)
restrictionsTariffRestriction
PropertyTypeRequiredDescription
start_timestringHH:MM format
end_timestring
min_kwhnumber
max_kwhnumber
day_of_weekarray<enum>
created_atstringformat: date-timerequired
updated_atstringformat: date-time

401 Missing or invalid API key application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

404 Resource not found application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

Request example

curl -X GET "https://api.ampr.dev/v1/tariffs/trf_example" \
  -H "Authorization: Bearer $AMPR_API_KEY"
Note
This endpoint requires an API key. Send it as a Bearer token in the Authorization header.

DELETE /tariffs/{tariff_id} Delete tariff

Parameters

Name In Type Required Description
tariff_id path string required

Responses

204 Tariff deleted

401 Missing or invalid API key application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

404 Resource not found application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

409 Resource conflict (e.g., duplicate serial, active session) application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

Request example

curl -X DELETE "https://api.ampr.dev/v1/tariffs/trf_example" \
  -H "Authorization: Bearer $AMPR_API_KEY"
Note
This endpoint requires an API key. Send it as a Bearer token in the Authorization header.

PATCH /tariffs/{tariff_id} Update tariff

Parameters

Name In Type Required Description
tariff_id path string required

Request body

PropertyTypeRequiredDescription
namestring
elementsarray<TariffElement>
PropertyTypeRequiredDescription
price_componentsarray<PriceComponent>required
PropertyTypeRequiredDescription
typeenum
  • ENERGY
  • FLAT
  • TIME
  • PARKING_TIME
required
pricenumberformat: doublerequiredPrice per unit (excl. VAT)
step_sizeintegerrequiredMinimum billable unit (e.g., 1000 for per-kWh billing on Wh meter)
restrictionsTariffRestriction
PropertyTypeRequiredDescription
start_timestringHH:MM format
end_timestring
min_kwhnumber
max_kwhnumber
day_of_weekarray<enum>

Responses

200 Tariff updated

PropertyTypeRequiredDescription
dataTariff
PropertyTypeRequiredDescription
idstringrequired
namestringnullable
currencystringrequired
elementsarray<TariffElement>required
PropertyTypeRequiredDescription
price_componentsarray<PriceComponent>required
PropertyTypeRequiredDescription
typeenum
  • ENERGY
  • FLAT
  • TIME
  • PARKING_TIME
required
pricenumberformat: doublerequiredPrice per unit (excl. VAT)
step_sizeintegerrequiredMinimum billable unit (e.g., 1000 for per-kWh billing on Wh meter)
restrictionsTariffRestriction
PropertyTypeRequiredDescription
start_timestringHH:MM format
end_timestring
min_kwhnumber
max_kwhnumber
day_of_weekarray<enum>
created_atstringformat: date-timerequired
updated_atstringformat: date-time

401 Missing or invalid API key application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

404 Resource not found application/problem+json

PropertyTypeRequiredDescription
typestringformat: urirequired
titlestringrequired
statusintegerrequired
detailstringnullable
instancestringnullable

Request example

curl -X PATCH "https://api.ampr.dev/v1/tariffs/trf_example" \
  -H "Authorization: Bearer $AMPR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "elements": [
      {}
    ]
  }'
Note
This endpoint requires an API key. Send it as a Bearer token in the Authorization header.