Pepvote Support Center

Invites

Invite and manage voting event collaborators.

Endpoints

MethodPathScopeDescription
GET/voting-events/:idOrCode/invitesreadList invites.
POST/voting-events/:idOrCode/inviteswriteCreate up to 100 invites.
POST/voting-events/:idOrCode/invites/:id/revokewriteRevoke an invite.
DELETE/voting-events/:idOrCode/invites/:idwriteDelete an invite.

Create request fields

FieldTypeRequiredDescription
emailsstring arrayYes1 to 100 email addresses.
rolemanager, polling_officer, or observerYesRole to grant.

Create example

curl -X POST "https://api.pepvote.com/voting-events/BOARD26/invites" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0" \
  -H "Content-Type: application/json" \
  -d '{"emails":["amina@example.com","omar@example.com"],"role":"observer"}'
{
  "data": {
    "invitedCount": 1,
    "skippedEmails": [
      "omar@example.com"
    ],
    "invites": [
      {
        "id": "j57invite01",
        "votingEventId": "j57event01",
        "email": "amina@example.com",
        "role": "observer",
        "status": "pending",
        "accepted": false,
        "createdAt": 1776900500000
      }
    ]
  }
}

Revoke example

curl -X POST "https://api.pepvote.com/voting-events/BOARD26/invites/j57invite01/revoke" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0"
{
  "data": {
    "id": "j57invite01",
    "votingEventId": "j57event01",
    "email": "amina@example.com",
    "role": "observer",
    "status": "revoked",
    "accepted": false,
    "createdAt": 1776900500000
  }
}

Delete returns 204 with no body.

Was this helpful?

Last updated September 6, 2026

On this page