Pepvote Support Center
Webhooks

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

  1. Open Dashboard → Profile → Webhooks and select Add endpoint.
  2. Enter the receiver URL (https://, or http://localhost for development) and pick the event types you want.
  3. Select Create endpoint and copy the signing secret into your receiver's configuration.
  4. 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.
Was this helpful?

Last updated September 4, 2026

On this page