Pepvote Support Center

Groups

Read and manage event groups.

Endpoints

MethodPathScopeDescription
GET/voting-events/:idOrCode/groupsreadList groups.
POST/voting-events/:idOrCode/groupswriteCreate a group.
POST/voting-events/:idOrCode/groups/batchwriteCreate up to 100 groups.
GET/voting-events/:idOrCode/groups/:idreadGet a group.
PATCH/voting-events/:idOrCode/groups/:idwriteUpdate a group.
DELETE/voting-events/:idOrCode/groups/:idwriteDelete a group.
PUT/voting-events/:idOrCode/groups/:id/logowriteSet a logo from an upload.
DELETE/voting-events/:idOrCode/groups/:id/logowriteRemove a logo.

Query parameters

NameTypeRequiredDescription
groupForany, position, candidate, or voterNoFilter groups by their use.
searchstringNoSearch group names and descriptions.

Request fields

name is required on a single create. Send at least one field on update.

FieldTypeDescription
namestring1 to 200 characters.
descstringUp to 2,000 characters.
groupForenumany, position, candidate, or voter.

Create example

curl -X POST "https://api.pepvote.com/voting-events/BOARD26/groups" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0" \
  -H "Content-Type: application/json" -d '{"name":"North region","groupFor":"voter"}'
{
  "data": {
    "id": "j57group01",
    "votingEventId": "j57event01",
    "name": "North region",
    "desc": null,
    "groupFor": "voter",
    "logoUrl": null,
    "createdAt": 1776900300000
  }
}

A batch accepts { "groups": [...] } with 1 to 100 rows. It uses the batch rate limit bucket and returns { "data": { "created": [...], "skipped": [{ "index": 0, "reason": "..." }] } }.

curl -X PUT "https://api.pepvote.com/voting-events/BOARD26/groups/j57group01/logo" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0" \
  -H "Content-Type: application/json" -d '{"storageId":"kg2storage01"}'
{
  "data": {
    "id": "j57group01",
    "name": "North region",
    "logoUrl": "https://storage.example/logo.png"
  }
}

Use the upload flow first. Delete returns 202 with { "data": { "id": "...", "deletion": "queued" } }.

Was this helpful?

Last updated September 6, 2026

On this page