Log inTalk to us

Change an invited team's kind or sites

patch/v1/migrations/{migration_id}/participants/{participant_id}
Requires an API key

kind (partner or observer), scope (the sites it sees) or all_sites: true (every site). Takes effect on the team's next request. The client and Ivora support cannot be changed (409 migration_participant_fixed). Needs the client role (its owners and admins; a key needs stations:admin) or Ivora support, which acts on the client's behalf and is audited as support. Errors: 404 migration_not_found, 404 migration_participant_not_found, 409 migration_participant_fixed, 503 migration_audit_unavailable. See Errors and statuses.

Path parameters

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

Request body

  • kindenum | null
    The invited team's new kind.
    One of partner, observer
  • scopeobject | null
    The new narrowing; see all_sites to remove it.
    Child attributes
    • location_idsarray of integerRequired
      The sites the team sees and acts on: the migration's chargers at these locations only.
  • all_sitesboolean | null
    true: remove the narrowing.

Returns · 200

  • idstringRequired
    mpt_...
  • kindenumRequired
    client: 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 | nullRequired
    The team; null for Ivora support and for an email invite nobody accepted yet.
  • team_namestring | nullRequired
  • statusenumRequired
    removed only in the answer that removed, revoked or declined it.
    One of invited, active, removed
  • invite_emailstring | nullRequired
    The address an email invite went to; shown to the client only, null otherwise.
  • scopeobject | nullRequired
    Narrowing to some sites; null for every site of the migration.
    Child attributes
    • location_idsarray of integerRequired
      The sites the team sees and acts on: the migration's chargers at these locations only.
  • removablebooleanRequired
    true for an invited team (partner or observer); false for the client and Ivora support, which always stay.
  • invited_byenum | nullRequired
    Who 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 | nullRequired
    An invite not accepted by then lapses (14 days).
  • accepted_atstring | nullRequired
PATCH /v1/migrations/{migration_id}/participants/{participant_id}
curl --fail-with-body -X PATCH "https://api.ivoracharge.com/v1/migrations/mig_0123456789abcdef0123456789abcdef/participants/mpt_0123456789abcdef0123456789abcdef" \
  -H "Authorization: Bearer $IVORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Response · 200JSON
{
  "id": "id_0123456789abcdef",
  "kind": "client",
  "team_id": "team_0123456789abcdef",
  "team_name": "string",
  "status": "invited",
  "invite_email": "string",
  "scope": {
    "location_ids": [
      7
    ]
  },
  "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"
}
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.

PATCH is a write: you confirm the method, path and project before it is sent, with a generated Idempotency-Key.