Webhooks
Registration Events
LifeLoop emits registration events — a registration was created, waitlisted, or deleted. Webhook event for registration domain mutations. resourceId is the composite string "{activityId}:{userId}" (registrations have no standalone id — see RegistrationDTO). See registration.created, registration.waitlisted and registration.deleted for when each fires, including the v1.8 waitlist-promotion trigger (LIFELOOP-5812).
Events
| Event type | Triggered when |
|---|---|
| registration.created | Fired when a user registers for an activity with immediate status=registered, AND when a previously status=waitlisted resident registration is automatically promoted to registered after a cancellation frees a slot (LIFELOOP-5812). |
| registration.waitlisted | Fired when a resident registers for an activity that is already full, so the registration lands as status=waitlisted. |
| registration.deleted | Fired when a user cancels their registration for an activity, whether it was status=registered or status=waitlisted. |
What to do after receiving this event
- Check the
X-API-KEYheader. - Read
resourceIdfrom the payload — this is theregistrationId. - Call
GET /api/v1/{tenant}/activities/{activityId}/registrationsto fetch the full object. - Update your local data store.
- Return
HTTP 200.
Note: Fetch the registrations for the related activity and locate the record by resourceId.
Sample payloadregistration.created.json
{
"eventType": "registration.created",
"aggregateType": "registration",
"occurredAt": "2026-06-18T10:30:00Z",
"tenant": "sunrise-001",
"eventId": "f3a91bc2-4d12-4e88-a1c3-8f2901dd7c94",
"resourceId": "reg-001"
}Fetch the full objectbash
curl https://api.lifeloop.com/api/v1/sunrise-001/activities/act-001/registrations \
-H "Authorization: Bearer YOUR_SERVICE_TOKEN" \
-H "X-Acting-User-Id: ACTING_USER_ID" \
-H "X-Acting-User-Tenant: sunrise-001"