Log inTalk to us

Set a location's default tariff

put/v1/tenants/{tenant_id}/locations/{location_id}/default-tariff
Requires an API key

Sets one of the project's active tariffs as the default of every connector at this location that has no tariff of its own, including stations added later. Connectors with their own tariff keep it. A tariff in another currency than the project's default_currency needs confirm_currency true. The pricing order: a connector's own tariff, else the default tariff of its station's location, else the project's default tariff, else none. A station added later inherits the defaults. A bill freezes its tariff when it is created, so a change never moves an open bill or a running session's price; new bills, quotes and displays use it. Needs stations:write and tariffs:write. Recorded in the audit log with the previous and new tariff. Synchronous; replays with the same Idempotency-Key return the same result. Errors: 404 location_not_found, 404 tariff_not_found, 409 tariff_archived, 409 tariff_currency_mismatch. See Errors and statuses.

Path parameters

  • tenant_idintegerRequired
  • location_idintegerRequired

Headers

  • idempotency-keystringRequired

Request body

  • tariff_idintegerRequired
    An active tariff in this tenant (id from the tariff routes).
    Greater than 0
  • confirm_currencyboolean
    Required (true) when the tariff's currency is not the project's default_currency; without it such a tariff is refused with 409 tariff_currency_mismatch.
    Default false

Returns · 200

  • scopeenumRequired
    location: the default of one location; project: the project's default.
    One of location, project
  • location_idinteger | nullRequired
    The location, when scope is location.
  • tariff_idinteger | nullRequired
    The default tariff; null when none is set.
  • previous_tariff_idinteger | null
    Set by a change: the default before; null when there was none or on a read.
  • changedboolean | null
    Set by a change: false when the default already was this tariff.
PUT /v1/tenants/{tenant_id}/locations/{location_id}/default-tariff
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/locations/7/default-tariff" \
  -H "Authorization: Bearer $IVORA_API_KEY" \
  -H "Idempotency-Key: order-2026-09-30-0001" \
  -H "Content-Type: application/json" \
  -d '{
  "tariff_id": 42
}'
Response · 200JSON
{
  "scope": "location",
  "location_id": 7,
  "tariff_id": 42,
  "previous_tariff_id": 1,
  "changed": false
}
Requires an approved production API keyProduction access starts with a request, a short meeting with Ivora and a card on file, after which Ivora staff grant your account access. How to request access
Try itproduction · api.ivoracharge.com

Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.

PUT is a write: you confirm the method, path and project before it is sent, with a generated Idempotency-Key.