Log inTalk to us

Report where the proxy routes one of the project's chargers now

put/v1/tenants/{tenant_id}/qr/charger-routes
Requires an API key

The project's charger proxy key (migration:proxy, made by Ivora administrators, bound to this project) or Ivora platform administrators; team roles and other keys are refused (the project reads the routes, the proxy writes them). The same report as PUT /v1/admin/tenants/{tenant_id}/charger-routes: the charger proxy calls it after each charger flip or rollback, so QR sticker scans of that charger follow it. Idempotent by state: a report older than the recorded state (flipped_at) changes nothing (applied: false). A report of ivora is refused with 409 station_in_shadow while the station is in shadow mode. Another project's station reads as unknown. Emits no event; an applied change is audit-logged (qr.charger_route). Errors: 403 restricted_key_refused, 404 station_not_found, 409 station_in_shadow. See Errors and statuses.

Path parameters

  • tenant_idintegerRequired
    Greater than 0

Request body

  • station_idinteger | null
    Greater than 0
  • station_namestring | null
    1–36 characters · Pattern ^[\x21-\x7e]+$
  • charger_idstring | null
    1–40 characters · Pattern ^[A-Za-z0-9][A-Za-z0-9_-]{0,39}$
  • currentenumRequired
    Where the proxy routes the charger now.
    One of ivora, previous_platform
  • flipped_atstringRequired
    When the proxy routed it so (ISO 8601 with offset). An older report never replaces a newer one.
    Up to 40 characters
  • flip_referencestring | null
    1–120 characters · Pattern ^[\x21-\x7e]+$
  • reasonstring | null
    Up to 300 characters

Returns · 200

  • tenant_idintegerRequired
  • station_idintegerRequired
  • station_namestringRequired
  • currentenumRequired
    One of ivora, previous_platform
  • flipped_atstringRequired
    The recorded state's time: the report's, or a newer one already recorded.
  • appliedbooleanRequired
    false when a newer state was already recorded and this report changed nothing.
  • referencestring | nullRequired
PUT /v1/tenants/{tenant_id}/qr/charger-routes
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/qr/charger-routes" \
  -H "Authorization: Bearer $IVORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "current": "ivora",
  "flipped_at": "2026-09-30T17:00:00Z"
}'
Response · 200JSON
{
  "tenant_id": 1042,
  "station_id": 1,
  "station_name": "string",
  "current": "ivora",
  "flipped_at": "2026-09-30T17:00:00Z",
  "applied": false,
  "reference": "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.