Pepvote Support Center

Get Public Results

GET
/public/voting-events/{idOrCode}/results

Available only while results.liveResult is on, or after the event ends when results.publishedResult is on. Otherwise 404.

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/results" \  -H "User-Agent: my-app/1.0"
{
  "data": {
    "votingEventId": "string",
    "title": "string",
    "positions": [
      {
        "id": "string",
        "title": "string",
        "desc": "string",
        "groupId": "string",
        "votingMethod": "string",
        "tallyRule": {
          "type": "plurality_total",
          "seatCount": 1,
          "stvQuota": "droop",
          "bordaSchema": "zero_based"
        },
        "totalCandidates": 0,
        "totalVotes": 0,
        "totalWeightedVotes": 0,
        "rankedChoiceCount": 0,
        "tallyComputedAt": 0,
        "tallyRecountPending": true,
        "tallyTrace": {
          "kind": "additive",
          "rule": "plurality_total",
          "rawTotal": 0,
          "effectiveTotal": 0,
          "candidates": [
            {
              "candidateId": "string",
              "rawValue": 0,
              "effectiveValue": 0
            }
          ]
        },
        "referendum": {
          "responses": 0,
          "weightedResponses": 0,
          "valid": 0,
          "weightedValid": 0,
          "for": {
            "candidateId": "string",
            "name": "string",
            "votes": 0,
            "weightedVotes": 0,
            "shareOfResponses": 0,
            "weightedShareOfResponses": 0,
            "shareOfValid": 0,
            "weightedShareOfValid": 0
          },
          "against": {
            "candidateId": "string",
            "name": "string",
            "votes": 0,
            "weightedVotes": 0,
            "shareOfResponses": 0,
            "weightedShareOfResponses": 0,
            "shareOfValid": 0,
            "weightedShareOfValid": 0
          },
          "abstain": {
            "candidateId": "string",
            "name": "string",
            "votes": 0,
            "weightedVotes": 0,
            "shareOfResponses": 0,
            "weightedShareOfResponses": 0,
            "shareOfValid": 0,
            "weightedShareOfValid": 0
          }
        },
        "candidates": [
          {
            "id": "string",
            "name": "string",
            "status": "string",
            "groupId": "string",
            "referendumRole": "string",
            "avatarUrl": "string",
            "votesWon": 0,
            "weightedVotesWon": 0,
            "percentageWon": 0,
            "weightedPercentageWon": 0
          }
        ]
      }
    ],
    "stats": {
      "positions": {
        "total": 0,
        "expectingVotes": 0,
        "withoutCandidates": 0,
        "needingMoreCandidates": 0,
        "referendumsNeedingRoles": 0
      },
      "candidates": {
        "total": 0,
        "approved": 0,
        "pending": 0
      },
      "groups": {
        "total": 0,
        "groupForCandidates": 0,
        "groupForPositions": 0,
        "groupForVoters": 0
      },
      "voters": {
        "total": 0,
        "approved": 0,
        "pending": 0,
        "voted": 0,
        "turnout": 0
      },
      "votes": {
        "total": 0,
        "received": 0,
        "weightedReceived": 0,
        "perVoter": 0,
        "expected": 0,
        "null": 0,
        "hasRankedPositions": true,
        "hasAdditivePositions": true
      },
      "quadraticCredits": {
        "baseCredits": 0,
        "unusedCredits": 0,
        "purchased": 0,
        "spent": 0
      }
    }
  }
}
{
  "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