Event Types
An event type is named <object>.<action>: the object that changed, as the API names it, and what happened to it. A webhook receives only the event types it lists in eventTypes, so new event types never reach the webhooks you already have.
| Event type | Sent when | data.object |
|---|---|---|
membership.created | A membership is created: bought online or at the till, made in the back office or with Create Membership, redeemed with a gift card, or renewed | Membership |
membership.updated | A property of the membership changes, for example validTo or autoRenew | Membership |
membership.deleted | A membership is deleted, or the order it was bought on is refunded | The Membership as it was when it was deleted |
Memberships
data.object is the Membership as Get Membership returns it at the time of the change, without changeLog.
- Renewals: a renewal is a new membership. You receive
membership.createdwithpreviousMembershipIdset to the membership it renews, andrenewal: true. - Cancelled subscriptions: when a member stops automatic renewal,
autoRenewturnsfalseand you receivemembership.updated. - Start and expiry:
activefollowsvalidFromandvalidToas the days pass, without a webhook event. Keep the dates and work out from them whether a membership is active.
membership.created
{ "id": "5f0c3a8e-6d2b-4c1e-9a7f-2b8d4e6f1a3c", "type": "membership.created", "createdAt": "2026-11-03T10:15:42.123Z", "testMode": false, "data": { "object": { "id": "bd4a0997-39db-41d9-883a-cdfa83e2101f", "createdAt": "2026-11-03T10:15:41.870Z", "updatedAt": "2026-11-03T10:15:41.870Z", "validFrom": "2026-11-03", "validTo": "2027-11-03", "active": true, "autoRenew": true, "autoRenewed": false, "previousMembershipId": null, "renewal": false, "customerId": "8f14e45f-ceea-467a-9b5e-1d3c2a4b6e7f", "secondaryCustomerId": null, "order": { "id": "f0a52c7e-9e04-4bb4-bd38-1bb88e1dd0e4", "salesChannelType": "WEB" }, "extensions": [], "membershipType": { "id": "0c1de555-6f74-4a83-91b0-0f6594306ac1", "title": "Yearly", "cycle": "YEARLY", "price": 54000, "origin": "WEB" } } } }
membership.updated
The member turned automatic renewal off:
{ "id": "c2a7e9d4-3b1f-4e8a-a6c5-7d9e0f1b2c3d", "type": "membership.updated", "createdAt": "2026-12-01T08:02:11.540Z", "testMode": false, "data": { "object": { "id": "bd4a0997-39db-41d9-883a-cdfa83e2101f", "createdAt": "2026-11-03T10:15:41.870Z", "updatedAt": "2026-12-01T08:02:11.512Z", "validFrom": "2026-11-03", "validTo": "2027-11-03", "active": true, "autoRenew": false, "autoRenewed": false, "previousMembershipId": null, "renewal": false, "customerId": "8f14e45f-ceea-467a-9b5e-1d3c2a4b6e7f", "secondaryCustomerId": null, "order": { "id": "f0a52c7e-9e04-4bb4-bd38-1bb88e1dd0e4", "salesChannelType": "WEB" }, "extensions": [], "membershipType": { "id": "0c1de555-6f74-4a83-91b0-0f6594306ac1", "title": "Yearly", "cycle": "YEARLY", "price": 54000, "origin": "WEB" } } } }
membership.deleted
The order was refunded:
{ "id": "e7b3f1a2-9c4d-4f6e-8a1b-3c5d7e9f0a2b", "type": "membership.deleted", "createdAt": "2026-12-05T14:40:03.007Z", "testMode": false, "data": { "object": { "id": "bd4a0997-39db-41d9-883a-cdfa83e2101f", "createdAt": "2026-11-03T10:15:41.870Z", "updatedAt": "2026-12-05T14:40:02.981Z", "validFrom": "2026-11-03", "validTo": "2027-11-03", "active": true, "autoRenew": false, "autoRenewed": false, "previousMembershipId": null, "renewal": false, "customerId": "8f14e45f-ceea-467a-9b5e-1d3c2a4b6e7f", "secondaryCustomerId": null, "order": { "id": "f0a52c7e-9e04-4bb4-bd38-1bb88e1dd0e4", "salesChannelType": "WEB" }, "extensions": [], "membershipType": { "id": "0c1de555-6f74-4a83-91b0-0f6594306ac1", "title": "Yearly", "cycle": "YEARLY", "price": 54000, "origin": "WEB" } } } }