Pepvote Support Center

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.

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

  1. Create an API key in Profile → API keys.
  2. Send it as a bearer token.
  3. Use the quick start to test /me.
  4. Read pagination and errors before you build a sync.

API conventions

  • Requests and responses use JSON.
  • Timestamps are Unix milliseconds.
  • Successful single-resource responses use { "data": ... }.
  • List responses use { "data": [...], "nextCursor": ... }.
  • POST requests accept an optional Idempotency-Key header.
  • Unknown JSON fields and query parameters return an error. This helps catch spelling mistakes.

Endpoint groups

GroupWhat it covers
Public votingBuild a voting interface, register, cast, confirm, and read results
PaymentsPayment businesses, event links, checkout, and payment status
PricingVote, candidate registration, and quadratic credit prices
UploadsOne-hop image uploads and storage IDs
Voting eventsEvents, logos, and event statistics
PositionsPositions, voting settings, and batch creation
CandidatesCandidates, avatars, approval, and batch creation
GroupsEvent groups, logos, and batch creation
SponsorsEvent sponsors and logos
VotersVoters, approval, and batch creation
ResultsTally results
VotesIndividual vote records
ExportsCSV, JSON, and result PDF exports
InvitesVoting event collaborator invites
InsightsVoting totals, geography, and time series
Webhook endpointsWebhook 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.

Was this helpful?

Last updated September 6, 2026

On this page