Pepvote Support Center

Check Public Voter

POST
/public/voting-events/{idOrCode}/voter/check

Eligibility failures return 200 with eligible false and a reason. Cast checks eligibility again.

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.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

voterKeystring

Voter key from the email. Required for elections.

  • Length: up to 200 characters
visitorIdstring

Required for polls. vi_ followed by 16 to 128 hex characters, derived from the person, for example vi_ + sha256(lowercased email).

  • Length: up to 200 characters
  • Pattern: ^vi_[0-9a-fA-F]{16,128}$
voterIdstring

External voter ID for polls that require one.

  • Length: up to 200 characters
emailstring

Voter email.

  • Length: up to 320 characters

Response Body

application/json

application/json

curl -X POST "https://example.com/public/voting-events/string/voter/check" \  -H "User-Agent: my-app/1.0" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "eligible": true,
    "voted": false,
    "name": "string",
    "weight": 0,
    "status": "not_approved"
  }
}
{
  "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