Log inTalk to us

Set the old platform's origins, URL template and default route

put/v1/tenants/{tenant_id}/qr/settings
Requires an API key

Validated on save: each origin is https and a public hostname only (no path, port, IP address or user information), stored in ASCII form; the template's host must be one of them. Refused with 409 destination_in_use while a stored sticker's previous_url would leave the allowlist. website_origins: only Ivora platform administrators add one (403 otherwise); the project may remove its own.

Path parameters

  • tenant_idintegerRequired

Request body

  • previous_platform_originsarray of string
    The old platform's https origins a sticker may send drivers to before its charger moves (hostname only, no path). Unicode hostnames are stored in their ASCII (punycode) form.
  • previous_url_templatestring | null
    The old platform's page for a sticker without its own previous_url: {code} (the sticker's code), {station_name} or {charger_id}, each percent-encoded, in the path or query of a URL on previous_platform_origins.
    Up to 500 characters
  • default_routeenum
    Where a charger with no recorded flip connects: previous_platform while the network migrates, ivora for chargers that were never anywhere else.
    One of ivora, previous_platform · Default "previous_platform"
  • website_originsarray of string | null
    Your own website's https origins (hostname only) whose pages may call the website lookup from the browser (CORS). Omitted or null keeps the stored list. Only Ivora staff add an origin, once they checked the project runs that website; the project may remove one.

Returns · 200

  • tenant_idintegerRequired
  • previous_platform_originsarray of stringRequired
  • previous_url_templatestring | nullRequired
  • default_routeenumRequired
    One of ivora, previous_platform
  • ivora_originstring | nullRequired
    The Ivora checkout origin, always on the allowlist: the ready payment domain, else Ivora's payment host. Null when that is not a public https origin (a local profile): scans then show the not-ready page.
  • scan_url_templatestringRequired
    The scan URL on Ivora's own host, for networks without a QR domain.
  • website_originsarray of stringRequired
    The website origins allowed to call the website lookup from the browser.
  • lookup_urlstringRequired
    The website lookup on Ivora's own host: add ?code=<the sticker's code>.
  • updated_atstring | nullRequired
PUT /v1/tenants/{tenant_id}/qr/settings
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/qr/settings" \
  -H "Authorization: Bearer $IVORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "previous_platform_origins": [
    "https://app.oldvendor.example.com"
  ],
  "previous_url_template": "https://app.oldvendor.example.com/start/{code}",
  "website_origins": [
    "https://www.example.com"
  ]
}'
Response · 200JSON
{
  "tenant_id": 1042,
  "previous_platform_origins": [
    "string"
  ],
  "previous_url_template": "string",
  "default_route": "ivora",
  "ivora_origin": "string",
  "scan_url_template": "string",
  "website_origins": [
    "string"
  ],
  "lookup_url": "https://app.example.com/return",
  "updated_at": "2026-09-30T17:00:00Z"
}
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.