Pepvote API
Groups and sponsors
Read and manage event groups, and read sponsors.
Endpoints
| Method | Path | Scope | Description |
|---|---|---|---|
GET | /voting-events/:code/groups | read | List groups. |
POST | /voting-events/:code/groups | write | Create a group. |
GET | /voting-events/:code/groups/:id | read | Get a group. |
PATCH | /voting-events/:code/groups/:id | write | Update a group. |
DELETE | /voting-events/:code/groups/:id | write | Delete a group. |
GET | /voting-events/:code/sponsors | read | List sponsors. |
Group query parameters
| Name | Type | Required | Description |
|---|---|---|---|
groupFor | any, position, candidate, or voter | No | Filter groups by their use. |
Group request fields
name is required on create. Send at least one field on update.
| Field | Type | Required on create | Description |
|---|---|---|---|
name | string | Yes | 1 to 200 characters. |
desc | string | No | Up to 2,000 characters. |
groupFor | enum | No | any, position, candidate, or voter. |
Example
curl -X POST "https://api.pepvote.com/voting-events/BOARD26/groups" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: group-north-001" -d '{"name":"North region","groupFor":"voter"}'{ "data": { "id": "j57group01", "votingEventId": "j57event01", "name": "North region", "desc": null, "groupFor": "voter", "logoUrl": null, "createdAt": 1776900300000 } }A successful create returns 201. Delete returns 202 with { "data": { "id": "...", "deletion": "queued" } }. The row is removed by the same scheduled batch the dashboard uses, so a read right after the delete can still return it for a moment.
Sponsor example
curl "https://api.pepvote.com/voting-events/BOARD26/sponsors" \
-H "Authorization: Bearer $PEPVOTE_API_KEY"{ "data": [{ "id": "j57sponsor01", "votingEventId": "j57event01", "name": "Northstar Credit Union", "info": "Community partner", "contactEmail": "hello@northstar.example", "pinnedSponsorNumber": 1, "logoUrl": null, "createdAt": 1776900350000 }], "nextCursor": null }Create and delete sponsor endpoints are not available yet.
Was this helpful?
Last updated September 5, 2026