Webhooks
Photo Events
LifeLoop emits photo events — a photo was uploaded, updated, or deleted. Webhook event for photo domain mutations (uploaded, updated or deleted). resourceId is the photo ID — fetch the photo via GET /api/v1/{tenant}/photos/{resourceId}. Note: for photo.deleted events the photo will no longer be available via the API.
Events
| Event type | Triggered when |
|---|---|
| photo.uploaded | Fired when a new photo is added to a facility. |
| photo.updated | Fired when a photo is edited — in LifeLoop or through PUT /api/v1/{tenant}/photos/{photoId} — and at least one of these actually changed: tagged residents, caption, albums, tags or facilities. |
| photo.deleted | Fired when a photo is deleted from a facility. |
What to do after receiving this event
- Check the
X-API-KEYheader. - Read
resourceIdfrom the payload — this is thephotoId. - Call
GET /api/v1/{tenant}/photos/{resourceId}to fetch the full object. - Update your local data store.
- Return
HTTP 200.
Sample payloadphoto.uploaded.json
{
"eventType": "photo.uploaded",
"aggregateType": "photo",
"occurredAt": "2026-06-18T10:30:00Z",
"tenant": "sunrise-001",
"eventId": "f3a91bc2-4d12-4e88-a1c3-8f2901dd7c94",
"resourceId": "pho-001"
}Fetch the full objectbash
curl https://api.lifeloop.com/api/v1/sunrise-001/photos/pho-001 \
-H "Authorization: Bearer YOUR_SERVICE_TOKEN" \
-H "X-Acting-User-Id: ACTING_USER_ID" \
-H "X-Acting-User-Tenant: sunrise-001"