Payload format
The structure of webhook HTTP requests and JSON payloads for every event type.
Every webhook delivery is an HTTP POST request with a JSON body. Pepvote sends the same body again when it retries an event.
Request headers
| Header | Description |
|---|---|
Content-Type | application/json |
Pepvote-Signature | HMAC-SHA256 signature and timestamp. See Verifying signatures. |
Pepvote-Event-Type | The event type in the body, such as voting_event.started. |
Pepvote-Event-Id | The body id. Use it as the idempotency key. |
Pepvote-Delivery-Attempt | 1 for the first attempt, then 2 through 6 for retries. |
User-Agent | Pepvote-Webhooks/1.0 |
Verify the signature against the raw request body before parsing JSON. The body can contain personal data, including names and email addresses. Keep it out of client-side logs and public error reports.
Payload structure
Every payload has this envelope:
{
"id": "evt_mt7kry6p_37k4t2lb",
"type": "voting_event.started",
"createdAt": 1756735800000,
"data": {
}
}Envelope fields
| Field | Type | Description |
|---|---|---|
id | string | Event ID. It starts with evt_ and stays the same for every retry. Store it before triggering side effects. |
type | string | Event type. It matches the Pepvote-Event-Type header. |
createdAt | number | Unix timestamp in milliseconds when Pepvote emitted the event. |
data | object | Fields for this event type. |
Field names use camelCase. Use the example for the specific event type instead of assuming that a field appears in every event.
Common data fields
| Field | Where it appears | Description |
|---|---|---|
id | Create and update events that identify a resource | The resource ID. |
votingEventId | Many events related to a voting event | The voting event ID. |
votingEventCode | Many events related to a voting event | The voting event's short code. |
Bulk event payloads
Bulk deletion, approval, and invite revocation events include an ids array and truncated flag. Pepvote includes at most 100 IDs. When truncated is true, use the count field to learn how many records the operation affected.
| Field | Type | Where it appears |
|---|---|---|
deletedCount | number | Bulk deletion events. |
approvedCount | number | Bulk approval events. |
revokedCount | number | invite.revoked. |
ids | string[] | Affected resource IDs, capped at 100. |
truncated | boolean | true when the IDs array was cut to 100 entries. |
All event payloads
voting_event.created
{
"id": "evt_mt7kry6p_37k4t2lb",
"type": "voting_event.created",
"createdAt": 1756731600000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"title": "Board Election 2026",
"code": "EHYBT7452",
"type": "election",
"status": "draft",
"createdBy": "k574a00w8zxh753v4k25nn5xt58aykw5"
}
}voting_event.updated
{
"id": "evt_mt7ksa3q_r2n8v4wd",
"type": "voting_event.updated",
"createdAt": 1756735200000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"code": "EHYBT7452",
"title": "Board Election 2026",
"type": "election",
"status": "active",
"startsAt": 1756735800000,
"endsAt": 1756822200000
}
}voting_event.started
{
"id": "evt_mt7kt4bp_a5g7h2xm",
"type": "voting_event.started",
"createdAt": 1756747800000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"code": "EHYBT7452",
"title": "Board Election 2026",
"startsAt": 1756735800000
}
}voting_event.ended
{
"id": "evt_mt7lw5cr_b3f9k6yn",
"type": "voting_event.ended",
"createdAt": 1756735800000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"code": "EHYBT7452",
"title": "Board Election 2026",
"endsAt": 1756822200000
}
}voting_event.locked
{
"id": "evt_mt7mx6ds_c4g0l7zp",
"type": "voting_event.locked",
"createdAt": 1756735800000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"code": "EHYBT7452"
}
}voting_event.deleted
{
"id": "evt_mt7ny7et_d5h1m8aq",
"type": "voting_event.deleted",
"createdAt": 1756735800000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"code": "EHYBT7452",
"title": "Board Election 2026"
}
}voting_event.ownership_transferred
Sent to the previous owner's endpoints, then to the new owner's. Later events for this voting event go only to the new owner.
{
"id": "evt_mt7p2k4d_h6s9w1re",
"type": "voting_event.ownership_transferred",
"createdAt": 1756736400000,
"data": {
"id": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"code": "EHYBT7452",
"title": "Board Election 2026",
"previousCreatorId": "k17c2v0q8b3r5y9m4t6w1x8z2n5p7d3f",
"creatorId": "k1793hd8s2m4q6v0b7x5n1t9w3r8y2c6"
}
}vote.cast
{
"id": "evt_mt7s2a1q_x9f3h7pn",
"type": "vote.cast",
"createdAt": 1756748100000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"voterId": "jd74a00w8zxh753v4k25nn5xt58aykw5",
"voterEmail": "jane@example.com",
"visitorId": null,
"positionCount": 3,
"channel": "web"
}
}For polls, voterEmail may be null and visitorId contains the browser-generated visitor identifier:
{
"id": "evt_mt7s3b2r_y8g4j9qn",
"type": "vote.cast",
"createdAt": 1756748400000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "POLLX1234",
"voterId": "kw92b11x9ayj864w5l36oo6yu69bzlx6",
"voterEmail": null,
"visitorId": "visitor_a1b2c3d4e5f6",
"positionCount": 1,
"channel": "web"
}
}vote.confirmed
{
"id": "evt_mt7s3b2r_y0g4i8qo",
"type": "vote.confirmed",
"createdAt": 1756748160000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"confirmationCode": "ABC123",
"positionCount": 3
}
}vote.recount_started
{
"id": "evt_mt7t4c3s_z1h5j9rp",
"type": "vote.recount_started",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}vote.recount_completed
{
"id": "evt_mt7t5d4t_a2i6k0sq",
"type": "vote.recount_completed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}vote.exported
{
"id": "evt_mt7u6e5u_b3j7l1tr",
"type": "vote.exported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"recordCount": 542
}
}vote.export_failed
{
"id": "evt_mt7u7f6v_c4k8m2us",
"type": "vote.export_failed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"reason": "Storage write failed after 200 rows."
}
}voter.created
{
"id": "evt_mt7v8g7w_d5l9n3vt",
"type": "voter.created",
"createdAt": 1756735800000,
"data": {
"id": "jn482xqt7rw0kp6a3ydv5mcbse9f1hgz",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "Jane Smith",
"email": "jane@example.com"
}
}voter.updated
{
"id": "evt_mt7v9h8x_e6m0o4wu",
"type": "voter.updated",
"createdAt": 1756735800000,
"data": {
"id": "jn482xqt7rw0kp6a3ydv5mcbse9f1hgz",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "Jane A. Smith",
"email": "jane@example.com"
}
}voter.imported
{
"id": "evt_mt7w0i9y_f7n1p5xv",
"type": "voter.imported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"importedCount": 250,
"skippedCount": 3
}
}voter.import_failed
{
"id": "evt_mt7w1j0z_g8o2q6yw",
"type": "voter.import_failed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"reason": "Duplicate email found at row 45.",
"succeededCount": 44
}
}voter.bulk_deleted
{
"id": "evt_mt7w2k1a_h9p3r7zx",
"type": "voter.bulk_deleted",
"createdAt": 1756731600000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"deletedCount": 15,
"ids": [
"jn482xqt7rw0kp6a3ydv5mcbse9f1hgz",
"qr593yas8sx1lq7b4zew6ndcte0g2ihb"
],
"truncated": false
}
}voter.bulk_approved
{
"id": "evt_mt7w3l2b_i0q4s8ay",
"type": "voter.bulk_approved",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"approvedCount": 1,
"ids": [
"jn482xqt7rw0kp6a3ydv5mcbse9f1hgz"
],
"truncated": false
}
}voter.reminder_sent
{
"id": "evt_mt7w3z9d_k2s6u0ca",
"type": "voter.reminder_sent",
"createdAt": 1756735900000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"runId": "xd73dssf7zmj3bdej51xjps6r98drh9d",
"scheduledCount": 214
}
}voter.exported
{
"id": "evt_mt7w4m3c_j1r5t9bz",
"type": "voter.exported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"recordCount": 250
}
}voter.export_failed
{
"id": "evt_mt7w5n4d_k2s6u0ca",
"type": "voter.export_failed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"reason": "File storage quota exceeded."
}
}candidate.created
{
"id": "evt_mt7x6o5e_l3t7v1db",
"type": "candidate.created",
"createdAt": 1756735200000,
"data": {
"id": "wd826bfr3hn5ks9e7yat0pgcxj4m1lqv",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "John Doe",
"positionId": "tp914cgs4io6lt0f8zbu1qhdy5kn2mrw"
}
}candidate.updated
{
"id": "evt_mt7x7p6f_m4u8w2ec",
"type": "candidate.updated",
"createdAt": 1756735800000,
"data": {
"id": "wd826bfr3hn5ks9e7yat0pgcxj4m1lqv",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "John A. Doe"
}
}candidate.imported
{
"id": "evt_mt7x8q7g_n5v9x3fd",
"type": "candidate.imported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"importedCount": 12,
"skippedCount": 1
}
}candidate.bulk_deleted
{
"id": "evt_mt7x9r8h_o6w0y4ge",
"type": "candidate.bulk_deleted",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"deletedCount": 5,
"ids": [
"wd826bfr3hn5ks9e7yat0pgcxj4m1lqv"
],
"truncated": false
}
}candidate.bulk_approved
{
"id": "evt_mt7y0s9i_p7x1z5hf",
"type": "candidate.bulk_approved",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"approvedCount": 1,
"ids": [
"wd826bfr3hn5ks9e7yat0pgcxj4m1lqv"
],
"truncated": false
}
}position.created
{
"id": "evt_mt7z1t0j_q8y2a6ig",
"type": "position.created",
"createdAt": 1756735800000,
"data": {
"id": "tp914cgs4io6lt0f8zbu1qhdy5kn2mrw",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"title": "President",
"votingMethod": "plurality"
}
}position.updated
{
"id": "evt_mt7z2u1k_r9z3b7jh",
"type": "position.updated",
"createdAt": 1756735800000,
"data": {
"id": "tp914cgs4io6lt0f8zbu1qhdy5kn2mrw",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"title": "President",
"votingMethod": "ranked_choice"
}
}position.imported
{
"id": "evt_mt7z3v2l_s0a4c8ki",
"type": "position.imported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"importedCount": 6,
"skippedCount": 0
}
}position.bulk_deleted
{
"id": "evt_mt7z4w3m_t1b5d9lj",
"type": "position.bulk_deleted",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"deletedCount": 2,
"ids": [
"tp914cgs4io6lt0f8zbu1qhdy5kn2mrw"
],
"truncated": false
}
}group.created
{
"id": "evt_mt804x4n_u2c6e0mk",
"type": "group.created",
"createdAt": 1756735800000,
"data": {
"id": "gp371dhv5jp8mu2g0acw3riexl6o4nsb",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "Engineering Department"
}
}group.updated
{
"id": "evt_mt805y5o_v3d7f1nl",
"type": "group.updated",
"createdAt": 1756735800000,
"data": {
"id": "gr825dhs9io6lt0f8zbu1qhdy5kn2mrw",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "Engineering & Design"
}
}group.imported
{
"id": "evt_mt806z6p_w4e8g2om",
"type": "group.imported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"importedCount": 4,
"skippedCount": 0
}
}group.bulk_deleted
{
"id": "evt_mt807a7q_x5f9h3pn",
"type": "group.bulk_deleted",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"deletedCount": 2,
"ids": [
"gp371dhv5jp8mu2g0acw3riexl6o4nsb"
],
"truncated": false
}
}sponsor.created
{
"id": "evt_mt808b8r_y6g0i4qo",
"type": "sponsor.created",
"createdAt": 1756735800000,
"data": {
"id": "sp593eiw6kq9nv3h1bdc4sjfym7p5otc",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "Acme Corp"
}
}sponsor.updated
{
"id": "evt_mt809c9s_z7h1j5rp",
"type": "sponsor.updated",
"createdAt": 1756735800000,
"data": {
"id": "sp825dhs9io6lt0f8zbu1qhdy5kn2mrw",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"name": "Acme Corporation"
}
}sponsor.imported
{
"id": "evt_mt810d0t_a8i2k6sq",
"type": "sponsor.imported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"importedCount": 3,
"skippedCount": 0
}
}sponsor.bulk_deleted
{
"id": "evt_mt811e1u_b9j3l7tr",
"type": "sponsor.bulk_deleted",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"deletedCount": 1,
"ids": [
"sp593eiw6kq9nv3h1bdc4sjfym7p5otc"
],
"truncated": false
}
}registration.voter_registered
{
"id": "evt_mt812f2v_c0k4m8us",
"type": "registration.voter_registered",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"voterId": "hw92c22y0bzk975x6m47pp7zv70cylz7",
"name": "Alex Johnson",
"email": "alex@example.com"
}
}registration.candidate_registered
{
"id": "evt_mt813g3w_d1l5n9vt",
"type": "registration.candidate_registered",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"candidateId": "lx83d33z1cak086y7n58qq8aw81damb8",
"name": "Sam Williams"
}
}registration.voter_registration_closed
{
"id": "evt_mt814h4x_e2m6o0wu",
"type": "registration.voter_registration_closed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"closedAt": 1756735800000
}
}registration.candidate_registration_closed
{
"id": "evt_mt815i5y_f3n7p1xv",
"type": "registration.candidate_registration_closed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"closedAt": 1756735800000
}
}pricing.vote_pricing_updated
{
"id": "evt_mt816j6z_g4o8q2yw",
"type": "pricing.vote_pricing_updated",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}pricing.candidate_registration_pricing_updated
{
"id": "evt_mt817k7a_h5p9r3zx",
"type": "pricing.candidate_registration_pricing_updated",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}pricing.quadratic_credit_pricing_updated
{
"id": "evt_mt818l8b_i6q0s4ay",
"type": "pricing.quadratic_credit_pricing_updated",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}payment.succeeded
{
"id": "evt_mt819m9c_j7r1t5bz",
"type": "payment.succeeded",
"createdAt": 1756748400000,
"data": {
"id": "pa604fjx7lr0ow4i2cfe5tkgzn8q6pub",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"amount": 50000,
"currency": "NGN",
"provider": "paystack",
"purpose": "vote"
}
}payment.failed
{
"id": "evt_mt820n0d_k8s2u6ca",
"type": "payment.failed",
"createdAt": 1756735800000,
"data": {
"id": "pa715gky8ms1px5j3dgf6ulhao9r7qvc",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"amount": 50000,
"currency": "NGN",
"provider": "paystack",
"purpose": "vote",
"reason": "Card declined by issuing bank."
}
}payment.refunded
amount is what the payer originally paid and refundedAmount is what went back, both in minor units. sideEffect says what Pepvote undid with the refund: votes_removed, credits_reversed, candidate_deleted, candidate_kept, or none.
{
"id": "evt_mt821p1e_l9t3v7db",
"type": "payment.refunded",
"createdAt": 1756748700000,
"data": {
"id": "pa604fjx7lr0ow4i2cfe5tkgzn8q6pub",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"amount": 50000,
"refundedAmount": 45000,
"currency": "NGN",
"provider": "paystack",
"purpose": "vote",
"sideEffect": "votes_removed"
}
}payment.refund_failed
Same fields as payment.refunded, plus reason from the payment provider.
{
"id": "evt_mt822q2f_m0u4w8ec",
"type": "payment.refund_failed",
"createdAt": 1756748900000,
"data": {
"id": "pa604fjx7lr0ow4i2cfe5tkgzn8q6pub",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"amount": 50000,
"refundedAmount": 45000,
"currency": "NGN",
"provider": "paystack",
"purpose": "vote",
"sideEffect": "votes_removed",
"reason": "Refund window for this transaction has closed."
}
}payment.exported
{
"id": "evt_mt823r3g_n1v5x9fd",
"type": "payment.exported",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"recordCount": 128
}
}payment.export_failed
{
"id": "evt_mt824s4h_o2w6y0ge",
"type": "payment.export_failed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"reason": "Storage write failed after 200 rows."
}
}invite.sent
{
"id": "evt_mt821o1e_l9t3v7db",
"type": "invite.sent",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"role": "observer",
"insertedCount": 3
}
}invite.accepted
{
"id": "evt_mt822p2f_m0u4w8ec",
"type": "invite.accepted",
"createdAt": 1756735800000,
"data": {
"id": "iv826bqs3hn5kt9e7yau0pgcxj4m1lrw",
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"email": "observer@example.com",
"role": "observer"
}
}invite.revoked
{
"id": "evt_mt823q3g_n1v5x9fd",
"type": "invite.revoked",
"createdAt": 1756731600000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"revokedCount": 2,
"ids": [
"iv826bqs3hn5kt9e7yau0pgcxj4m1lrw",
"iv937crt4io6lu0f8zbu1rhfyk5n2msw"
],
"truncated": false
}
}plan.upgraded
{
"id": "evt_mt824r4h_o2w6y0ge",
"type": "plan.upgraded",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"previousPlan": "free",
"newPlan": "starter"
}
}plan.voter_limit_increased
{
"id": "evt_mt825s5i_p3x7z1hf",
"type": "plan.voter_limit_increased",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452",
"previousLimit": 150,
"newLimit": 500
}
}result.published
{
"id": "evt_mt826t6j_q4y8a2ig",
"type": "result.published",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}result.recount_started
{
"id": "evt_mt827u7k_r5z9b3jh",
"type": "result.recount_started",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}result.recount_completed
{
"id": "evt_mt828v8l_s6a0c4ki",
"type": "result.recount_completed",
"createdAt": 1756735800000,
"data": {
"votingEventId": "mx757dzmehw9xvva8y6mbyfttd8d3nqb",
"votingEventCode": "EHYBT7452"
}
}Related help
Last updated October 16, 2026