Webhooks
Event types
The full list of webhook event types Pepvote can send.
Pepvote supports 54 webhook event types grouped by resource. Each event type follows the pattern resource.action.
| Event type | Fires when | |
|---|
voting_event.created | A new voting event is created. | Schema |
voting_event.updated | Event settings are updated (title, dates, rules, etc.). | Schema |
voting_event.started | Voting opens, by schedule or manually. | Schema |
voting_event.ended | Voting closes, by schedule or manually. | Schema |
voting_event.locked | The event is locked after ending (no further changes). | Schema |
voting_event.deleted | The event is deleted. | Schema |
| Event type | Fires when | |
|---|
vote.cast | A voter submits their ballot (before confirmation). | Schema |
vote.confirmed | A voter confirms their ballot with a confirmation code. | Schema |
vote.recount_started | A vote tally recount is triggered. | Schema |
vote.recount_completed | A vote tally recount finishes. | Schema |
vote.exported | A vote data export completes. | Schema |
vote.export_failed | A vote data export fails. | Schema |
| Event type | Fires when | |
|---|
voter.created | A voter is added through the dashboard. | Schema |
voter.updated | Voter details are updated. | Schema |
voter.imported | A batch voter import completes. | Schema |
voter.import_failed | A batch voter import fails. | Schema |
voter.bulk_deleted | Voters are bulk-deleted. | Schema |
voter.bulk_approved | Self-registered voters are bulk-approved. | Schema |
voter.exported | A voter data export completes. | Schema |
voter.export_failed | A voter data export fails. | Schema |
| Event type | Fires when | |
|---|
candidate.created | A candidate is added through the dashboard. | Schema |
candidate.updated | Candidate details are updated. | Schema |
candidate.imported | A batch candidate import completes. | Schema |
candidate.bulk_deleted | Candidates are bulk-deleted. | Schema |
candidate.bulk_approved | Self-registered candidates are bulk-approved. | Schema |
| Event type | Fires when | |
|---|
position.created | A position is added to the event. | Schema |
position.updated | Position settings are updated. | Schema |
position.imported | A batch position import completes. | Schema |
position.bulk_deleted | Positions are bulk-deleted. | Schema |
| Event type | Fires when | |
|---|
group.created | A group is added to the event. | Schema |
group.updated | Group details are updated. | Schema |
group.imported | A batch group import completes. | Schema |
group.bulk_deleted | Groups are bulk-deleted. | Schema |
| Event type | Fires when | |
|---|
sponsor.created | A sponsor is added to the event. | Schema |
sponsor.updated | Sponsor details are updated. | Schema |
sponsor.imported | A batch sponsor import completes. | Schema |
sponsor.bulk_deleted | Sponsors are bulk-deleted. | Schema |
| Event type | Fires when | |
|---|
registration.voter_registered | A voter submits a public self-registration form. | Schema |
registration.candidate_registered | A candidate submits a public self-registration form. | Schema |
registration.voter_registration_closed | Voter public registration closes (by schedule or event lifecycle). | Schema |
registration.candidate_registration_closed | Candidate public registration closes. | Schema |
| Event type | Fires when | |
|---|
pricing.vote_pricing_updated | Vote pricing is configured or updated. | Schema |
pricing.candidate_registration_pricing_updated | Candidate registration fee is configured or updated. | Schema |
pricing.quadratic_credit_pricing_updated | Quadratic credit pricing is configured or updated. | Schema |
| Event type | Fires when | |
|---|
payment.succeeded | A payment attempt succeeds (vote purchase, registration fee, credit top-up, or plan checkout). | Schema |
payment.failed | A payment attempt fails or expires. | Schema |
| Event type | Fires when | |
|---|
invite.sent | Someone is invited to manage or observe the event. | Schema |
invite.accepted | An invited user accepts the invitation. | Schema |
invite.revoked | Access is revoked from invited users. | Schema |
| Event type | Fires when | |
|---|
plan.upgraded | The voting event plan is upgraded (e.g. Free to Starter). | Schema |
plan.voter_limit_increased | The voter limit is increased through a paid top-up. | Schema |
| Event type | Fires when | |
|---|
result.published | The public result page is published for the first time. | Schema |
result.recount_started | A ranked-choice result recount is triggered. | Schema |
result.recount_completed | A ranked-choice result recount finishes. | Schema |
Last updated August 25, 2026