Developers
Connect PollGuard to the system of record you already have.
Most organisations already keep members somewhere else. The REST API and webhooks let you keep that as the source of truth and treat PollGuard as the election layer.
What the integration offers
REST API
A JSON API over HTTPS covering organisations, members, elections, positions, candidates, verification status and results, with consistent response envelopes and validation errors.
API key management
Issue and revoke keys for your integration, separately from user accounts, so a departing staff member does not take your integration with them.
Webhooks
Register endpoints to be notified when things happen — so your own systems can react without polling.
OpenAPI reference
The API is documented with OpenAPI and served as an interactive reference at /api/docs on your API host, so the documentation matches the deployed version rather than a stale PDF.
Idempotent writes
Mutating requests accept an idempotency key, so a retry after a network failure does not duplicate a member or a payment.
Rate limits
Endpoints are rate limited, with limits raised for integrations that need it. Handle 429 responses and honour Retry-After.
Practical notes
- Identifiers are opaque strings. Treat record IDs as strings — do not assume a UUID format or parse them.
- Money is returned as a string. Decimal values are serialised as strings to avoid floating-point loss; parse them with a decimal-safe type.
- Ballots are not exposed. There is no API that returns how an individual voted. Results are available in aggregate, and receipt lookup confirms only that a ballot was recorded.
- Verification stays in the product. Identity checks run through our flows so that human review and data-protection obligations are enforced; the API reports verification status rather than accepting externally-asserted verification.
API and webhook access is a paid module. See pricing, and tell us what you are integrating with — we will tell you whether it is a good fit before you build.
Planning an integration?
Describe your membership system and what you need to sync. We will point you at the right endpoints, or tell you if the integration is not worth building.