Switch the California Pricing price text for a station on or off
put/v1/tenants/{tenant_id}/stations/{station_id}/display-pricing
Requires an API key
A station without an explicit choice follows this environment's default (off in production; source says which); this stores an explicit choice that wins over the default. Any write also clears a charger refusal and reads the level again, so the next sweep tries the charger again. Returns at once and never sends; vendor display adapters and Ivora assignments still win. Replays with the same Idempotency-Key return the original result.
Path parameters
- tenant_idintegerRequired
- station_idintegerRequired
Headers
- idempotency-keystringRequired
Request body
- enabledbooleanRequiredLet the generic OCPP 1.6 California Pricing adapter write the tariff's price text to this charger. An explicit choice always wins over this environment's default.
Returns · 200
- tenant_idintegerRequired
- station_idintegerRequired
- adapterstring | nullRequiredbuiltin-ocpp16-california-pricing, or the vendor template that owns the screen (status vendor_adapter), or null.
- statusenumRequiredactive: Ivora writes the tariff's price text to the keys in writes. not_detected: no configuration has been read yet (ask the charger with POST .../configuration/refresh). unsupported: the charger reports no key Ivora may write (level none, only non-English DefaultPriceText, or a price key whose value is not the spec's JSON: last_error default_price_format). refused: the charger refused a write (see refusal); nothing more is written until the setting is written. off: switched off for this station, or no explicit choice and this environment's default is off. vendor_adapter: a vendor display adapter or an Ivora assignment owns this screen and wins. not_booted: the charger has not reported its protocol. protocol_unsupported: California Pricing is an OCPP 1.6 extension.One of
active,not_detected,unsupported,refused,off,vendor_adapter,not_booted,protocol_unsupported - levelenum | nullRequiredWhat the charger's own configuration reports: price_text when DefaultPrice or a DefaultPriceText,<language> key is reported, full when CustomDisplayCostAndPrice is true (running and final cost then follow the running cost setting), none otherwise; null before detection.One of
none,price_text,full - detected_atstring | nullRequiredWhen the level was last read from the configuration the charging core recorded.
- configuration_keysarray of stringRequiredThe extension's standard keys the charger reported.
- writesarray of stringRequiredThe keys Ivora writes: DefaultPrice and DefaultPriceText,<English language>; never a read-only or vendor key.
- enabledbooleanRequiredThe explicit choice, else this environment's default (source default).
- sourceenumRequiredOne of
default,manual - updated_bystring | nullRequired
- price_textstring | nullRequiredThe price text of the last push the charging core accepted, for example "CA$0.47/kWh incl. GST".
- sent_atstring | nullRequiredWhen the charging core accepted the last push.
- applied_atstring | nullRequiredWhen the charger accepted every key of the last push.
- refusalobject | nullRequired
Child attributes
- keystringRequiredThe configuration key the charger refused.
- statusenumRequiredThe charger's ChangeConfiguration.conf status, or CallError when it answered with an OCPP error.One of
Rejected,NotSupported,CallError - atstringRequiredWhen the charging core received the refusal.
- last_errorstring | nullRequiredWhy the last push failed or was held back, for example no_tariff, price_hidden (every display hides the price), tariffs_differ (the EVSEs' prices differ; DefaultPrice is charger-wide), complex_tariff, tariff_not_found, default_price_format (a reported price key holds a value that is not the spec's JSON), station_offline, dispatch_unconfirmed, charger_rejected or no_charger_reply.
PUT /v1/tenants/{tenant_id}/stations/{station_id}/display-pricing
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/stations/1/display-pricing" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Idempotency-Key: order-2026-09-30-0001" \
-H "Content-Type: application/json" \
-d '{
"enabled": false
}'Response · 200JSON
{
"tenant_id": 1042,
"station_id": 1,
"adapter": "string",
"status": "active",
"level": "none",
"detected_at": "2026-09-30T17:00:00Z",
"configuration_keys": [
"string"
],
"writes": [
"string"
],
"enabled": false,
"source": "default",
"updated_by": "string",
"price_text": "string",
"sent_at": "2026-09-30T17:00:00Z",
"applied_at": "2026-09-30T17:00:00Z",
"refusal": {
"key": "string",
"status": "Rejected",
"at": "string"
},
"last_error": "string"
}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.



