Pepvote Support Center
Pepvote API

Webhook endpoints

Manage webhook endpoint subscriptions through the API.

Use these endpoints to create and manage webhook subscriptions. Read the webhook support guide for delivery, retries, and signature verification.

Endpoints

MethodPathScopeDescription
GET/webhook-endpointsreadList endpoints.
POST/webhook-endpointswriteCreate an endpoint.
PATCH/webhook-endpoints/:idwriteUpdate or enable or disable an endpoint.
DELETE/webhook-endpoints/:idwriteDelete an endpoint.

List query parameters

NameTypeRequiredDescription
votingEventCodestringNoList endpoints for one voting event. Omit for account-level endpoints.

Request fields

url and eventTypes are required on create. Send at least one field on update.

FieldTypeRequired on createDescription
urlstringYesReceiver URL, up to 2,048 characters.
descriptionstringNoUp to 200 characters.
eventTypesstring arrayYesOne or more supported webhook event types.
votingEventCodestringNoRestrict a new endpoint to one event.
statusactive or disabledNoUpdate only. Starts or stops deliveries.

The API accepts the event types in the webhook event type list. Unknown event types are rejected.

Example

curl -X POST "https://api.pepvote.com/webhook-endpoints" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: voter-hook-001" \
  -d '{"url":"https://example.com/hooks/pepvote","description":"CRM voter sync","eventTypes":["voter.created","voter.updated"],"votingEventCode":"BOARD26"}'
{ "data": { "id": "j57hook01", "votingEventId": "j57event01", "url": "https://example.com/hooks/pepvote", "description": "CRM voter sync", "eventTypes": ["voter.created", "voter.updated"], "status": "active", "disabledReason": null, "consecutiveFailures": 0, "secretHint": "a9f2", "secret": "whsec_example_only", "createdAt": 1776900500000 } }

The secret field appears only in a successful create response. Copy it to your receiver and do not log it. Later reads and updates return secretHint only. Delete returns 204 with no response body.

Was this helpful?

Last updated September 5, 2026

On this page