Webhooks overview
Get an HTTP POST from Pepvote whenever something happens in your events.
Webhooks let your own systems react to Pepvote events: a vote cast, a candidate registered, an event ended, a payment succeeded. Pepvote sends a signed JSON POST to a URL you control.
Set one up
- Open Dashboard → Profile → Webhooks and select Add endpoint.
- Enter the receiver URL (
https://, orhttp://localhostfor development) and pick the event types you want. - Select Create endpoint and copy the signing secret into your receiver's configuration.
- Trigger an event and check the Webhook deliveries section on the endpoint card.
Your receiver should verify the signature, record the event ID so retries are handled once, and return a 2xx within 15 seconds.
Account-level vs event-level
Account-level endpoints (Profile → Webhooks) get events from every event you own. Event-level endpoints (event → Settings → Webhooks) get events from one event only, and while any event-level endpoint is active, it replaces the account-level ones for that event. Disable or delete the event-level endpoints to fall back. See Managing endpoints.
Nothing arriving?
- The endpoint is enabled and subscribed to the event type that fired.
- An event-level endpoint is not overriding your account-level one.
- The URL is
https://(or a local development URL). - The delivery log shows the response or network error.
- Your receiver uses the current secret. Rolling it invalidates the old one immediately.
Related help
Last updated September 4, 2026