Insights
Read voting totals, geography, and time-series activity.
Insights require the plan's voting insights feature. This is the same feature used by the dashboard.
Endpoints
| Method | Path | Scope | Description |
|---|---|---|---|
GET | /voting-events/:idOrCode/insights | read | Get voting totals and geography. |
GET | /voting-events/:idOrCode/insights/time-series | read | Get activity by day or hour. |
Time-series query parameters
| Name | Type | Required | Description |
|---|---|---|---|
granularity | day or hour | No | Defaults to day. |
day | YYYY-MM-DD | No | Required by the dashboard for hourly data. |
Insights example
curl "https://api.pepvote.com/voting-events/BOARD26/insights" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0"{
"data": {
"votingEventId": "j57event01",
"votes": {
"total": 184,
"confirmed": 180,
"unconfirmed": 4
},
"ballots": {
"started": 164,
"submitted": 160,
"active": 1,
"abandoned": 3,
"full": 120,
"partial": 40
},
"byChannel": [
{
"channel": "web",
"voteCount": 184
}
],
"geography": {
"votesWithCountry": 170,
"votesFromVpn": 3,
"votesNotDetectedAsVpn": 181,
"countries": [
{
"countryCode": "CA",
"voteCount": 140,
"voters": {
"kind": "exact",
"count": 118
}
}
]
}
}
}Time-series example
curl "https://api.pepvote.com/voting-events/BOARD26/insights/time-series?granularity=hour&day=2026-09-08" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0"{
"data": {
"votingEventId": "j57event01",
"granularity": "hour",
"day": "2026-09-08",
"bucketsTruncated": false,
"totalVotes": 24,
"voters": {
"kind": "exact",
"count": 21
},
"buckets": [
{
"bucket": "2026-09-08T12",
"startsAt": 1777968000000,
"voteCount": 24,
"voters": {
"kind": "exact",
"count": 21
}
}
]
}
}Was this helpful?
Last updated September 6, 2026