event.item_updated
Sent when an existing event in a feed is updated.
When This Event Fires
- Event details change on the source website (time, location, description, etc.)
- Event status changes (cancelled, rescheduled, etc.)
- Additional information is discovered about an existing event
Event Data Schema
The data field in the webhook payload contains the following structure:
| Field | Type | Required | Description |
|---|---|---|---|
timestamp | number | Yes | Unix timestamp in milliseconds when the webhook was triggered |
feedId | string (uuid) | Yes | ID of the event feed that was updated |
id | string (uuid) | Yes | ID of the event feed item that was updated. Use with GET /feeds/events/{feedId}/items/{id} to fetch the full item. |
eventId | string (uuid) | Yes | ID of the event that was updated |
Example Payload
Complete example of a webhook payload for this event type:
{
"eventType": "event.item_updated",
"timestamp": 1704123456789,
"id": "456e7890-a12b-34c5-d678-901234567890",
"data": {
"timestamp": 1704123456789,
"feedId": "987e6543-e21b-12d3-a456-426614174111",
"id": "abc12345-6789-4abc-8def-fedcba987654",
"eventId": "123e4567-e89b-12d3-a456-426614174000"
}
}
Handling This Event
When you receive an event.item_updated webhook, fetch the current item data from the API using data.id (the event feed item identifier):
async function handleEventUpdated(feedId: string, itemId: string) {
// GET /feeds/events/{feedId}/items/{itemId}
const event = await helixApi.getFeedItem(feedId, itemId);
// Update your local copy
await database.events.update({
where: { helixEventFeedItemId: itemId },
data: mapToLocalEvent(event),
});
}
Important
The webhook payload is intentionally minimal. Always fetch the current event state from the API rather than relying on cached data. This ensures you have the most up-to-date information.
For information about HTTP headers, security verification, and retry policies, see the Webhooks Overview.
For complete documentation on event webhooks, see Events Webhooks.