List the migrations you work on
Every migration where one of your teams participates, with your role and permissions in it; Ivora staff see every migration. Oldest first, each with its project's and client team's names. Filters: team_id (the client team), tenant_id (the project), status and source_platform. view=summary leaves out the participants and runners (null) for a long list; the charger counts and runner_healthy stay. Signed-in users only. Roles: client (the project team's owners and admins), support (Ivora staff), partner (an invited partner team's owners, admins, developers and operators) and observer (read only: the other members of those teams except billing, invited observer teams, Ivora platform support). A participant narrowed to some sites sees only the migration's chargers there. A personal or staff key bound to the project acts as its owner's client or support role, capped by its scopes; a team migration key acts as its owner's role in its own team, capped by its migration:* scopes; project keys and app tokens are refused. A caller with no role gets 404 migration_not_found.
Query parameters
- cursorstring | nullnext_cursor of the previous page.Pattern
^mig_[0-9a-f]{32}$ - limitintegerDefault
50· Minimum 1 · Maximum 100 - team_idstring | nullKeep the migrations of this client team (the project's team).Pattern
^team_[0-9a-f]{32}$ - tenant_idinteger | nullKeep the migrations of this project.Greater than 0
- statusenum | nullOne of
active,paused,completed,archived - source_platformenum | nullOne of
evconnect,other - viewenumsummary: without participants and runners.One of
full,summary· Default"full"
Returns · 200
- dataarray of MigrationRequired
Child attributes
- idstringRequiredmig_...
- tenant_idintegerRequiredThe client's project.
- project_namestring | nullRequiredThe project's name; null when the charging core cannot be read.
- team_idstring | nullRequiredThe client: the team whose project the migration belongs to.
- team_namestring | nullRequiredThe client team's name.
- namestringRequired
- source_platformstringRequired
- statusenumRequiredactive; paused (imports and new work stop, rollbacks still go through); completed (a read-only record of the move); archived (closed for good, still readable).One of
active,paused,completed,archived - settingsSettingsRequired
Child attributes
- rollback_window_daysintegerRequired
- drain_per_secondintegerRequired
- rollback_slabooleanRequiredAn Ivora rollback commitment is in force (rollback by Ivora within 4 business hours). Ivora support stays on the migration either way.
- completed_atstring | nullRequiredWhen the migration was completed; null while it is active or paused.
- roleenum | nullRequiredThe caller's effective role: client (the project team's owners and admins), support (Ivora staff), partner (an invited partner team's owners, admins, developers and operators), observer (read only: the other members of those teams except billing, invited observer teams, Ivora platform support).One of
client,support,partner,observer - scopeobject | nullRequiredThe caller's narrowing to some sites, or null for every site.
Child attributes
- location_idsarray of integerRequiredThe sites the team sees and acts on: the migration's chargers at these locations only.
- permissionsarray of enumRequiredWhat the caller may do here.
- participantsarray of Participant | nullRequiredActive and invited participants; null in a list's summary view.
Child attributes
- idstringRequiredmpt_...
- kindenumRequiredclient: the project's own team. support: Ivora support (team_id null). partner: an invited migration partner or installer. observer: an invited team that only reads.One of
client,support,partner,observer - team_idstring | nullRequiredThe team; null for Ivora support and for an email invite nobody accepted yet.
- team_namestring | nullRequired
- statusenumRequiredremoved only in the answer that removed, revoked or declined it.One of
invited,active,removed - invite_emailstring | nullRequiredThe address an email invite went to; shown to the client only, null otherwise.
- scopeobject | nullRequiredNarrowing to some sites; null for every site of the migration.
Child attributes
- location_idsarray of integerRequiredThe sites the team sees and acts on: the migration's chargers at these locations only.
- removablebooleanRequiredtrue for an invited team (partner or observer); false for the client and Ivora support, which always stay.
- invited_byenum | nullRequiredWho invited a partner or observer: the client, or Ivora support on the client's behalf. null for the client and Ivora support.One of
client,support - invited_atstringRequired
- expires_atstring | nullRequiredAn invite not accepted by then lapses (14 days).
- accepted_atstring | nullRequired
- countsobjectRequiredChargers per state, and total (of the caller's sites when narrowed).
- runnersarray of Runner | nullRequiredRunner credentials, revoked ones included. Empty for observers; null in a list's summary view.
Child attributes
- 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
- runner_healthybooleanRequiredA runner was seen within the last 60 seconds.
- route_revisionintegerRequiredThe last route revision handed to the runners.
- created_bystringRequired
- created_atstringRequired
- updated_atstringRequired
- next_cursorstring | nullRequiredPass as cursor for the next page; null on the last one.
curl --fail-with-body "https://api.ivoracharge.com/v1/me/migrations" \
-H "Authorization: Bearer $IVORA_API_KEY"{
"data": [
{
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"project_name": "string",
"team_id": "team_0123456789abcdef",
"team_name": "string",
"name": "bay-01",
"source_platform": "string",
"status": "active",
"settings": {
"rollback_window_days": 1,
"drain_per_second": 1,
"rollback_sla": false
},
"completed_at": "2026-09-30T17:00:00Z",
"role": "client",
"scope": {
"location_ids": [
7
]
},
"permissions": [
"migration:read"
],
"participants": [
{
"id": "id_0123456789abcdef",
"kind": "client",
"team_id": "team_0123456789abcdef",
"team_name": "string",
"status": "invited",
"invite_email": "string",
"scope": {
"location_ids": null
},
"removable": false,
"invited_by": "client",
"invited_at": "2026-09-30T17:00:00Z",
"expires_at": "2026-09-30T17:00:00Z",
"accepted_at": "2026-09-30T17:00:00Z"
}
],
"counts": {},
"runners": [
{
"id": "id_0123456789abcdef",
"label": "string",
"prefix": "string",
"scopes": [
null
],
"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"
}
],
"runner_healthy": false,
"route_revision": 1,
"created_by": "string",
"created_at": "2026-09-30T17:00:00Z",
"updated_at": "2026-09-30T17:00:00Z"
}
],
"next_cursor": "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.



