Get Public Ballot
Positions, approved candidates, and sponsors to draw the ballot. Candidates are shuffled per seed when the event has shuffleCandidates on.
Authorization
bearerAuth AuthorizationBearer <token>
A key in the form pepvote_api_ followed by 32 hexadecimal characters.
In: header
Header Parameters
User-Agentstringrequired
Name and version of the calling integration. Required on every request.
Path Parameters
idOrCodestringrequired
Voting event ID or code.
Query Parameters
seedstring
Stable shuffle key, for example a session ID, so one voter sees the same candidate order on every request.
Response Body
application/json
application/json
curl -X GET "https://example.com/public/voting-events/string/ballot" \ -H "User-Agent: my-app/1.0"{
"data": {
"votingEventId": "string",
"positions": [
{
"id": "string",
"title": "string",
"desc": "string",
"groupId": "string",
"minSelections": 0,
"maxSelections": 0,
"scoreMin": 0,
"scoreMax": 0,
"cumulativePointBudget": 0,
"quadraticBaseCreditBudget": 0,
"quadraticAllowCreditTopUps": true,
"quadraticMaxPurchasedCreditsPerVoter": 0,
"votingMethod": "plurality",
"group": {
"id": "string",
"name": "string"
}
}
],
"candidates": [
{
"id": "string",
"name": "string",
"positionIds": [
"string"
],
"groupId": "string",
"group": {
"id": "string",
"name": "string"
},
"referendumRole": "for",
"avatarUrl": "string"
}
],
"sponsors": [
{
"id": "string",
"name": "string",
"info": "string",
"pinnedSponsorNumber": 0,
"logoUrl": "string"
}
]
}
}{
"error": {
"code": "bad_request",
"message": "string",
"details": {
"field": "string",
"parameter": "string",
"limit": 0,
"retryAfterSeconds": 0,
"feature": "string",
"plan": "string"
}
}
}Was this helpful?
Last updated September 6, 2026