Set the driver payment page branding

put/v1/tenants/{tenant_id}/branding
Requires an API key

Replaces the name, color and support contacts; the logo is kept. Drivers see it on checkout, charging status, receipt and error pages for this tenant's chargers and payment domains. Stripe Checkout's own page shows the branding of the tenant's connected Stripe account, set in its Stripe dashboard.

Path parameters

  • tenant_idintegerRequired

Request body

  • display_namestringRequired
    The operator name drivers see on the payment pages instead of Ivora.
    1–80 characters
  • primary_colorstring | null
    Accent color of buttons and headings; null keeps the page default.
    Pattern ^#[0-9a-fA-F]{6}$
  • support_emailstring | null
    Up to 254 characters
  • support_urlstring | null
    https page where drivers get help.
    Up to 300 characters

Returns · 200

  • display_namestringRequired
  • logo_urlstring | nullRequired
    Null when the tenant set a name but no logo: show the name as text.
  • primary_colorstring | nullRequired
  • support_emailstring | nullRequired
  • support_urlstring | nullRequired
  • checkout_originstringRequired
    Origin of the driver payment pages for this brand: the tenant's ready payment domain, else the default payment host. QR codes encode <checkout_origin>/checkout/<station>-<evse>.
  • sourceenumRequired
    How the brand was chosen: the payment domain the page is served on, the charger's tenant, or Ivora's default.
    One of payment_domain, station, tenant, default
  • tenant_idintegerRequired
  • is_defaultbooleanRequired
    True while the tenant has set no branding: drivers see Ivora's.
  • logoobject | nullRequired
    Child attributes
    • urlstringRequired
      Public, cacheable URL on the API origin. Its path changes whenever the image does.
    • content_typeenumRequired
      One of image/png, image/jpeg, image/webp
    • widthintegerRequired
    • heightintegerRequired
    • bytesintegerRequired
  • updated_atstring | nullRequired
PUT /v1/tenants/{tenant_id}/branding
curl --fail-with-body -X PUT "https://api.ivoracharge.com/v1/tenants/1042/branding" \
  -H "Authorization: Bearer $IVORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "display_name": "Example Charge",
  "primary_color": "#0f766e",
  "support_email": "support@example.com",
  "support_url": "https://example.com/help"
}'
Response · 200
{
  "display_name": "string",
  "logo_url": "https://app.example.com/return",
  "primary_color": "string",
  "support_email": "string",
  "support_url": "https://app.example.com/return",
  "checkout_origin": "https://pay.example.com",
  "source": "payment_domain",
  "tenant_id": 1042,
  "is_default": false,
  "logo": {
    "url": "https://app.example.com/ivora/webhooks",
    "content_type": "image/png",
    "width": 1,
    "height": 1,
    "bytes": 1
  },
  "updated_at": "2026-09-30T17:00:00Z"
}
Try it is not available here yetRequests from this page are off until the production API at https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.