Create a runner credential for the migration's charger proxy
The credential the proxy's sync agent uses on this migration's runner routes (GET .../routes, POST .../routes/reports, POST .../runners/heartbeat), with the single scope migration:routes. Shown once, never stored: keep it on the proxy host only. Every other route refuses it. Needs the client or support role (a key needs stations:admin). Audited in the same transaction (503 when it cannot be). Errors: 404 migration_not_found, 409 migration_closed, 503 migration_audit_unavailable. See Errors and statuses.
Path parameters
- migration_idstringRequiredPattern
^mig_[0-9a-f]{32}$
Request body
- labelstringRequiredThe charger proxy's name (its site), for example example-cpo-site-1.Pattern
^[A-Za-z0-9._:-]{1,64}$
Returns · 201
- idstringRequired
- labelstringRequiredThe charger proxy's name, also on its route reports.
- prefixstringRequiredThe credential's first characters, to recognise it; never the secret.
- scopesarray of stringRequired
- created_bystringRequired
- created_atstringRequired
- last_seen_atstring | nullRequiredIts last heartbeat, route poll or report.
- healthybooleanRequiredSeen within the last 60 seconds and not revoked.
- last_revisioninteger | nullRequiredThe last route revision it pulled.
- heartbeatobject | nullRequiredIts last heartbeat body: nodes, upstreams, routed and connected counts.
- revoked_atstring | nullRequired
- credentialstringRequiredThe runner credential, shown once: store it on the proxy host only. It is accepted on this migration's runner routes and nowhere else.
curl --fail-with-body -X POST "https://api.ivoracharge.com/v1/migrations/mig_0123456789abcdef0123456789abcdef/runners" \
-H "Authorization: Bearer $IVORA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "string"
}'{
"id": "id_0123456789abcdef",
"label": "string",
"prefix": "string",
"scopes": [
"migration:routes"
],
"created_by": "string",
"created_at": "2026-09-30T17:00:00Z",
"last_seen_at": "2026-09-30T17:00:00Z",
"healthy": false,
"last_revision": 1,
"heartbeat": {},
"revoked_at": "2026-09-30T17:00:00Z",
"credential": "string"
}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.
POST is a write: you confirm the method, path and project before it is sent, with a generated Idempotency-Key.



