Groupilot Docs

Backup admin by API

Set the default backup administrator number of an event, preview a change, confirm it with the preview id, in two steps like the app.

A backup administrator is a second WhatsApp number made admin of the communities of an event. What it protects, and what it does not, is in the guide page. Numbers are always returned masked (phone_masked). Reference: Events.

Read

GET /v1/events/{event_id}/backup-admin

read scope. Returns available (false while the feature is switched off server side; your settings are kept and applied later), default (the saved number, masked, with a revision), future_rule (whether future occurrences are covered, from which one), and communities: each community of the event with selectable and its current backup admin status.

Save the default number

PUT /v1/events/{event_id}/backup-admin
{
  "phone_e164": "+33612345678",
  "consent_confirmed": true,
  "contact_requirements_confirmed": true,
  "expected_revision": 1
}

write scope. The number is checked on WhatsApp first; it must differ from the connected number. Both acknowledgements must be true: the person agrees, and both numbers have each other saved as contacts (otherwise WhatsApp may refuse or flag the addition). expected_revision protects against a concurrent change. Saving applies nothing yet.

Preview a change

POST /v1/events/{event_id}/backup-admin/preview
{
  "action": "apply",
  "community_ids": ["…"],
  "target": { "source": "event_default" }
}
actionNeeds
applycommunity_ids (one community; up to 250 if bulk apply is enabled, otherwise several answer 409 bulk_apply_disabled) and target
retrycommunity_ids (same rule as apply)
stopcommunity_ids
enable_ruletarget, optional start_occurrence_id (first occurrence covered)
stop_rulenothing

target.source is event_default (the saved number) or manual_phone with phone_e164. The response lists each community with its disposition (what would happen), affected_count, and a preview_id valid 10 minutes.

Confirm

POST /v1/events/{event_id}/backup-admin/confirm
{ "preview_id": "…", "consent_confirmed": true, "contact_requirements_confirmed": true }

send scope. Answers 202 with { "accepted": true, "action": "apply", "affected_count": 1 } and the work runs in the background. Irreversible on WhatsApp for the communities concerned: removing an admin later is done by hand in WhatsApp. An expired, consumed or stale preview_id is a 409.

Then

Poll GET …/backup-admin to follow current.status per community (pending, applied, needs_action, …). needs_action usually means the two numbers are not mutual contacts or the backup number refuses group adds: fix it on the phones and preview a retry.

On this page