Change an invited team's kind or sites
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_idstringRequiredPattern
^mpt_[0-9a-f]{32}$ - migration_idstringRequiredPattern
^mig_[0-9a-f]{32}$
Request body
- kindenum | nullThe invited team's new kind.One of
partner,observer - scopeobject | nullThe new narrowing; see all_sites to remove it.
Child attributes
- location_idsarray of integerRequiredThe sites the team sees and acts on: the migration's chargers at these locations only.
- all_sitesboolean | nulltrue: remove the narrowing.
Returns · 200
- 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
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 '{}'{
"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"
}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.



