Pepvote API overview
Use the Pepvote API to manage voting data from your server.
The Pepvote API lets your server read and manage data in voting events that your API key can access. The base URL is https://api.pepvote.com.
GET https://api.pepvote.com needs no key and returns the company name, website, a link to these docs, and the status page. https://api.pepvote.com/docs redirects here, and /docs/<page> opens a specific page, for example /docs/voters.
The API uses JSON, bearer API keys, cursor pagination, and standard HTTP status codes. It does not support browser CORS. Keep keys on your server.
Start here
- Create an API key in Profile → API keys.
- Send it as a bearer token.
- Use the quick start to test
/me. - Read pagination and errors before you build a sync.
API conventions
- Requests and responses use JSON.
- Timestamps are Unix milliseconds.
- IDs are opaque strings. Store them as strings.
- Successful single-resource responses use
{ "data": ... }. - List responses use
{ "data": [...], "nextCursor": ... }. POSTrequests accept an optionalIdempotency-Keyheader.- Unknown JSON fields and query parameters return an error. This helps catch spelling mistakes.
Endpoint groups
| Group | What it covers |
|---|---|
| Voting events | Events and event statistics |
| Positions | Positions and their voting settings |
| Candidates | Candidates in an event |
| Groups and sponsors | Event groups and sponsors |
| Voters | Voters, including batch creation |
| Results and votes | Tally results and individual votes |
| Webhook endpoints | Webhook subscriptions |
API version
The API has no version in the URL. Changes are additive: new fields and endpoints can appear, and existing ones keep their names, types, and status codes. If a breaking change ever becomes necessary, Pepvote will introduce date-based versioning through a request header, and existing integrations will keep the behaviour they were built against.
Every change, and any change announced ahead of time, is listed in the API changelog.
Last updated September 5, 2026