Log inTalk to us

List a migration's network imports

get/v1/migrations/{migration_id}/imports
Requires an API key

This migration's imports, newest first, without their rows. Page with before=next_cursor. Needs migration:import over every site (client, support or partner; see the dry run). Only this migration's imports are reachable here, never another migration's or a project import. Errors: 404 migration_not_found. See Errors and statuses.

Path parameters

  • migration_idstringRequired
    Pattern ^mig_[0-9a-f]{32}$

Query parameters

  • beforestring | null
    Pattern ^[0-9]{1,18}$
  • limitinteger
    Default 20 · Minimum 1 · Maximum 100

Returns · 200

  • dataarray of ImportSummaryRequired
    Child attributes
    • idstringRequired
    • tenant_idintegerRequired
    • migration_idstring | null
      The migration this import belongs to (made under /v1/migrations/{migration_id}/imports): its applied stations join that migration as imported. null for a project import.
    • sourceenumRequired
      One of csv, ocpi_locations
    • originstring | nullRequired
      The fetched feed's host and path (no query string or token); null for an upload
    • statusenumRequired
      One of planned, applying, applied, partial, reverted, partially_reverted
    • identityenumRequired
      project: chargers keep their own IDs under the project's charger URL; global: each charger ID is a globally unique OCPP connection name
      One of project, global
    • countsImportCountsRequired
      Child attributes
      • createintegerRequired
      • updateintegerRequired
      • skipintegerRequired
      • errorintegerRequired
    • totalsImportTotalsRequired
      Child attributes
      • locationsintegerRequired
        Locations in the source
      • stationsintegerRequired
        Chargers in the source, each one station
      • evsesintegerRequired
      • connectorsintegerRequired
    • actorstringRequired
    • created_atstringRequired
    • updated_atstringRequired
    • applied_atstring | nullRequired
    • reverted_atstring | nullRequired
  • next_cursorstring | nullRequired
GET /v1/migrations/{migration_id}/imports
curl --fail-with-body "https://api.ivoracharge.com/v1/migrations/mig_0123456789abcdef0123456789abcdef/imports" \
  -H "Authorization: Bearer $IVORA_API_KEY"
Response · 200JSON
{
  "data": [
    {
      "id": "id_0123456789abcdef",
      "tenant_id": 1042,
      "migration_id": "migration_0123456789abcdef",
      "source": "csv",
      "origin": "string",
      "status": "planned",
      "identity": "project",
      "counts": {
        "create": 1,
        "update": 1,
        "skip": 1,
        "error": 1
      },
      "totals": {
        "locations": 1,
        "stations": 1,
        "evses": 1,
        "connectors": 1
      },
      "actor": "string",
      "created_at": "2026-09-30T17:00:00Z",
      "updated_at": "2026-09-30T17:00:00Z",
      "applied_at": "2026-09-30T17:00:00Z",
      "reverted_at": "2026-09-30T17:00:00Z"
    }
  ],
  "next_cursor": "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.