Quick start
Make your first Pepvote API request with curl.
Set your API key in a shell variable. Run this from a trusted server or local terminal. Do not put the key in browser code.
export PEPVOTE_API_KEY="pepvote_api_0123456789abcdef0123456789abcdef"
export PEPVOTE_API_URL="https://api.pepvote.com"Check the API
The health check does not need a key, but it still needs a User-Agent header.
curl "$PEPVOTE_API_URL/health" \
-H "User-Agent: my-app/1.0"{
"status": "ok",
"time": 1777003200000
}Check the key owner
curl "$PEPVOTE_API_URL/me" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" \
-H "User-Agent: my-app/1.0"{
"data": {
"user": {
"id": "user_01",
"name": "Jordan Lee",
"email": "jordan@example.com"
},
"apiKey": {
"id": "key_01",
"name": "CRM sync",
"scopes": [
"read",
"write"
]
}
}
}List voting events
curl "$PEPVOTE_API_URL/voting-events?limit=50" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" \
-H "User-Agent: my-app/1.0"Create a voter
BOARD26 is the event code. Copy it from the event's URL in the dashboard, or from code in the list response above.
curl -X POST "$PEPVOTE_API_URL/voting-events/BOARD26/voters" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" \
-H "User-Agent: my-app/1.0" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: add-amina-bello-001" \
-d '{"voterId":"M-1042","name":"Amina Bello","email":"amina@example.com","status":"approved"}'Read authentication, pagination, errors, and idempotency before you connect a production workflow.
Was this helpful?
Last updated September 6, 2026