Pepvote Support Center

Get Public Voting Event

GET
/public/voting-events/{idOrCode}

Everything a voting UI needs before it renders. Nothing here needs a voter identity.

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.

Response Body

application/json

application/json

curl -X GET "https://example.com/public/voting-events/string" \  -H "User-Agent: my-app/1.0"
{
  "data": {
    "id": "string",
    "code": "string",
    "type": "election",
    "title": "string",
    "desc": "string",
    "status": "draft",
    "startsAt": 0,
    "endsAt": 0,
    "locked": true,
    "logoUrl": "string",
    "votingFormat": "default",
    "multiStepVoting": true,
    "shuffleCandidates": true,
    "groupMode": true,
    "canContestMultiplePositions": true,
    "aliases": {
      "votingEvent": "string",
      "position": "string",
      "candidate": "string",
      "voter": "string",
      "voterId": "string",
      "group": "string",
      "candidateGroup": "string",
      "voterGroup": "string",
      "sponsor": "string",
      "weight": "string"
    },
    "voter": {
      "requireVoterId": true,
      "voterIdValidationLogic": "contains",
      "voterIdValidatingValue": "string",
      "saveVoterInfo": true,
      "pollIdentity": "voter_id"
    },
    "registration": {
      "voterCanRegister": true,
      "voterPublicRegistrationClosesAt": 0,
      "candidateCanRegister": true,
      "candidatePublicRegistrationClosesAt": 0
    },
    "results": {
      "liveResult": true,
      "publishedResult": true,
      "available": true
    },
    "payments": {
      "payToVote": true,
      "payToRegisterCandidate": true,
      "provider": "stripe",
      "requiresEmail": true,
      "votePricing": {
        "pricingMode": "per_vote",
        "prices": [
          {
            "id": "string",
            "amount": 0,
            "currency": "string",
            "positionId": "string",
            "weight": 0,
            "label": "string"
          }
        ]
      },
      "candidateRegistrationPricing": {
        "pricingMode": "per_registration",
        "prices": [
          {
            "id": "string",
            "amount": 0,
            "currency": "string",
            "positionId": "string",
            "label": "string"
          }
        ]
      }
    },
    "groups": [
      {
        "id": "string",
        "name": "string",
        "groupFor": "any"
      }
    ]
  }
}
{
  "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